UNPKG

kepler.gl

Version:

kepler.gl is a webgl based application to visualize large scale location data in the browser

427 lines (420 loc) 55.6 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _locales = require("./locales"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } var _default = { property: { weight: 'painotus', label: 'nimiö', fillColor: 'täyttöväri', color: 'väri', strokeColor: 'viivan väri', radius: 'säde', outline: 'ääriviiva', stroke: 'viiva', density: 'tiheys', coverage: 'kattavuus', sum: 'summa', pointCount: 'pisteiden lukumäärä' }, placeholder: { search: 'Etsi', selectField: 'Valitse kenttä', yAxis: 'Y-akseli', selectType: 'Valitse tyyppi', selectValue: 'Valitse arvo', enterValue: 'Anna arvo', empty: 'tyhjä' }, misc: { by: '', valuesIn: 'Arvot joukossa:', valueEquals: 'Arvo on yhtäsuuri kuin', dataSource: 'Aineistolähde', brushRadius: 'Harjan säde (km)', empty: ' ' }, mapLayers: { title: 'Kartan tasot', label: 'Nimiöt', road: 'Tiet', border: 'Rajat', building: 'Rakennukset', water: 'Vesi', land: 'Maa', '3dBuilding': '3d-rakennukset' }, panel: { text: { label: 'Nimiö', labelWithId: 'Nimiö {labelId}', fontSize: 'Fontin koko', fontColor: 'Fontin väri', textAnchor: 'Tekstin ankkuri', alignment: 'Sijoittelu', addMoreLabel: 'Lisää uusia nimiöitä' } }, sidebar: { panels: { layer: 'Tasot', filter: 'Suodattimet', interaction: 'Interaktiot', basemap: 'Taustakartta' } }, layer: { required: 'Pakollinen*', radius: 'Säde', weight: 'Painotus', propertyBasedOn: '{property} perustuen arvoon', color: 'Väri', fillColor: 'Täytön väri', outline: 'ääriviiva', coverage: 'Kattavuus', stroke: 'Viiva', strokeWidth: 'Viivan paksuus', strokeColor: 'Viivan väri', basic: 'Perus', trailLength: 'Jäljen pituus', trailLengthDescription: 'Jäljen kesto sekunteina, ennenkuin se himmenee näkyvistä', newLayer: 'uusi taso', elevationByDescription: 'Kun asetus on pois päältä, korkeus perustuu pisteiden määrään', colorByDescription: 'Kun asetus on pois päältä, väri perustuu pisteiden määrään', aggregateBy: 'Aggregoi kenttä {field} by', '3DModel': '3D-malli', '3DModelOptions': '3D-mallin asetukset', type: { point: 'piste', arc: 'kaari', line: 'viiva', grid: 'ruudukko', hexbin: 'hexbin', polygon: 'polygoni', geojson: 'geojson', cluster: 'klusteri', icon: 'kuva', heatmap: 'lämpökartta', hexagon: 'kuusikulmio', hexagonid: 'H3', trip: 'matka', s2: 'S2', '3d': '3D' } }, layerVisConfigs: { strokeWidth: 'Viivan paksuus', strokeWidthRange: 'Viivan paksuuden rajat', radius: 'Säde', fixedRadius: 'Vakiosäde metreinä', fixedRadiusDescription: 'Kartan säde absoluuttiseksi säteeksi metreinä, esim. 5 -> 5 metriin', radiusRange: 'Säteen rajat', clusterRadius: 'Klusterien säde pikseleinä', radiusRangePixels: 'Säteen rajat pikseleinä', opacity: 'Läpinäkyvyys', coverage: 'Kattavuus', outline: 'Ääriviiva', colorRange: 'Värien rajat', stroke: 'Viiva', strokeColor: 'Viivan väri', strokeColorRange: 'Viivan värin rajat', targetColor: 'Kohteen väri', colorAggregation: 'Värien aggregointi', heightAggregation: 'Korkeuden aggregointi', resolutionRange: 'Resoluution rajat', sizeScale: 'Koon skaala', worldUnitSize: 'Yksikkö', elevationScale: 'Korottamisen skaala', enableElevationZoomFactor: 'Käytä korkeuden zoomauskerrointa', enableElevationZoomFactorDescription: 'Säädä korkeus / korkeus nykyisen zoomauskertoimen perusteella', enableHeightZoomFactor: 'Käytä korkeuden zoomauskerrointa', heightScale: 'Korkeuden skaala', coverageRange: 'Peittävyyden rajat', highPrecisionRendering: 'Tarkka renderöinti', highPrecisionRenderingDescription: 'Tarkka renderöinti johtaa hitaampaan suorittamiseen', height: 'Korkeus', heightDescription: 'Klikkaa oikeasta ylänurkasta nappia vaihtaaksesi 3D-näkymään', fill: 'Täyttö', enablePolygonHeight: 'Salli polygonien korkeus', showWireframe: 'Näytä rautalankamalli', weightIntensity: 'Painotuksen intensiteetti', zoomScale: 'Zoomausskaala', heightRange: 'Korkeuden rajat', heightMultiplier: 'Korkeuskerroin' }, layerManager: { addData: 'Lisää aineisto', addLayer: 'Lisää taso', layerBlending: 'Tasojen sekoittuvuus' }, mapManager: { mapStyle: 'Kartan tyyli', addMapStyle: 'Lisää tyyli kartalle', '3dBuildingColor': '3D-rakennusten väri' }, layerConfiguration: { defaultDescription: 'Laske suureen {property} arvo valitun kentän perusteella', howTo: 'Miten toimii' }, filterManager: { addFilter: 'Lisää suodatin' }, datasetTitle: { showDataTable: 'Näytä attribuuttitaulu', removeDataset: 'Poista aineisto' }, datasetInfo: { rowCount: '{rowCount} riviä' }, tooltip: { hideLayer: 'Piilota taso', showLayer: 'Näytä taso', hideFeature: 'Piilota kohde', showFeature: 'Näytä kohde', hide: 'piilota', show: 'näytä', removeLayer: 'Poista taso', layerSettings: 'Tason asetukset', closePanel: 'Sulje paneeli', switchToDualView: 'Vaihda kaksoiskarrtanäkymään', showLegend: 'Näytä selite', disable3DMap: 'Poistu 3D-näkymästä', DrawOnMap: 'Piirrä kartalle', selectLocale: 'Valitse kielisyys', hideLayerPanel: 'Piilota tasopaneeli', showLayerPanel: 'Näytä tasopaneeli', moveToTop: 'Siirrä tasojen päällimmäiseksi', selectBaseMapStyle: 'Valitse taustakarttatyyli', "delete": 'Poista', timePlayback: 'Ajan animointi', cloudStorage: 'Pilvitallennus', '3DMap': '3D-näkymä' }, toolbar: _objectSpread({ exportImage: 'Vie kuva', exportData: 'Vie aineistot', exportMap: 'Vie kartta', shareMapURL: 'Jaa kartan URL', saveMap: 'Tallenna kartta', select: 'valitse', polygon: 'polygoni', rectangle: 'nelikulmio', hide: 'piilota', show: 'näytä' }, _locales.LOCALES), modal: { title: { deleteDataset: 'Poista aineisto', addDataToMap: 'Lisää aineistoja kartalle', exportImage: 'Vie kuva', exportData: 'Vie aineistot', exportMap: 'Vie kartta', addCustomMapboxStyle: 'Lisää oma Mapbox-tyyli', saveMap: 'Tallenna kartta', shareURL: 'Jaa URL' }, button: { "delete": 'Poista', download: 'Lataa', "export": 'Vie', addStyle: 'Lisää tyyli', save: 'Tallenna', defaultCancel: 'Peru', defaultConfirm: 'Vahvista' }, exportImage: { ratioTitle: 'Kuvasuhde', ratioDescription: 'Valitse sopiva kuvasuhde käyttötapaustasi varten.', ratioOriginalScreen: 'Alkuperäinen näyttö', ratioCustom: 'Kustomoitu', ratio4_3: '4:3', ratio16_9: '16:9', resolutionTitle: 'Resoluutio', resolutionDescription: 'Korkea resoluutio on parempi tulostamista varten.', mapLegendTitle: 'Kartan selite', mapLegendAdd: 'Lisää selite karttaan' }, exportData: { datasetTitle: 'Aineistot', datasetSubtitle: 'Valitse aineisto, jonka aiot viedä', allDatasets: 'Kaikki', dataTypeTitle: 'Aineistojen formaatti', dataTypeSubtitle: 'Valitse aineistoformaatti valitsemillesi aineistoille', filterDataTitle: 'Suodata aineistoja', filterDataSubtitle: 'Voit viedä joko alkuperäiset aineistot tai suodatetut aineistot', filteredData: 'Suodatetut aineistot', unfilteredData: 'Suodattamattomat aineistot', fileCount: '{fileCount} tiedostoa', rowCount: '{rowCount} riviä' }, deleteData: { warning: 'aiot poistaa tämän aineiston. Aineostoa käyttävien tasojen lukumäärä: {length}' }, addStyle: { publishTitle: '1. Julkaise tyylisi Mapboxissa tai anna tunniste', publishSubtitle1: 'Voit luoda oman karttatyylisi sivulla', publishSubtitle2: 'ja', publishSubtitle3: 'julkaista', publishSubtitle4: 'sen.', publishSubtitle5: 'Käyttääksesi yksityistä tyyliä, liitä', publishSubtitle6: 'tunnisteesi', publishSubtitle7: 'tänne. *kepler.gl on client-side sovellus, data pysyy vain selaimessasi...', exampleToken: 'esim. pk.abcdefg.xxxxxx', pasteTitle: '2. Liitä tyyli-URL', pasteSubtitle1: 'Mikä on', pasteSubtitle2: 'tyyli-URL?', namingTitle: '3. Nimeä tyylisi' }, shareMap: { shareUriTitle: 'Jaa kartan URL', shareUriSubtitle: 'Luo kartalle URL, jonka voit jakaa muiden kanssa', cloudTitle: 'Pilvitallennus', cloudSubtitle: 'Kirjaudu sisään ja lataa kartta ja aineistot henkilökohtaiseen pilvipalveluun', shareDisclaimer: 'kepler.gl tallentaa kartan datan henkilökohtaiseen pilvitallennustilaasi, vain ihmiset, joilla on URL, voivat päästä käsiksi karttaan ja aineistoihin. ' + 'Voit muokata tiedostoja tai poistaa ne pilvipalvelustasi milloin vain.', gotoPage: 'Mene Kepler.gl {currentProvider} sivullesi' }, statusPanel: { mapUploading: 'Karttaa ladataan', error: 'Virhe' }, saveMap: { title: 'Pilvitallennus', subtitle: 'Kirjaudu sisään pilvipalveluusi tallentaaksesi kartan' }, exportMap: { formatTitle: 'Kartan formaatti', formatSubtitle: 'Valitse formaatti, jossa viet kartan', html: { selection: 'Vie kartta interaktiivisena html-tiedostona', tokenTitle: 'Mapbox-tunniste', tokenSubtitle: 'Käytä omaa Mapbox-tunnistettasi html-tiedostossa (valinnainen)', tokenPlaceholder: 'Liitä Mapbox-tunnisteesi', tokenMisuseWarning: '* Jos et käytä omaa tunnistettasi, kartta voi lakata toimimasta milloin vain kun vaihdamme omaa tunnistettamme väärinkäytön estämiseksi. ', tokenDisclaimer: 'Voit vaihtaa Mapbox-tunnisteesi näiden ohjeiden avulla: ', tokenUpdate: 'Kuinka vaihtaa olemassaoleva Mapbox-tunniste', modeTitle: 'Kartan tila', modeSubtitle1: 'Valitse kartan tila.', modeSubtitle2: 'Lisätietoja', modeDescription: 'Anna käyttäjien {mode} karttaa', read: 'lukea', edit: 'muokata' }, json: { configTitle: 'Kartan asetukset', configDisclaimer: 'Kartan asetukset sisältyvät Json-tiedostoon. Jos käytät kirjastoa kepler.gl omassa sovelluksessasi. Voit kopioida asetukset ja antaa ne funktiolle: ', selection: 'Vie kyseisen kartan aineistot ja asetukset yhdessä json-tiedostossa. Voit myöhemmin avata saman kartan lataamalla tiedoston kepler.gl:n', disclaimer: '* Kartan asetukset ovat sidoksissa ladattuihin aineistoihin. Arvoa ‘dataId’ käytetään tasojen, suodattimien ja vihjeiden liittämiseksi tiettyyn aineistoon. ' + 'Varmista, että aineiston dataId:t vastaavat asetusten arvoja jos lataat asetukset käyttäen `addDataToMap`-funktiolle.' } }, loadingDialog: { loading: 'Ladataan...' }, loadData: { upload: 'Lataa tiedostot', storage: 'Lataa tallennustilasta' }, tripInfo: { title: 'Kuinka käyttää matka-animaatiota', description1: 'Reitin animoimiseksi geoJSON-aineiston täytyy olla geometriatyypiltään `LineString`, LineString-koordinaattien täytyy sisältää 4 elementtiä formaatissa:', code: ' [pituusaste, leveysaste, korkeus, aikaleima] ', description2: 'siten, että viimeinen elementti on aikaleima. Aikaleima voi olla muodoltaan unix-sekunteja, kuten `1564184363` tai millisekunteja, kuten `1564184363000`.', example: 'Esimerkki:' }, iconInfo: { title: 'Miten piirtää kuvia', description1: 'csv-tiedostossasi, luo sarake nimeltä icon. Voit jättää sen tyhjäksi jos et halua piirtää kuvaa joillain pisteillä. Kun sarakkeen nimi on ', code: 'icon', description2: ' kepler.gl luo automaattisesti kuvatason sinua varten.', example: 'Esimerkki:', icons: 'Kuvat' }, storageMapViewer: { lastModified: 'Viimeksi muokattu {lastUpdated} sitten', back: 'Takaisin' }, overwriteMap: { title: 'Tallennetaan karttaa...', alreadyExists: 'on jo {mapSaved}:ssa. Haluatko ylikirjoittaa sen?' }, loadStorageMap: { back: 'Takaisin', goToPage: 'Mene Kepler.gl {displayName} sivullesi', storageMaps: 'Tallennus / Kartat', noSavedMaps: 'Ei tallennettuja karttoja vielä' } }, header: { visibleLayers: 'Näkyvissä olevat tasot', layerLegend: 'Tason selite' }, interactions: { tooltip: 'Vihje', brush: 'Harja', coordinate: 'Koordinaatit' }, layerBlending: { title: 'Tasojen sekoittuvuus', additive: 'lisäävä', normal: 'normaali', subtractive: 'vähentävä' }, columns: { title: 'Sarakkeet', lat: 'lat', lng: 'lng', altitude: 'korkeus', icon: 'kuva', geojson: 'geojson', arc: { lat0: 'lähdön lat', lng0: 'lähdön lng', lat1: 'kohteen lat', lng1: 'kohteen lng' }, line: { alt0: 'lähteen korkeus', alt1: 'kohde korkeus' }, grid: { worldUnitSize: 'Ruutujen koko (km)' }, hexagon: { worldUnitSize: 'Hexagonien säde (km)' } }, color: { customPalette: 'Mukautettu paletti', steps: 'askeleet', type: 'tyyppi', reversed: 'käänteinen' }, scale: { colorScale: 'Värin skaala', sizeScale: 'Koon skaala', strokeScale: 'Viivan paksuuden skaala', scale: 'Skaala' }, fileUploader: { message: 'Raahaa ja pudota tiedostosi tänne', chromeMessage: '*Chromen käyttäjä: Rajoita tiedostokokosi 250Mb:hen. Jos haluat suurempia tiedostoja, kokeile Safaria', disclaimer: '*kepler.gl on client-side sovellus, data pysyy vain selaimessasi...' + 'Tietoja ei lähetetä palvelimelle.', configUploadMessage: 'Lisää {fileFormatNames} tai tallennettu kartta **Json**. Lue lisää [**tuetuista formaateista**]', browseFiles: 'selaa tiedostojasi', uploading: 'ladataan', fileNotSupported: 'Tiedosto {errorFiles} ei ole tuettu.', or: 'tai' }, density: 'tiheys', 'Bug Report': 'Bugiraportointi', 'User Guide': 'Opas', Save: 'Tallenna', Share: 'Jaa' }; exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vZmkuanMiXSwibmFtZXMiOlsicHJvcGVydHkiLCJ3ZWlnaHQiLCJsYWJlbCIsImZpbGxDb2xvciIsImNvbG9yIiwic3Ryb2tlQ29sb3IiLCJyYWRpdXMiLCJvdXRsaW5lIiwic3Ryb2tlIiwiZGVuc2l0eSIsImNvdmVyYWdlIiwic3VtIiwicG9pbnRDb3VudCIsInBsYWNlaG9sZGVyIiwic2VhcmNoIiwic2VsZWN0RmllbGQiLCJ5QXhpcyIsInNlbGVjdFR5cGUiLCJzZWxlY3RWYWx1ZSIsImVudGVyVmFsdWUiLCJlbXB0eSIsIm1pc2MiLCJieSIsInZhbHVlc0luIiwidmFsdWVFcXVhbHMiLCJkYXRhU291cmNlIiwiYnJ1c2hSYWRpdXMiLCJtYXBMYXllcnMiLCJ0aXRsZSIsInJvYWQiLCJib3JkZXIiLCJidWlsZGluZyIsIndhdGVyIiwibGFuZCIsInBhbmVsIiwidGV4dCIsImxhYmVsV2l0aElkIiwiZm9udFNpemUiLCJmb250Q29sb3IiLCJ0ZXh0QW5jaG9yIiwiYWxpZ25tZW50IiwiYWRkTW9yZUxhYmVsIiwic2lkZWJhciIsInBhbmVscyIsImxheWVyIiwiZmlsdGVyIiwiaW50ZXJhY3Rpb24iLCJiYXNlbWFwIiwicmVxdWlyZWQiLCJwcm9wZXJ0eUJhc2VkT24iLCJzdHJva2VXaWR0aCIsImJhc2ljIiwidHJhaWxMZW5ndGgiLCJ0cmFpbExlbmd0aERlc2NyaXB0aW9uIiwibmV3TGF5ZXIiLCJlbGV2YXRpb25CeURlc2NyaXB0aW9uIiwiY29sb3JCeURlc2NyaXB0aW9uIiwiYWdncmVnYXRlQnkiLCJ0eXBlIiwicG9pbnQiLCJhcmMiLCJsaW5lIiwiZ3JpZCIsImhleGJpbiIsInBvbHlnb24iLCJnZW9qc29uIiwiY2x1c3RlciIsImljb24iLCJoZWF0bWFwIiwiaGV4YWdvbiIsImhleGFnb25pZCIsInRyaXAiLCJzMiIsImxheWVyVmlzQ29uZmlncyIsInN0cm9rZVdpZHRoUmFuZ2UiLCJmaXhlZFJhZGl1cyIsImZpeGVkUmFkaXVzRGVzY3JpcHRpb24iLCJyYWRpdXNSYW5nZSIsImNsdXN0ZXJSYWRpdXMiLCJyYWRpdXNSYW5nZVBpeGVscyIsIm9wYWNpdHkiLCJjb2xvclJhbmdlIiwic3Ryb2tlQ29sb3JSYW5nZSIsInRhcmdldENvbG9yIiwiY29sb3JBZ2dyZWdhdGlvbiIsImhlaWdodEFnZ3JlZ2F0aW9uIiwicmVzb2x1dGlvblJhbmdlIiwic2l6ZVNjYWxlIiwid29ybGRVbml0U2l6ZSIsImVsZXZhdGlvblNjYWxlIiwiZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvciIsImVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3JEZXNjcmlwdGlvbiIsImVuYWJsZUhlaWdodFpvb21GYWN0b3IiLCJoZWlnaHRTY2FsZSIsImNvdmVyYWdlUmFuZ2UiLCJoaWdoUHJlY2lzaW9uUmVuZGVyaW5nIiwiaGlnaFByZWNpc2lvblJlbmRlcmluZ0Rlc2NyaXB0aW9uIiwiaGVpZ2h0IiwiaGVpZ2h0RGVzY3JpcHRpb24iLCJmaWxsIiwiZW5hYmxlUG9seWdvbkhlaWdodCIsInNob3dXaXJlZnJhbWUiLCJ3ZWlnaHRJbnRlbnNpdHkiLCJ6b29tU2NhbGUiLCJoZWlnaHRSYW5nZSIsImhlaWdodE11bHRpcGxpZXIiLCJsYXllck1hbmFnZXIiLCJhZGREYXRhIiwiYWRkTGF5ZXIiLCJsYXllckJsZW5kaW5nIiwibWFwTWFuYWdlciIsIm1hcFN0eWxlIiwiYWRkTWFwU3R5bGUiLCJsYXllckNvbmZpZ3VyYXRpb24iLCJkZWZhdWx0RGVzY3JpcHRpb24iLCJob3dUbyIsImZpbHRlck1hbmFnZXIiLCJhZGRGaWx0ZXIiLCJkYXRhc2V0VGl0bGUiLCJzaG93RGF0YVRhYmxlIiwicmVtb3ZlRGF0YXNldCIsImRhdGFzZXRJbmZvIiwicm93Q291bnQiLCJ0b29sdGlwIiwiaGlkZUxheWVyIiwic2hvd0xheWVyIiwiaGlkZUZlYXR1cmUiLCJzaG93RmVhdHVyZSIsImhpZGUiLCJzaG93IiwicmVtb3ZlTGF5ZXIiLCJsYXllclNldHRpbmdzIiwiY2xvc2VQYW5lbCIsInN3aXRjaFRvRHVhbFZpZXciLCJzaG93TGVnZW5kIiwiZGlzYWJsZTNETWFwIiwiRHJhd09uTWFwIiwic2VsZWN0TG9jYWxlIiwiaGlkZUxheWVyUGFuZWwiLCJzaG93TGF5ZXJQYW5lbCIsIm1vdmVUb1RvcCIsInNlbGVjdEJhc2VNYXBTdHlsZSIsInRpbWVQbGF5YmFjayIsImNsb3VkU3RvcmFnZSIsInRvb2xiYXIiLCJleHBvcnRJbWFnZSIsImV4cG9ydERhdGEiLCJleHBvcnRNYXAiLCJzaGFyZU1hcFVSTCIsInNhdmVNYXAiLCJzZWxlY3QiLCJyZWN0YW5nbGUiLCJMT0NBTEVTIiwibW9kYWwiLCJkZWxldGVEYXRhc2V0IiwiYWRkRGF0YVRvTWFwIiwiYWRkQ3VzdG9tTWFwYm94U3R5bGUiLCJzaGFyZVVSTCIsImJ1dHRvbiIsImRvd25sb2FkIiwiYWRkU3R5bGUiLCJzYXZlIiwiZGVmYXVsdENhbmNlbCIsImRlZmF1bHRDb25maXJtIiwicmF0aW9UaXRsZSIsInJhdGlvRGVzY3JpcHRpb24iLCJyYXRpb09yaWdpbmFsU2NyZWVuIiwicmF0aW9DdXN0b20iLCJyYXRpbzRfMyIsInJhdGlvMTZfOSIsInJlc29sdXRpb25UaXRsZSIsInJlc29sdXRpb25EZXNjcmlwdGlvbiIsIm1hcExlZ2VuZFRpdGxlIiwibWFwTGVnZW5kQWRkIiwiZGF0YXNldFN1YnRpdGxlIiwiYWxsRGF0YXNldHMiLCJkYXRhVHlwZVRpdGxlIiwiZGF0YVR5cGVTdWJ0aXRsZSIsImZpbHRlckRhdGFUaXRsZSIsImZpbHRlckRhdGFTdWJ0aXRsZSIsImZpbHRlcmVkRGF0YSIsInVuZmlsdGVyZWREYXRhIiwiZmlsZUNvdW50IiwiZGVsZXRlRGF0YSIsIndhcm5pbmciLCJwdWJsaXNoVGl0bGUiLCJwdWJsaXNoU3VidGl0bGUxIiwicHVibGlzaFN1YnRpdGxlMiIsInB1Ymxpc2hTdWJ0aXRsZTMiLCJwdWJsaXNoU3VidGl0bGU0IiwicHVibGlzaFN1YnRpdGxlNSIsInB1Ymxpc2hTdWJ0aXRsZTYiLCJwdWJsaXNoU3VidGl0bGU3IiwiZXhhbXBsZVRva2VuIiwicGFzdGVUaXRsZSIsInBhc3RlU3VidGl0bGUxIiwicGFzdGVTdWJ0aXRsZTIiLCJuYW1pbmdUaXRsZSIsInNoYXJlTWFwIiwic2hhcmVVcmlUaXRsZSIsInNoYXJlVXJpU3VidGl0bGUiLCJjbG91ZFRpdGxlIiwiY2xvdWRTdWJ0aXRsZSIsInNoYXJlRGlzY2xhaW1lciIsImdvdG9QYWdlIiwic3RhdHVzUGFuZWwiLCJtYXBVcGxvYWRpbmciLCJlcnJvciIsInN1YnRpdGxlIiwiZm9ybWF0VGl0bGUiLCJmb3JtYXRTdWJ0aXRsZSIsImh0bWwiLCJzZWxlY3Rpb24iLCJ0b2tlblRpdGxlIiwidG9rZW5TdWJ0aXRsZSIsInRva2VuUGxhY2Vob2xkZXIiLCJ0b2tlbk1pc3VzZVdhcm5pbmciLCJ0b2tlbkRpc2NsYWltZXIiLCJ0b2tlblVwZGF0ZSIsIm1vZGVUaXRsZSIsIm1vZGVTdWJ0aXRsZTEiLCJtb2RlU3VidGl0bGUyIiwibW9kZURlc2NyaXB0aW9uIiwicmVhZCIsImVkaXQiLCJqc29uIiwiY29uZmlnVGl0bGUiLCJjb25maWdEaXNjbGFpbWVyIiwiZGlzY2xhaW1lciIsImxvYWRpbmdEaWFsb2ciLCJsb2FkaW5nIiwibG9hZERhdGEiLCJ1cGxvYWQiLCJzdG9yYWdlIiwidHJpcEluZm8iLCJkZXNjcmlwdGlvbjEiLCJjb2RlIiwiZGVzY3JpcHRpb24yIiwiZXhhbXBsZSIsImljb25JbmZvIiwiaWNvbnMiLCJzdG9yYWdlTWFwVmlld2VyIiwibGFzdE1vZGlmaWVkIiwiYmFjayIsIm92ZXJ3cml0ZU1hcCIsImFscmVhZHlFeGlzdHMiLCJsb2FkU3RvcmFnZU1hcCIsImdvVG9QYWdlIiwic3RvcmFnZU1hcHMiLCJub1NhdmVkTWFwcyIsImhlYWRlciIsInZpc2libGVMYXllcnMiLCJsYXllckxlZ2VuZCIsImludGVyYWN0aW9ucyIsImJydXNoIiwiY29vcmRpbmF0ZSIsImFkZGl0aXZlIiwibm9ybWFsIiwic3VidHJhY3RpdmUiLCJjb2x1bW5zIiwibGF0IiwibG5nIiwiYWx0aXR1ZGUiLCJsYXQwIiwibG5nMCIsImxhdDEiLCJsbmcxIiwiYWx0MCIsImFsdDEiLCJjdXN0b21QYWxldHRlIiwic3RlcHMiLCJyZXZlcnNlZCIsInNjYWxlIiwiY29sb3JTY2FsZSIsInN0cm9rZVNjYWxlIiwiZmlsZVVwbG9hZGVyIiwibWVzc2FnZSIsImNocm9tZU1lc3NhZ2UiLCJjb25maWdVcGxvYWRNZXNzYWdlIiwiYnJvd3NlRmlsZXMiLCJ1cGxvYWRpbmciLCJmaWxlTm90U3VwcG9ydGVkIiwib3IiLCJTYXZlIiwiU2hhcmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBb0JBOzs7Ozs7ZUFFZTtBQUNiQSxFQUFBQSxRQUFRLEVBQUU7QUFDUkMsSUFBQUEsTUFBTSxFQUFFLFVBREE7QUFFUkMsSUFBQUEsS0FBSyxFQUFFLE9BRkM7QUFHUkMsSUFBQUEsU0FBUyxFQUFFLFlBSEg7QUFJUkMsSUFBQUEsS0FBSyxFQUFFLE1BSkM7QUFLUkMsSUFBQUEsV0FBVyxFQUFFLGFBTEw7QUFNUkMsSUFBQUEsTUFBTSxFQUFFLE1BTkE7QUFPUkMsSUFBQUEsT0FBTyxFQUFFLFdBUEQ7QUFRUkMsSUFBQUEsTUFBTSxFQUFFLE9BUkE7QUFTUkMsSUFBQUEsT0FBTyxFQUFFLFFBVEQ7QUFVUkMsSUFBQUEsUUFBUSxFQUFFLFdBVkY7QUFXUkMsSUFBQUEsR0FBRyxFQUFFLE9BWEc7QUFZUkMsSUFBQUEsVUFBVSxFQUFFO0FBWkosR0FERztBQWViQyxFQUFBQSxXQUFXLEVBQUU7QUFDWEMsSUFBQUEsTUFBTSxFQUFFLE1BREc7QUFFWEMsSUFBQUEsV0FBVyxFQUFFLGdCQUZGO0FBR1hDLElBQUFBLEtBQUssRUFBRSxVQUhJO0FBSVhDLElBQUFBLFVBQVUsRUFBRSxnQkFKRDtBQUtYQyxJQUFBQSxXQUFXLEVBQUUsY0FMRjtBQU1YQyxJQUFBQSxVQUFVLEVBQUUsV0FORDtBQU9YQyxJQUFBQSxLQUFLLEVBQUU7QUFQSSxHQWZBO0FBd0JiQyxFQUFBQSxJQUFJLEVBQUU7QUFDSkMsSUFBQUEsRUFBRSxFQUFFLEVBREE7QUFFSkMsSUFBQUEsUUFBUSxFQUFFLGlCQUZOO0FBR0pDLElBQUFBLFdBQVcsRUFBRSx3QkFIVDtBQUlKQyxJQUFBQSxVQUFVLEVBQUUsZUFKUjtBQUtKQyxJQUFBQSxXQUFXLEVBQUUsa0JBTFQ7QUFNSk4sSUFBQUEsS0FBSyxFQUFFO0FBTkgsR0F4Qk87QUFnQ2JPLEVBQUFBLFNBQVMsRUFBRTtBQUNUQyxJQUFBQSxLQUFLLEVBQUUsY0FERTtBQUVUMUIsSUFBQUEsS0FBSyxFQUFFLFFBRkU7QUFHVDJCLElBQUFBLElBQUksRUFBRSxNQUhHO0FBSVRDLElBQUFBLE1BQU0sRUFBRSxPQUpDO0FBS1RDLElBQUFBLFFBQVEsRUFBRSxhQUxEO0FBTVRDLElBQUFBLEtBQUssRUFBRSxNQU5FO0FBT1RDLElBQUFBLElBQUksRUFBRSxLQVBHO0FBUVQsa0JBQWM7QUFSTCxHQWhDRTtBQTBDYkMsRUFBQUEsS0FBSyxFQUFFO0FBQ0xDLElBQUFBLElBQUksRUFBRTtBQUNKakMsTUFBQUEsS0FBSyxFQUFFLE9BREg7QUFFSmtDLE1BQUFBLFdBQVcsRUFBRSxpQkFGVDtBQUdKQyxNQUFBQSxRQUFRLEVBQUUsYUFITjtBQUlKQyxNQUFBQSxTQUFTLEVBQUUsYUFKUDtBQUtKQyxNQUFBQSxVQUFVLEVBQUUsaUJBTFI7QUFNSkMsTUFBQUEsU0FBUyxFQUFFLFlBTlA7QUFPSkMsTUFBQUEsWUFBWSxFQUFFO0FBUFY7QUFERCxHQTFDTTtBQXFEYkMsRUFBQUEsT0FBTyxFQUFFO0FBQ1BDLElBQUFBLE1BQU0sRUFBRTtBQUNOQyxNQUFBQSxLQUFLLEVBQUUsT0FERDtBQUVOQyxNQUFBQSxNQUFNLEVBQUUsYUFGRjtBQUdOQyxNQUFBQSxXQUFXLEVBQUUsYUFIUDtBQUlOQyxNQUFBQSxPQUFPLEVBQUU7QUFKSDtBQURELEdBckRJO0FBNkRiSCxFQUFBQSxLQUFLLEVBQUU7QUFDTEksSUFBQUEsUUFBUSxFQUFFLGFBREw7QUFFTDFDLElBQUFBLE1BQU0sRUFBRSxNQUZIO0FBR0xMLElBQUFBLE1BQU0sRUFBRSxVQUhIO0FBSUxnRCxJQUFBQSxlQUFlLEVBQUUsNkJBSlo7QUFLTDdDLElBQUFBLEtBQUssRUFBRSxNQUxGO0FBTUxELElBQUFBLFNBQVMsRUFBRSxhQU5OO0FBT0xJLElBQUFBLE9BQU8sRUFBRSxXQVBKO0FBUUxHLElBQUFBLFFBQVEsRUFBRSxXQVJMO0FBU0xGLElBQUFBLE1BQU0sRUFBRSxPQVRIO0FBVUwwQyxJQUFBQSxXQUFXLEVBQUUsZ0JBVlI7QUFXTDdDLElBQUFBLFdBQVcsRUFBRSxhQVhSO0FBWUw4QyxJQUFBQSxLQUFLLEVBQUUsT0FaRjtBQWFMQyxJQUFBQSxXQUFXLEVBQUUsZUFiUjtBQWNMQyxJQUFBQSxzQkFBc0IsRUFBRSwwREFkbkI7QUFlTEMsSUFBQUEsUUFBUSxFQUFFLFdBZkw7QUFnQkxDLElBQUFBLHNCQUFzQixFQUFFLCtEQWhCbkI7QUFpQkxDLElBQUFBLGtCQUFrQixFQUFFLDREQWpCZjtBQWtCTEMsSUFBQUEsV0FBVyxFQUFFLDRCQWxCUjtBQW1CTCxlQUFXLFVBbkJOO0FBb0JMLHNCQUFrQixxQkFwQmI7QUFxQkxDLElBQUFBLElBQUksRUFBRTtBQUNKQyxNQUFBQSxLQUFLLEVBQUUsT0FESDtBQUVKQyxNQUFBQSxHQUFHLEVBQUUsT0FGRDtBQUdKQyxNQUFBQSxJQUFJLEVBQUUsT0FIRjtBQUlKQyxNQUFBQSxJQUFJLEVBQUUsVUFKRjtBQUtKQyxNQUFBQSxNQUFNLEVBQUUsUUFMSjtBQU1KQyxNQUFBQSxPQUFPLEVBQUUsVUFOTDtBQU9KQyxNQUFBQSxPQUFPLEVBQUUsU0FQTDtBQVFKQyxNQUFBQSxPQUFPLEVBQUUsVUFSTDtBQVNKQyxNQUFBQSxJQUFJLEVBQUUsTUFURjtBQVVKQyxNQUFBQSxPQUFPLEVBQUUsYUFWTDtBQVdKQyxNQUFBQSxPQUFPLEVBQUUsYUFYTDtBQVlKQyxNQUFBQSxTQUFTLEVBQUUsSUFaUDtBQWFKQyxNQUFBQSxJQUFJLEVBQUUsT0FiRjtBQWNKQyxNQUFBQSxFQUFFLEVBQUUsSUFkQTtBQWVKLFlBQU07QUFmRjtBQXJCRCxHQTdETTtBQW9HYkMsRUFBQUEsZUFBZSxFQUFFO0FBQ2Z2QixJQUFBQSxXQUFXLEVBQUUsZ0JBREU7QUFFZndCLElBQUFBLGdCQUFnQixFQUFFLHdCQUZIO0FBR2ZwRSxJQUFBQSxNQUFNLEVBQUUsTUFITztBQUlmcUUsSUFBQUEsV0FBVyxFQUFFLG9CQUpFO0FBS2ZDLElBQUFBLHNCQUFzQixFQUFFLHFFQUxUO0FBTWZDLElBQUFBLFdBQVcsRUFBRSxjQU5FO0FBT2ZDLElBQUFBLGFBQWEsRUFBRSw0QkFQQTtBQVFmQyxJQUFBQSxpQkFBaUIsRUFBRSx5QkFSSjtBQVNmQyxJQUFBQSxPQUFPLEVBQUUsY0FUTTtBQVVmdEUsSUFBQUEsUUFBUSxFQUFFLFdBVks7QUFXZkgsSUFBQUEsT0FBTyxFQUFFLFdBWE07QUFZZjBFLElBQUFBLFVBQVUsRUFBRSxjQVpHO0FBYWZ6RSxJQUFBQSxNQUFNLEVBQUUsT0FiTztBQWNmSCxJQUFBQSxXQUFXLEVBQUUsYUFkRTtBQWVmNkUsSUFBQUEsZ0JBQWdCLEVBQUUsb0JBZkg7QUFnQmZDLElBQUFBLFdBQVcsRUFBRSxjQWhCRTtBQWlCZkMsSUFBQUEsZ0JBQWdCLEVBQUUsb0JBakJIO0FBa0JmQyxJQUFBQSxpQkFBaUIsRUFBRSx1QkFsQko7QUFtQmZDLElBQUFBLGVBQWUsRUFBRSxtQkFuQkY7QUFvQmZDLElBQUFBLFNBQVMsRUFBRSxhQXBCSTtBQXFCZkMsSUFBQUEsYUFBYSxFQUFFLFNBckJBO0FBc0JmQyxJQUFBQSxjQUFjLEVBQUUscUJBdEJEO0FBdUJmQyxJQUFBQSx5QkFBeUIsRUFBRSxrQ0F2Qlo7QUF3QmZDLElBQUFBLG9DQUFvQyxFQUNsQywrREF6QmE7QUEwQmZDLElBQUFBLHNCQUFzQixFQUFFLGtDQTFCVDtBQTJCZkMsSUFBQUEsV0FBVyxFQUFFLGtCQTNCRTtBQTRCZkMsSUFBQUEsYUFBYSxFQUFFLG9CQTVCQTtBQTZCZkMsSUFBQUEsc0JBQXNCLEVBQUUsb0JBN0JUO0FBOEJmQyxJQUFBQSxpQ0FBaUMsRUFBRSxxREE5QnBCO0FBK0JmQyxJQUFBQSxNQUFNLEVBQUUsU0EvQk87QUFnQ2ZDLElBQUFBLGlCQUFpQixFQUFFLDhEQWhDSjtBQWlDZkMsSUFBQUEsSUFBSSxFQUFFLFFBakNTO0FBa0NmQyxJQUFBQSxtQkFBbUIsRUFBRSwwQkFsQ047QUFtQ2ZDLElBQUFBLGFBQWEsRUFBRSx1QkFuQ0E7QUFvQ2ZDLElBQUFBLGVBQWUsRUFBRSwyQkFwQ0Y7QUFxQ2ZDLElBQUFBLFNBQVMsRUFBRSxlQXJDSTtBQXNDZkMsSUFBQUEsV0FBVyxFQUFFLGlCQXRDRTtBQXVDZkMsSUFBQUEsZ0JBQWdCLEVBQUU7QUF2Q0gsR0FwR0o7QUE2SWJDLEVBQUFBLFlBQVksRUFBRTtBQUNaQyxJQUFBQSxPQUFPLEVBQUUsZ0JBREc7QUFFWkMsSUFBQUEsUUFBUSxFQUFFLFlBRkU7QUFHWkMsSUFBQUEsYUFBYSxFQUFFO0FBSEgsR0E3SUQ7QUFrSmJDLEVBQUFBLFVBQVUsRUFBRTtBQUNWQyxJQUFBQSxRQUFRLEVBQUUsY0FEQTtBQUVWQyxJQUFBQSxXQUFXLEVBQUUsc0JBRkg7QUFHVix1QkFBbUI7QUFIVCxHQWxKQztBQXVKYkMsRUFBQUEsa0JBQWtCLEVBQUU7QUFDbEJDLElBQUFBLGtCQUFrQixFQUFFLDBEQURGO0FBRWxCQyxJQUFBQSxLQUFLLEVBQUU7QUFGVyxHQXZKUDtBQTJKYkMsRUFBQUEsYUFBYSxFQUFFO0FBQ2JDLElBQUFBLFNBQVMsRUFBRTtBQURFLEdBM0pGO0FBOEpiQyxFQUFBQSxZQUFZLEVBQUU7QUFDWkMsSUFBQUEsYUFBYSxFQUFFLHdCQURIO0FBRVpDLElBQUFBLGFBQWEsRUFBRTtBQUZILEdBOUpEO0FBa0tiQyxFQUFBQSxXQUFXLEVBQUU7QUFDWEMsSUFBQUEsUUFBUSxFQUFFO0FBREMsR0FsS0E7QUFxS2JDLEVBQUFBLE9BQU8sRUFBRTtBQUNQQyxJQUFBQSxTQUFTLEVBQUUsY0FESjtBQUVQQyxJQUFBQSxTQUFTLEVBQUUsWUFGSjtBQUdQQyxJQUFBQSxXQUFXLEVBQUUsZUFITjtBQUlQQyxJQUFBQSxXQUFXLEVBQUUsYUFKTjtBQUtQQyxJQUFBQSxJQUFJLEVBQUUsU0FMQztBQU1QQyxJQUFBQSxJQUFJLEVBQUUsT0FOQztBQU9QQyxJQUFBQSxXQUFXLEVBQUUsYUFQTjtBQVFQQyxJQUFBQSxhQUFhLEVBQUUsaUJBUlI7QUFTUEMsSUFBQUEsVUFBVSxFQUFFLGVBVEw7QUFVUEMsSUFBQUEsZ0JBQWdCLEVBQUUsOEJBVlg7QUFXUEMsSUFBQUEsVUFBVSxFQUFFLGNBWEw7QUFZUEMsSUFBQUEsWUFBWSxFQUFFLHFCQVpQO0FBYVBDLElBQUFBLFNBQVMsRUFBRSxpQkFiSjtBQWNQQyxJQUFBQSxZQUFZLEVBQUUsbUJBZFA7QUFlUEMsSUFBQUEsY0FBYyxFQUFFLHFCQWZUO0FBZ0JQQyxJQUFBQSxjQUFjLEVBQUUsbUJBaEJUO0FBaUJQQyxJQUFBQSxTQUFTLEVBQUUsZ0NBakJKO0FBa0JQQyxJQUFBQSxrQkFBa0IsRUFBRSwyQkFsQmI7QUFtQlAsY0FBUSxRQW5CRDtBQW9CUEMsSUFBQUEsWUFBWSxFQUFFLGdCQXBCUDtBQXFCUEMsSUFBQUEsWUFBWSxFQUFFLGdCQXJCUDtBQXNCUCxhQUFTO0FBdEJGLEdBcktJO0FBNkxiQyxFQUFBQSxPQUFPO0FBQ0xDLElBQUFBLFdBQVcsRUFBRSxVQURSO0FBRUxDLElBQUFBLFVBQVUsRUFBRSxlQUZQO0FBR0xDLElBQUFBLFNBQVMsRUFBRSxZQUhOO0FBSUxDLElBQUFBLFdBQVcsRUFBRSxnQkFKUjtBQUtMQyxJQUFBQSxPQUFPLEVBQUUsaUJBTEo7QUFNTEMsSUFBQUEsTUFBTSxFQUFFLFNBTkg7QUFPTHRGLElBQUFBLE9BQU8sRUFBRSxVQVBKO0FBUUx1RixJQUFBQSxTQUFTLEVBQUUsWUFSTjtBQVNMdkIsSUFBQUEsSUFBSSxFQUFFLFNBVEQ7QUFVTEMsSUFBQUEsSUFBSSxFQUFFO0FBVkQsS0FXRnVCLGdCQVhFLENBN0xNO0FBME1iQyxFQUFBQSxLQUFLLEVBQUU7QUFDTDdILElBQUFBLEtBQUssRUFBRTtBQUNMOEgsTUFBQUEsYUFBYSxFQUFFLGlCQURWO0FBRUxDLE1BQUFBLFlBQVksRUFBRSwyQkFGVDtBQUdMVixNQUFBQSxXQUFXLEVBQUUsVUFIUjtBQUlMQyxNQUFBQSxVQUFVLEVBQUUsZUFKUDtBQUtMQyxNQUFBQSxTQUFTLEVBQUUsWUFMTjtBQU1MUyxNQUFBQSxvQkFBb0IsRUFBRSx3QkFOakI7QUFPTFAsTUFBQUEsT0FBTyxFQUFFLGlCQVBKO0FBUUxRLE1BQUFBLFFBQVEsRUFBRTtBQVJMLEtBREY7QUFXTEMsSUFBQUEsTUFBTSxFQUFFO0FBQ04sZ0JBQVEsUUFERjtBQUVOQyxNQUFBQSxRQUFRLEVBQUUsT0FGSjtBQUdOLGdCQUFRLEtBSEY7QUFJTkMsTUFBQUEsUUFBUSxFQUFFLGFBSko7QUFLTkMsTUFBQUEsSUFBSSxFQUFFLFVBTEE7QUFNTkMsTUFBQUEsYUFBYSxFQUFFLE1BTlQ7QUFPTkMsTUFBQUEsY0FBYyxFQUFFO0FBUFYsS0FYSDtBQW9CTGxCLElBQUFBLFdBQVcsRUFBRTtBQUNYbUIsTUFBQUEsVUFBVSxFQUFFLFdBREQ7QUFFWEMsTUFBQUEsZ0JBQWdCLEVBQUUsbURBRlA7QUFHWEMsTUFBQUEsbUJBQW1CLEVBQUUscUJBSFY7QUFJWEMsTUFBQUEsV0FBVyxFQUFFLFlBSkY7QUFLWEMsTUFBQUEsUUFBUSxFQUFFLEtBTEM7QUFNWEMsTUFBQUEsU0FBUyxFQUFFLE1BTkE7QUFPWEMsTUFBQUEsZUFBZSxFQUFFLFlBUE47QUFRWEMsTUFBQUEscUJBQXFCLEVBQUUsbURBUlo7QUFTWEMsTUFBQUEsY0FBYyxFQUFFLGVBVEw7QUFVWEMsTUFBQUEsWUFBWSxFQUFFO0FBVkgsS0FwQlI7QUFnQ0wzQixJQUFBQSxVQUFVLEVBQUU7QUFDVjVCLE1BQUFBLFlBQVksRUFBRSxXQURKO0FBRVZ3RCxNQUFBQSxlQUFlLEVBQUUsb0NBRlA7QUFHVkMsTUFBQUEsV0FBVyxFQUFFLFFBSEg7QUFJVkMsTUFBQUEsYUFBYSxFQUFFLHVCQUpMO0FBS1ZDLE1BQUFBLGdCQUFnQixFQUFFLHVEQUxSO0FBTVZDLE1BQUFBLGVBQWUsRUFBRSxvQkFOUDtBQU9WQyxNQUFBQSxrQkFBa0IsRUFBRSxpRUFQVjtBQVFWQyxNQUFBQSxZQUFZLEVBQUUsc0JBUko7QUFTVkMsTUFBQUEsY0FBYyxFQUFFLDRCQVROO0FBVVZDLE1BQUFBLFNBQVMsRUFBRSx1QkFWRDtBQVdWNUQsTUFBQUEsUUFBUSxFQUFFO0FBWEEsS0FoQ1A7QUE2Q0w2RCxJQUFBQSxVQUFVLEVBQUU7QUFDVkMsTUFBQUEsT0FBTyxFQUFFO0FBREMsS0E3Q1A7QUFnREx4QixJQUFBQSxRQUFRLEVBQUU7QUFDUnlCLE1BQUFBLFlBQVksRUFBRSxrREFETjtBQUVSQyxNQUFBQSxnQkFBZ0IsRUFBRSx1Q0FGVjtBQUdSQyxNQUFBQSxnQkFBZ0IsRUFBRSxJQUhWO0FBSVJDLE1BQUFBLGdCQUFnQixFQUFFLFdBSlY7QUFLUkMsTUFBQUEsZ0JBQWdCLEVBQUUsTUFMVjtBQU1SQyxNQUFBQSxnQkFBZ0IsRUFBRSx1Q0FOVjtBQU9SQyxNQUFBQSxnQkFBZ0IsRUFBRSxhQVBWO0FBUVJDLE1BQUFBLGdCQUFnQixFQUNkLDRFQVRNO0FBVVJDLE1BQUFBLFlBQVksRUFBRSx5QkFWTjtBQVdSQyxNQUFBQSxVQUFVLEVBQUUsb0JBWEo7QUFZUkMsTUFBQUEsY0FBYyxFQUFFLFNBWlI7QUFhUkMsTUFBQUEsY0FBYyxFQUFFLFlBYlI7QUFjUkMsTUFBQUEsV0FBVyxFQUFFO0FBZEwsS0FoREw7QUFnRUxDLElBQUFBLFFBQVEsRUFBRTtBQUNSQyxNQUFBQSxhQUFhLEVBQUUsZ0JBRFA7QUFFUkMsTUFBQUEsZ0JBQWdCLEVBQUUsa0RBRlY7QUFHUkMsTUFBQUEsVUFBVSxFQUFFLGdCQUhKO0FBSVJDLE1BQUFBLGFBQWEsRUFDWCwrRUFMTTtBQU1SQyxNQUFBQSxlQUFlLEVBQ2IsNEpBQ0Esd0VBUk07QUFTUkMsTUFBQUEsUUFBUSxFQUFFO0FBVEYsS0FoRUw7QUEyRUxDLElBQUFBLFdBQVcsRUFBRTtBQUNYQyxNQUFBQSxZQUFZLEVBQUUsa0JBREg7QUFFWEMsTUFBQUEsS0FBSyxFQUFFO0FBRkksS0EzRVI7QUErRUwxRCxJQUFBQSxPQUFPLEVBQUU7QUFDUHpILE1BQUFBLEtBQUssRUFBRSxnQkFEQTtBQUVQb0wsTUFBQUEsUUFBUSxFQUFFO0FBRkgsS0EvRUo7QUFtRkw3RCxJQUFBQSxTQUFTLEVBQUU7QUFDVDhELE1BQUFBLFdBQVcsRUFBRSxrQkFESjtBQUVUQyxNQUFBQSxjQUFjLEVBQUUsc0NBRlA7QUFHVEMsTUFBQUEsSUFBSSxFQUFFO0FBQ0pDLFFBQUFBLFNBQVMsRUFBRSw2Q0FEUDtBQUVKQyxRQUFBQSxVQUFVLEVBQUUsaUJBRlI7QUFHSkMsUUFBQUEsYUFBYSxFQUFFLGdFQUhYO0FBSUpDLFFBQUFBLGdCQUFnQixFQUFFLDBCQUpkO0FBS0pDLFFBQUFBLGtCQUFrQixFQUNoQiwySUFORTtBQU9KQyxRQUFBQSxlQUFlLEVBQUUsMERBUGI7QUFRSkMsUUFBQUEsV0FBVyxFQUFFLDhDQVJUO0FBU0pDLFFBQUFBLFNBQVMsRUFBRSxhQVRQO0FBVUpDLFFBQUFBLGFBQWEsRUFBRSxzQkFWWDtBQVdKQyxRQUFBQSxhQUFhLEVBQUUsYUFYWDtBQVlKQyxRQUFBQSxlQUFlLEVBQUUsZ0NBWmI7QUFhSkMsUUFBQUEsSUFBSSxFQUFFLE9BYkY7QUFjSkMsUUFBQUEsSUFBSSxFQUFFO0FBZEYsT0FIRztBQW1CVEMsTUFBQUEsSUFBSSxFQUFFO0FBQ0pDLFFBQUFBLFdBQVcsRUFBRSxrQkFEVDtBQUVKQyxRQUFBQSxnQkFBZ0IsRUFDZCxzSkFIRTtBQUlKZixRQUFBQSxTQUFTLEVBQ1AseUlBTEU7QUFNSmdCLFFBQUFBLFVBQVUsRUFDUixpS0FDQTtBQVJFO0FBbkJHLEtBbkZOO0FBaUhMQyxJQUFBQSxhQUFhLEVBQUU7QUFDYkMsTUFBQUEsT0FBTyxFQUFFO0FBREksS0FqSFY7QUFvSExDLElBQUFBLFFBQVEsRUFBRTtBQUNSQyxNQUFBQSxNQUFNLEVBQUUsaUJBREE7QUFFUkMsTUFBQUEsT0FBTyxFQUFFO0FBRkQsS0FwSEw7QUF3SExDLElBQUFBLFFBQVEsRUFBRTtBQUNSOU0sTUFBQUEsS0FBSyxFQUFFLGtDQURDO0FBRVIrTSxNQUFBQSxZQUFZLEVBQ1YsMEpBSE07QUFJUkMsTUFBQUEsSUFBSSxFQUFFLGdEQUpFO0FBS1JDLE1BQUFBLFlBQVksRUFDViwySkFOTTtBQU9SQyxNQUFBQSxPQUFPLEVBQUU7QUFQRCxLQXhITDtBQWlJTEMsSUFBQUEsUUFBUSxFQUFFO0FBQ1JuTixNQUFBQSxLQUFLLEVBQUUscUJBREM7QUFFUitNLE1BQUFBLFlBQVksRUFDViw0SUFITTtBQUlSQyxNQUFBQSxJQUFJLEVBQUUsTUFKRTtBQUtSQyxNQUFBQSxZQUFZLEVBQUUsd0RBTE47QUFNUkMsTUFBQUEsT0FBTyxFQUFFLFlBTkQ7QUFPUkUsTUFBQUEsS0FBSyxFQUFFO0FBUEMsS0FqSUw7QUEwSUxDLElBQUFBLGdCQUFnQixFQUFFO0FBQ2hCQyxNQUFBQSxZQUFZLEVBQUUsd0NBREU7QUFFaEJDLE1BQUFBLElBQUksRUFBRTtBQUZVLEtBMUliO0FBOElMQyxJQUFBQSxZQUFZLEVBQUU7QUFDWnhOLE1BQUFBLEtBQUssRUFBRSx5QkFESztBQUVaeU4sTUFBQUEsYUFBYSxFQUFFO0FBRkgsS0E5SVQ7QUFrSkxDLElBQUFBLGNBQWMsRUFBRTtBQUNkSCxNQUFBQSxJQUFJLEVBQUUsVUFEUTtBQUVkSSxNQUFBQSxRQUFRLEVBQUUsd0NBRkk7QUFHZEMsTUFBQUEsV0FBVyxFQUFFLG9CQUhDO0FBSWRDLE1BQUFBLFdBQVcsRUFBRTtBQUpDO0FBbEpYLEdBMU1NO0FBbVdiQyxFQUFBQSxNQUFNLEVBQUU7QUFDTkMsSUFBQUEsYUFBYSxFQUFFLHdCQURUO0FBRU5DLElBQUFBLFdBQVcsRUFBRTtBQUZQLEdBbldLO0FBdVdiQyxFQUFBQSxZQUFZLEVBQUU7QUFDWmxJLElBQUFBLE9BQU8sRUFBRSxPQURHO0FBRVptSSxJQUFBQSxLQUFLLEVBQUUsT0FGSztBQUdaQyxJQUFBQSxVQUFVLEVBQUU7QUFIQSxHQXZXRDtBQTRXYmxKLEVBQUFBLGFBQWEsRUFBRTtBQUNiakYsSUFBQUEsS0FBSyxFQUFFLHNCQURNO0FBRWJvTyxJQUFBQSxRQUFRLEVBQUUsU0FGRztBQUdiQyxJQUFBQSxNQUFNLEVBQUUsVUFISztBQUliQyxJQUFBQSxXQUFXLEVBQUU7QUFKQSxHQTVXRjtBQWtYYkMsRUFBQUEsT0FBTyxFQUFFO0FBQ1B2TyxJQUFBQSxLQUFLLEVBQUUsV0FEQTtBQUVQd08sSUFBQUEsR0FBRyxFQUFFLEtBRkU7QUFHUEMsSUFBQUEsR0FBRyxFQUFFLEtBSEU7QUFJUEMsSUFBQUEsUUFBUSxFQUFFLFNBSkg7QUFLUG5NLElBQUFBLElBQUksRUFBRSxNQUxDO0FBTVBGLElBQUFBLE9BQU8sRUFBRSxTQU5GO0FBT1BMLElBQUFBLEdBQUcsRUFBRTtBQUNIMk0sTUFBQUEsSUFBSSxFQUFFLFlBREg7QUFFSEMsTUFBQUEsSUFBSSxFQUFFLFlBRkg7QUFHSEMsTUFBQUEsSUFBSSxFQUFFLGFBSEg7QUFJSEMsTUFBQUEsSUFBSSxFQUFFO0FBSkgsS0FQRTtBQWFQN00sSUFBQUEsSUFBSSxFQUFFO0FBQ0o4TSxNQUFBQSxJQUFJLEVBQUUsaUJBREY7QUFFSkMsTUFBQUEsSUFBSSxFQUFFO0FBRkYsS0FiQztBQWlCUDlNLElBQUFBLElBQUksRUFBRTtBQUNKMEIsTUFBQUEsYUFBYSxFQUFFO0FBRFgsS0FqQkM7QUFvQlBuQixJQUFBQSxPQUFPLEVBQUU7QUFDUG1CLE1BQUFBLGFBQWEsRUFBRTtBQURSO0FBcEJGLEdBbFhJO0FBMFlicEYsRUFBQUEsS0FBSyxFQUFFO0FBQ0x5USxJQUFBQSxhQUFhLEVBQUUsb0JBRFY7QUFFTEMsSUFBQUEsS0FBSyxFQUFFLFVBRkY7QUFHTHBOLElBQUFBLElBQUksRUFBRSxRQUhEO0FBSUxxTixJQUFBQSxRQUFRLEVBQUU7QUFKTCxHQTFZTTtBQWdaYkMsRUFBQUEsS0FBSyxFQUFFO0FBQ0xDLElBQUFBLFVBQVUsRUFBRSxjQURQO0FBRUwxTCxJQUFBQSxTQUFTLEVBQUUsYUFGTjtBQUdMMkwsSUFBQUEsV0FBVyxFQUFFLHlCQUhSO0FBSUxGLElBQUFBLEtBQUssRUFBRTtBQUpGLEdBaFpNO0FBc1piRyxFQUFBQSxZQUFZLEVBQUU7QUFDWkMsSUFBQUEsT0FBTyxFQUFFLG1DQURHO0FBRVpDLElBQUFBLGFBQWEsRUFDWCx1R0FIVTtBQUlaakQsSUFBQUEsVUFBVSxFQUNSLHdFQUNBLG1DQU5VO0FBT1prRCxJQUFBQSxtQkFBbUIsRUFDakIsaUdBUlU7QUFTWkMsSUFBQUEsV0FBVyxFQUFFLG9CQVREO0FBVVpDLElBQUFBLFNBQVMsRUFBRSxVQVZDO0FBV1pDLElBQUFBLGdCQUFnQixFQUFFLHNDQVhOO0FBWVpDLElBQUFBLEVBQUUsRUFBRTtBQVpRLEdBdFpEO0FBb2FialIsRUFBQUEsT0FBTyxFQUFFLFFBcGFJO0FBcWFiLGdCQUFjLGlCQXJhRDtBQXNhYixnQkFBYyxNQXRhRDtBQXVhYmtSLEVBQUFBLElBQUksRUFBRSxVQXZhTztBQXdhYkMsRUFBQUEsS0FBSyxFQUFFO0FBeGFNLEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjEgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge0xPQ0FMRVN9IGZyb20gJy4vbG9jYWxlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcGVydHk6IHtcbiAgICB3ZWlnaHQ6ICdwYWlub3R1cycsXG4gICAgbGFiZWw6ICduaW1pw7YnLFxuICAgIGZpbGxDb2xvcjogJ3TDpHl0dMO2dsOkcmknLFxuICAgIGNvbG9yOiAndsOkcmknLFxuICAgIHN0cm9rZUNvbG9yOiAndmlpdmFuIHbDpHJpJyxcbiAgICByYWRpdXM6ICdzw6RkZScsXG4gICAgb3V0bGluZTogJ8Okw6RyaXZpaXZhJyxcbiAgICBzdHJva2U6ICd2aWl2YScsXG4gICAgZGVuc2l0eTogJ3RpaGV5cycsXG4gICAgY292ZXJhZ2U6ICdrYXR0YXZ1dXMnLFxuICAgIHN1bTogJ3N1bW1hJyxcbiAgICBwb2ludENvdW50OiAncGlzdGVpZGVuIGx1a3Vtw6TDpHLDpCdcbiAgfSxcbiAgcGxhY2Vob2xkZXI6IHtcbiAgICBzZWFyY2g6ICdFdHNpJyxcbiAgICBzZWxlY3RGaWVsZDogJ1ZhbGl0c2Uga2VudHTDpCcsXG4gICAgeUF4aXM6ICdZLWFrc2VsaScsXG4gICAgc2VsZWN0VHlwZTogJ1ZhbGl0c2UgdHl5cHBpJyxcbiAgICBzZWxlY3RWYWx1ZTogJ1ZhbGl0c2UgYXJ2bycsXG4gICAgZW50ZXJWYWx1ZTogJ0FubmEgYXJ2bycsXG4gICAgZW1wdHk6ICd0eWhqw6QnXG4gIH0sXG4gIG1pc2M6IHtcbiAgICBieTogJycsXG4gICAgdmFsdWVzSW46ICdBcnZvdCBqb3Vrb3NzYTonLFxuICAgIHZhbHVlRXF1YWxzOiAnQXJ2byBvbiB5aHTDpHN1dXJpIGt1aW4nLFxuICAgIGRhdGFTb3VyY2U6ICdBaW5laXN0b2zDpGhkZScsXG4gICAgYnJ1c2hSYWRpdXM6ICdIYXJqYW4gc8OkZGUgKGttKScsXG4gICAgZW1wdHk6ICcgJ1xuICB9LFxuICBtYXBMYXllcnM6IHtcbiAgICB0aXRsZTogJ0thcnRhbiB0YXNvdCcsXG4gICAgbGFiZWw6ICdOaW1pw7Z0JyxcbiAgICByb2FkOiAnVGlldCcsXG4gICAgYm9yZGVyOiAnUmFqYXQnLFxuICAgIGJ1aWxkaW5nOiAnUmFrZW5udWtzZXQnLFxuICAgIHdhdGVyOiAnVmVzaScsXG4gICAgbGFuZDogJ01hYScsXG4gICAgJzNkQnVpbGRpbmcnOiAnM2QtcmFrZW5udWtzZXQnXG4gIH0sXG4gIHBhbmVsOiB7XG4gICAgdGV4dDoge1xuICAgICAgbGFiZWw6ICdOaW1pw7YnLFxuICAgICAgbGFiZWxXaXRoSWQ6ICdOaW1pw7Yge2xhYmVsSWR9JyxcbiAgICAgIGZvbnRTaXplOiAnRm9udGluIGtva28nLFxuICAgICAgZm9udENvbG9yOiAnRm9udGluIHbDpHJpJyxcbiAgICAgIHRleHRBbmNob3I6ICdUZWtzdGluIGFua2t1cmknLFxuICAgICAgYWxpZ25tZW50OiAnU2lqb2l0dGVsdScsXG4gICAgICBhZGRNb3JlTGFiZWw6ICdMaXPDpMOkIHV1c2lhIG5pbWnDtml0w6QnXG4gICAgfVxuICB9LFxuICBzaWRlYmFyOiB7XG4gICAgcGFuZWxzOiB7XG4gICAgICBsYXllcjogJ1Rhc290JyxcbiAgICAgIGZpbHRlcjogJ1N1b2RhdHRpbWV0JyxcbiAgICAgIGludGVyYWN0aW9uOiAnSW50ZXJha3Rpb3QnLFxuICAgICAgYmFzZW1hcDogJ1RhdXN0YWthcnR0YSdcbiAgICB9XG4gIH0sXG4gIGxheWVyOiB7XG4gICAgcmVxdWlyZWQ6ICdQYWtvbGxpbmVuKicsXG4gICAgcmFkaXVzOiAnU8OkZGUnLFxuICAgIHdlaWdodDogJ1BhaW5vdHVzJyxcbiAgICBwcm9wZXJ0eUJhc2VkT246ICd7cHJvcGVydHl9IHBlcnVzdHVlbiBhcnZvb24nLFxuICAgIGNvbG9yOiAnVsOkcmknLFxuICAgIGZpbGxDb2xvcjogJ1TDpHl0w7ZuIHbDpHJpJyxcbiAgICBvdXRsaW5lOiAnw6TDpHJpdmlpdmEnLFxuICAgIGNvdmVyYWdlOiAnS2F0dGF2dXVzJyxcbiAgICBzdHJva2U6ICdWaWl2YScsXG4gICAgc3Ryb2tlV2lkdGg6ICdWaWl2YW4gcGFrc3V1cycsXG4gICAgc3Ryb2tlQ29sb3I6ICdWaWl2YW4gdsOkcmknLFxuICAgIGJhc2ljOiAnUGVydXMnLFxuICAgIHRyYWlsTGVuZ3RoOiAnSsOkbGplbiBwaXR1dXMnLFxuICAgIHRyYWlsTGVuZ3RoRGVzY3JpcHRpb246ICdKw6RsamVuIGtlc3RvIHNla3VudGVpbmEsIGVubmVua3VpbiBzZSBoaW1tZW5lZSBuw6RreXZpc3TDpCcsXG4gICAgbmV3TGF5ZXI6ICd1dXNpIHRhc28nLFxuICAgIGVsZXZhdGlvbkJ5RGVzY3JpcHRpb246ICdLdW4gYXNldHVzIG9uIHBvaXMgcMOkw6RsdMOkLCBrb3JrZXVzIHBlcnVzdHV1IHBpc3RlaWRlbiBtw6TDpHLDpMOkbicsXG4gICAgY29sb3JCeURlc2NyaXB0aW9uOiAnS3VuIGFzZXR1cyBvbiBwb2lzIHDDpMOkbHTDpCwgdsOkcmkgcGVydXN0dXUgcGlzdGVpZGVuIG3DpMOkcsOkw6RuJyxcbiAgICBhZ2dyZWdhdGVCeTogJ0FnZ3JlZ29pIGtlbnR0w6Qge2ZpZWxkfSBieScsXG4gICAgJzNETW9kZWwnOiAnM0QtbWFsbGknLFxuICAgICczRE1vZGVsT3B0aW9ucyc6ICczRC1tYWxsaW4gYXNldHVrc2V0JyxcbiAgICB0eXBlOiB7XG4gICAgICBwb2ludDogJ3Bpc3RlJyxcbiAgICAgIGFyYzogJ2thYXJpJyxcbiAgICAgIGxpbmU6ICd2aWl2YScsXG4gICAgICBncmlkOiAncnV1ZHVra28nLFxuICAgICAgaGV4YmluOiAnaGV4YmluJyxcbiAgICAgIHBvbHlnb246ICdwb2x5Z29uaScsXG4gICAgICBnZW9qc29uOiAnZ2VvanNvbicsXG4gICAgICBjbHVzdGVyOiAna2x1c3RlcmknLFxuICAgICAgaWNvbjogJ2t1dmEnLFxuICAgICAgaGVhdG1hcDogJ2zDpG1ww7ZrYXJ0dGEnLFxuICAgICAgaGV4YWdvbjogJ2t1dXNpa3VsbWlvJyxcbiAgICAgIGhleGFnb25pZDogJ0gzJyxcbiAgICAgIHRyaXA6ICdtYXRrYScsXG4gICAgICBzMjogJ1MyJyxcbiAgICAgICczZCc6ICczRCdcbiAgICB9XG4gIH0sXG4gIGxheWVyVmlzQ29uZmlnczoge1xuICAgIHN0cm9rZVdpZHRoOiAnVmlpdmFuIHBha3N1dXMnLFxuICAgIHN0cm9rZVdpZHRoUmFuZ2U6ICdWaWl2YW4gcGFrc3V1ZGVuIHJhamF0JyxcbiAgICByYWRpdXM6ICdTw6RkZScsXG4gICAgZml4ZWRSYWRpdXM6ICdWYWtpb3PDpGRlIG1ldHJlaW7DpCcsXG4gICAgZml4ZWRSYWRpdXNEZXNjcmlwdGlvbjogJ0thcnRhbiBzw6RkZSBhYnNvbHV1dHRpc2Vrc2kgc8OkdGVla3NpIG1ldHJlaW7DpCwgZXNpbS4gNSAtPiA1IG1ldHJpaW4nLFxuICAgIHJhZGl1c1JhbmdlOiAnU8OkdGVlbiByYWphdCcsXG4gICAgY2x1c3RlclJhZGl1czogJ0tsdXN0ZXJpZW4gc8OkZGUgcGlrc2VsZWluw6QnLFxuICAgIHJhZGl1c1JhbmdlUGl4ZWxzOiAnU8OkdGVlbiByYWphdCBwaWtzZWxlaW7DpCcsXG4gICAgb3BhY2l0eTogJ0zDpHBpbsOka3l2eXlzJyxcbiAgICBjb3ZlcmFnZTogJ0thdHRhdnV1cycsXG4gICAgb3V0bGluZTogJ8OEw6RyaXZpaXZhJyxcbiAgICBjb2xvclJhbmdlOiAnVsOkcmllbiByYWphdCcsXG4gICAgc3Ryb2tlOiAnVmlpdmEnLFxuICAgIHN0cm9rZUNvbG9yOiAnVmlpdmFuIHbDpHJpJyxcbiAgICBzdHJva2VDb2xvclJhbmdlOiAnVmlpdmFuIHbDpHJpbiByYWphdCcsXG4gICAgdGFyZ2V0Q29sb3I6ICdLb2h0ZWVuIHbDpHJpJyxcbiAgICBjb2xvckFnZ3JlZ2F0aW9uOiAnVsOkcmllbiBhZ2dyZWdvaW50aScsXG4gICAgaGVpZ2h0QWdncmVnYXRpb246ICdLb3JrZXVkZW4gYWdncmVnb2ludGknLFxuICAgIHJlc29sdXRpb25SYW5nZTogJ1Jlc29sdXV0aW9uIHJhamF0JyxcbiAgICBzaXplU2NhbGU6ICdLb29uIHNrYWFsYScsXG4gICAgd29ybGRVbml0U2l6ZTogJ1lrc2lra8O2JyxcbiAgICBlbGV2YXRpb25TY2FsZTogJ0tvcm90dGFtaXNlbiBza2FhbGEnLFxuICAgIGVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3I6ICdLw6R5dMOkIGtvcmtldWRlbiB6b29tYXVza2Vycm9pbnRhJyxcbiAgICBlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yRGVzY3JpcHRpb246XG4gICAgICAnU8Okw6Rkw6Qga29ya2V1cyAvIGtvcmtldXMgbnlreWlzZW4gem9vbWF1c2tlcnRvaW1lbiBwZXJ1c3RlZWxsYScsXG4gICAgZW5hYmxlSGVpZ2h0Wm9vbUZhY3RvcjogJ0vDpHl0w6Qga29ya2V1ZGVuIHpvb21hdXNrZXJyb2ludGEnLFxuICAgIGhlaWdodFNjYWxlOiAnS29ya2V1ZGVuIHNrYWFsYScsXG4gICAgY292ZXJhZ2VSYW5nZTogJ1BlaXR0w6R2eXlkZW4gcmFqYXQnLFxuICAgIGhpZ2hQcmVjaXNpb25SZW5kZXJpbmc6ICdUYXJra2EgcmVuZGVyw7ZpbnRpJyxcbiAgICBoaWdoUHJlY2lzaW9uUmVuZGVyaW5nRGVzY3JpcHRpb246ICdUYXJra2EgcmVuZGVyw7ZpbnRpIGpvaHRhYSBoaXRhYW1wYWFuIHN1b3JpdHRhbWlzZWVuJyxcbiAgICBoZWlnaHQ6ICdLb3JrZXVzJyxcbiAgICBoZWlnaHREZXNjcmlwdGlvbjogJ0tsaWtrYWEgb2lrZWFzdGEgeWzDpG51cmthc3RhIG5hcHBpYSB2YWlodGFha3Nlc2kgM0QtbsOka3ltw6TDpG4nLFxuICAgIGZpbGw6ICdUw6R5dHTDticsXG4gICAgZW5hYmxlUG9seWdvbkhlaWdodDogJ1NhbGxpIHBvbHlnb25pZW4ga29ya2V1cycsXG4gICAgc2hvd1dpcmVmcmFtZTogJ07DpHl0w6QgcmF1dGFsYW5rYW1hbGxpJyxcbiAgICB3ZWlnaHRJbnRlbnNpdHk6ICdQYWlub3R1a3NlbiBpbnRlbnNpdGVldHRpJyxcbiAgICB6b29tU2NhbGU6ICdab29tYXVzc2thYWxhJyxcbiAgICBoZWlnaHRSYW5nZTogJ0tvcmtldWRlbiByYWphdCcsXG4gICAgaGVpZ2h0TXVsdGlwbGllcjogJ0tvcmtldXNrZXJyb2luJ1xuICB9LFxuICBsYXllck1hbmFnZXI6IHtcbiAgICBhZGREYXRhOiAnTGlzw6TDpCBhaW5laXN0bycsXG4gICAgYWRkTGF5ZXI6ICdMaXPDpMOkIHRhc28nLFxuICAgIGxheWVyQmxlbmRpbmc6ICdUYXNvamVuIHNla29pdHR1dnV1cydcbiAgfSxcbiAgbWFwTWFuYWdlcjoge1xuICAgIG1hcFN0eWxlOiAnS2FydGFuIHR5eWxpJyxcbiAgICBhZGRNYXBTdHlsZTogJ0xpc8Okw6QgdHl5bGkga2FydGFsbGUnLFxuICAgICczZEJ1aWxkaW5nQ29sb3InOiAnM0QtcmFrZW5udXN0ZW4gdsOkcmknXG4gIH0sXG4gIGxheWVyQ29uZmlndXJhdGlvbjoge1xuICAgIGRlZmF1bHREZXNjcmlwdGlvbjogJ0xhc2tlIHN1dXJlZW4ge3Byb3BlcnR5fSBhcnZvIHZhbGl0dW4ga2VudMOkbiBwZXJ1c3RlZWxsYScsXG4gICAgaG93VG86ICdNaXRlbiB0b2ltaWknXG4gIH0sXG4gIGZpbHRlck1hbmFnZXI6IHtcbiAgICBhZGRGaWx0ZXI6ICdMaXPDpMOkIHN1b2RhdGluJ1xuICB9LFxuICBkYXRhc2V0VGl0bGU6IHtcbiAgICBzaG93RGF0YVRhYmxlOiAnTsOkeXTDpCBhdHRyaWJ1dXR0aXRhdWx1JyxcbiAgICByZW1vdmVEYXRhc2V0OiAnUG9pc3RhIGFpbmVpc3RvJ1xuICB9LFxuICBkYXRhc2V0SW5mbzoge1xuICAgIHJvd0NvdW50OiAne3Jvd0NvdW50fSByaXZpw6QnXG4gIH0sXG4gIHRvb2x0aXA6IHtcbiAgICBoaWRlTGF5ZXI6ICdQaWlsb3RhIHRhc28nLFxuICAgIHNob3dMYXllcjogJ07DpHl0w6QgdGFzbycsXG4gICAgaGlkZUZlYXR1cmU6ICdQaWlsb3RhIGtvaGRlJyxcbiAgICBzaG93RmVhdHVyZTogJ07DpHl0w6Qga29oZGUnLFxuICAgIGhpZGU6ICdwaWlsb3RhJyxcbiAgICBzaG93OiAnbsOkeXTDpCcsXG4gICAgcmVtb3ZlTGF5ZXI6ICdQb2lzdGEgdGFzbycsXG4gICAgbGF5ZXJTZXR0aW5nczogJ1Rhc29uIGFzZXR1a3NldCcsXG4gICAgY2xvc2VQYW5lbDogJ1N1bGplIHBhbmVlbGknLFxuICAgIHN3aXRjaFRvRHVhbFZpZXc6ICdWYWloZGEga2Frc29pc2thcnJ0YW7DpGt5bcOkw6RuJyxcbiAgICBzaG93TGVnZW5kOiAnTsOkeXTDpCBzZWxpdGUnLFxuICAgIGRpc2FibGUzRE1hcDogJ1BvaXN0dSAzRC1uw6RreW3DpHN0w6QnLFxuICAgIERyYXdPbk1hcDogJ1BpaXJyw6Qga2FydGFsbGUnLFxuICAgIHNlbGVjdExvY2FsZTogJ1ZhbGl0c2Uga2llbGlzeXlzJyxcbiAgICBoaWRlTGF5ZXJQYW5lbDogJ1BpaWxvdGEgdGFzb3BhbmVlbGknLFxuICAgIHNob3dMYXllclBhbmVsOiAnTsOkeXTDpCB0YXNvcGFuZWVsaScsXG4gICAgbW92ZVRvVG9wOiAnU2lpcnLDpCB0YXNvamVuIHDDpMOkbGxpbW3DpGlzZWtzaScsXG4gICAgc2VsZWN0QmFzZU1hcFN0eWxlOiAnVmFsaXRzZSB0YXVzdGFrYXJ0dGF0eXlsaScsXG4gICAgZGVsZXRlOiAnUG9pc3RhJyxcbiAgICB0aW1lUGxheWJhY2s6ICdBamFuIGFuaW1vaW50aScsXG4gICAgY2xvdWRTdG9yYWdlOiAnUGlsdml0YWxsZW5udXMnLFxuICAgICczRE1hcCc6ICczRC1uw6RreW3DpCdcbiAgfSxcbiAgdG9vbGJhcjoge1xuICAgIGV4cG9ydEltYWdlOiAnVmllIGt1dmEnLFxuICAgIGV4cG9ydERhdGE6ICdWaWUgYWluZWlzdG90JyxcbiAgICBleHBvcnRNYXA6ICdWaWUga2FydHRhJyxcbiAgICBzaGFyZU1hcFVSTDogJ0phYSBrYXJ0YW4gVVJMJyxcbiAgICBzYXZlTWFwOiAnVGFsbGVubmEga2FydHRhJyxcbiAgICBzZWxlY3Q6ICd2YWxpdHNlJyxcbiAgICBwb2x5Z29uOiAncG9seWdvbmknLFxuICAgIHJlY3RhbmdsZTogJ25lbGlrdWxtaW8nLFxuICAgIGhpZGU6ICdwaWlsb3RhJyxcbiAgICBzaG93OiAnbsOkeXTDpCcsXG4gICAgLi4uTE9DQUxFU1xuICB9LFxuICBtb2RhbDoge1xuICAgIHRpdGxlOiB7XG4gICAgICBkZWxldGVEYXRhc2V0OiAnUG9pc3RhIGFpbmVpc3RvJyxcbiAgICAgIGFkZERhdGFUb01hcDogJ0xpc8Okw6QgYWluZWlzdG9qYSBrYXJ0YWxsZScsXG4gICAgICBleHBvcnRJbWFnZTogJ1ZpZSBrdXZhJyxcbiAgICAgIGV4cG9ydERhdGE6ICdWaWUgYWluZWlzdG90JyxcbiAgICAgIGV4cG9ydE1hcDogJ1ZpZSBrYXJ0dGEnLFxuICAgICAgYWRkQ3VzdG9tTWFwYm94U3R5bGU6ICdMaXPDpMOkIG9tYSBNYXBib3gtdHl5bGknLFxuICAgICAgc2F2ZU1hcDogJ1RhbGxlbm5hIGthcnR0YScsXG4gICAgICBzaGFyZVVSTDogJ0phYSBVUkwnXG4gICAgfSxcbiAgICBidXR0b246IHtcbiAgICAgIGRlbGV0ZTogJ1BvaXN0YScsXG4gICAgICBkb3dubG9hZDogJ0xhdGFhJyxcbiAgICAgIGV4cG9ydDogJ1ZpZScsXG4gICAgICBhZGRTdHlsZTogJ0xpc8Okw6QgdHl5bGknLFxuICAgICAgc2F2ZTogJ1RhbGxlbm5hJyxcbiAgICAgIGRlZmF1bHRDYW5jZWw6ICdQZXJ1JyxcbiAgICAgIGRlZmF1bHRDb25maXJtOiAnVmFodmlzdGEnXG4gICAgfSxcbiAgICBleHBvcnRJbWFnZToge1xuICAgICAgcmF0aW9UaXRsZTogJ0t1dmFzdWhkZScsXG4gICAgICByYXRpb0Rlc2NyaXB0aW9uOiAnVmFsaXRzZSBzb3BpdmEga3V2YXN1aGRlIGvDpHl0dMO2dGFwYXVzdGFzaSB2YXJ0ZW4uJyxcbiAgICAgIHJhdGlvT3JpZ2luYWxTY3JlZW46ICdBbGt1cGVyw6RpbmVuIG7DpHl0dMO2JyxcbiAgICAgIHJhdGlvQ3VzdG9tOiAnS3VzdG9tb2l0dScsXG4gICAgICByYXRpbzRfMzogJzQ6MycsXG4gICAgICByYXRpbzE2Xzk6ICcxNjo5JyxcbiAgICAgIHJlc29sdXRpb25UaXRsZTogJ1Jlc29sdXV0aW8nLFxuICAgICAgcmVzb2x1dGlvbkRlc2NyaXB0aW9uOiAnS29ya2VhIHJlc29sdXV0aW8gb24gcGFyZW1waSB0dWxvc3RhbWlzdGEgdmFydGVuLicsXG4gICAgICBtYXBMZWdlbmRUaXRsZTogJ0thcnRhbiBzZWxpdGUnLFxuICAgICAgbWFwTGVnZW5kQWRkOiAnTGlzw6TDpCBzZWxpdGUga2FydHRhYW4nXG4gICAgfSxcbiAgICBleHBvcnREYXRhOiB7XG4gICAgICBkYXRhc2V0VGl0bGU6ICdBaW5laXN0b3QnLFxuICAgICAgZGF0YXNldFN1YnRpdGxlOiAnVmFsaXRzZSBhaW5laXN0bywgam9ua2EgYWlvdCB2aWVkw6QnLFxuICAgICAgYWxsRGF0YXNldHM6ICdLYWlra2knLFxuICAgICAgZGF0YVR5cGVUaXRsZTogJ0FpbmVpc3RvamVuIGZvcm1hYXR0aScsXG4gICAgICBkYXRhVHlwZVN1YnRpdGxlOiAnVmFsaXRzZSBhaW5laXN0b2Zvcm1hYXR0aSB2YWxpdHNlbWlsbGVzaSBhaW5laXN0b2lsbGUnLFxuICAgICAgZmlsdGVyRGF0YVRpdGxlOiAnU3VvZGF0YSBhaW5laXN0b2phJyxcbiAgICAgIGZpbHRlckRhdGFTdWJ0aXRsZTogJ1ZvaXQgdmllZMOkIGpva28gYWxrdXBlcsOkaXNldCBhaW5laXN0b3QgdGFpIHN1b2RhdGV0dXQgYWluZWlzdG90JyxcbiAgICAgIGZpbHRlcmVkRGF0YTogJ1N1b2RhdGV0dXQgYWluZWlzdG90JyxcbiAgICAgIHVuZmlsdGVyZWREYXRhOiAnU3VvZGF0dGFtYXR0b21hdCBhaW5laXN0b3QnLFxuICAgICAgZmlsZUNvdW50OiAne2ZpbGVDb3VudH0gdGllZG9zdG9hJyxcbiAgICAgIHJvd0NvdW50OiAne3Jvd0NvdW50fSByaXZpw6QnXG4gICAgfSxcbiAgICBkZWxldGVEYXRhOiB7XG4gICAgICB3YXJuaW5nOiAnYWlvdCBwb2lzdGFhIHTDpG3DpG4gYWluZWlzdG9uLiBBaW5lb3N0b2Ega8OkeXR0w6R2aWVuIHRhc29qZW4gbHVrdW3DpMOkcsOkOiB7bGVuZ3RofSdcbiAgICB9LFxuICAgIGFkZFN0eWxlOiB7XG4gICAgICBwdWJsaXNoVGl0bGU6ICcxLiBKdWxrYWlzZSB0eXlsaXNpIE1hcGJveGlzc2EgdGFpIGFubmEgdHVubmlzdGUnLFxuICAgICAgcHVibGlzaFN1YnRpdGxlMTogJ1ZvaXQgbHVvZGEgb21hbiBrYXJ0dGF0eXlsaXNpIHNpdnVsbGEnLFxuICAgICAgcHVibGlzaFN1YnRpdGxlMjogJ2phJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTM6ICdqdWxrYWlzdGEnLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNDogJ3Nlbi4nLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNTogJ0vDpHl0dMOkw6Rrc2VzaSB5a3NpdHlpc3TDpCB0eXlsacOkLCBsaWl0w6QnLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNjogJ3R1bm5pc3RlZXNpJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTc6XG4gICAgICAgICd0w6RubmUuICprZXBsZXIuZ2wgb24gY2xpZW50LXNpZGUgc292ZWxsdXMsIGRhdGEgcHlzeXkgdmFpbiBzZWxhaW1lc3Nhc2kuLi4nLFxuICAgICAgZXhhbXBsZVRva2VuOiAnZXNpbS4gcGsuYWJjZGVmZy54eHh4eHgnLFxuICAgICAgcGFzdGVUaXRsZTogJzIuIExpaXTDpCB0eXlsaS1VUkwnLFxuICAgICAgcGFzdGVTdWJ0aXRsZTE6ICdNaWvDpCBvbicsXG4gICAgICBwYXN0ZVN1YnRpdGxlMjogJ3R5eWxpLVVSTD8nLFxuICAgICAgbmFtaW5nVGl0bGU6ICczLiBOaW1lw6QgdHl5bGlzaSdcbiAgICB9LFxuICAgIHNoYXJlTWFwOiB7XG4gICAgICBzaGFyZVVyaVRpdGxlOiAnSmFhIGthcnRhbiBVUkwnLFxuICAgICAgc2hhcmVVcmlTdWJ0aXRsZTogJ0x1byBrYXJ0YWxsZSBVUkwsIGpvbmthIHZvaXQgamFrYWEgbXVpZGVuIGthbnNzYScsXG4gICAgICBjbG91ZFRpdGxlOiAnUGlsdml0YWxsZW5udXMnLFxuICAgICAgY2xvdWRTdWJ0aXRsZTpcbiAgICAgICAgJ0tpcmphdWR1IHNpc8Okw6RuIGphIGxhdGFhIGthcnR0YSBqYSBhaW5laXN0b3QgaGVua2lsw7Zrb2h0YWlzZWVuIHBpbHZpcGFsdmVsdXVuJyxcbiAgICAgIHNoYXJlRGlzY2xhaW1lcjpcbiAgICAgICAgJ2tlcGxlci5nbCB0YWxsZW50YWEga2FydGFuIGRhdGFuIGhlbmtpbMO2a29odGFpc2VlbiBwaWx2aXRhbGxlbm51c3RpbGFhc2ksIHZhaW4gaWhtaXNldCwgam9pbGxhIG9uIFVSTCwgdm9pdmF0IHDDpMOkc3TDpCBrw6RzaWtzaSBrYXJ0dGFhbiBqYSBhaW5laXN0b2loaW4uICcgK1xuICAgICAgICAnVm9pdCBtdW9rYXRhIHRpZWRvc3RvamEgdGFpIHBvaXN0YWEgbmUgcGlsdmlwYWx2ZWx1c3Rhc2kgbWlsbG9pbiB2YWluLicsXG4gICAgICBnb3RvUGFnZTogJ01lbmUgS2VwbGVyLmdsIHtjdXJyZW50UHJvdmlkZXJ9IHNpdnVsbGVzaSdcbiAgICB9LFxuICAgIHN0YXR1c1BhbmVsOiB7XG4gICAgICBtYXBVcGxvYWRpbmc6ICdLYXJ0dGFhIGxhZGF0YWFuJyxcbiAgICAgIGVycm9yOiAnVmlyaGUnXG4gICAgfSxcbiAgICBzYXZlTWFwOiB7XG4gICAgICB0aXRsZTogJ1BpbHZpdGFsbGVubnVzJyxcbiAgICAgIHN1YnRpdGxlOiAnS2lyamF1ZHUgc2lzw6TDpG4gcGlsdmlwYWx2ZWx1dXNpIHRhbGxlbnRhYWtzZXNpIGthcnRhbidcbiAgICB9LFxuICAgIGV4cG9ydE1hcDoge1xuICAgICAgZm9ybWF0VGl0bGU6ICdLYXJ0YW4gZm9ybWFhdHRpJyxcbiAgICAgIGZvcm1hdFN1YnRpdGxlOiAnVmFsaXRzZSBmb3JtYWF0dGksIGpvc3NhIHZpZXQga2FydGFuJyxcbiAgICAgIGh0bWw6IHtcbiAgICAgICAgc2VsZWN0aW9uOiAnVmllIGthcnR0YSBpbnRlcmFrdGlpdmlzZW5hIGh0bWwtdGllZG9zdG9uYScsXG4gICAgICAgIHRva2VuVGl0bGU6ICdNYXBib3gtdHVubmlzdGUnLFxuICAgICAgICB0b2tlblN1YnRpdGxlOiAnS8OkeXTDpCBvbWFhIE1hcGJveC10dW5uaXN0ZXR0YXNpIGh0bWwtdGllZG9zdG9zc2EgKHZhbGlubmFpbmVuKScsXG4gICAgICAgIHRva2VuUGxhY2Vob2xkZXI6ICdMaWl0w6QgTWFwYm94LXR1bm5pc3RlZXNpJyxcbiAgICAgICAgdG9rZW5NaXN1c2VXYXJuaW5nOlxuICAgICAgICAgICcqIEpvcyBldCBrw6R5dMOkIG9tYWEgdHVubmlzdGV0dGFzaSwga2FydHRhIHZvaSBsYWthdGEgdG9pbWltYXN0YSBtaWxsb2luIHZhaW4ga3VuIHZhaWhkYW1tZSBvbWFhIHR1bm5pc3RldHRhbW1lIHbDpMOkcmlua8OkeXTDtm4gZXN0w6RtaXNla3NpLiAnLFxuICAgICAgICB0b2tlbkRpc2NsYWltZXI6ICdWb2l0IHZhaWh0YWEgTWFwYm94LXR1bm5pc3RlZXNpIG7DpGlkZW4gb2hqZWlkZW4gYXZ1bGxhOiAnLFxuICAgICAgICB0b2tlblVwZGF0ZTogJ0t1aW5rYSB2YWlodGFhIG9sZW1hc3Nhb2xldmEgTWFwYm94LXR1bm5pc3RlJyxcbiAgICAgICAgbW9kZVRpdGxlOiAnS2FydGFuIHRpbGEnLFxuICAgICAgICBtb2RlU3VidGl0bGUxOiAnVmFsaXRzZSBrYXJ0YW4gdGlsYS4nLFxuICAgICAgICBtb2RlU3VidGl0bGUyOiAnTGlzw6R0aWV0b2phJyxcbiAgICAgICAgbW9kZURlc2NyaXB0aW9uOiAnQW5uYSBrw6R5dHTDpGppZW4ge21vZGV9IGthcnR0YWEnLFxuICAgICAgICByZWFkOiAnbHVrZWEnLFxuICAgICAgICBlZGl0OiAnbXVva2F0YSdcbiAgICAgIH0sXG4gICAgICBqc29uOiB7XG4gICAgICAgIGNvbmZpZ1RpdGxlOiAnS2FydGFuIGFzZXR1a3NldCcsXG4gICAgICAgIGNvbmZpZ0Rpc2NsYWltZXI6XG4gICAgICAgICAgJ0thcnRhbiBhc2V0dWtzZXQgc2lzw6RsdHl2w6R0IEpzb24tdGllZG9zdG9vbi4gSm9zIGvDpHl0w6R0IGtpcmphc3RvYSBrZXBsZXIuZ2wgb21hc3NhIHNvdmVsbHVrc2Vzc2FzaS4gVm9pdCBrb3Bpb2lkYSBhc2V0dWtzZXQgamEgYW50YWEgbmUgZnVua3Rpb2xsZTogJyx