kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
433 lines (432 loc) • 55.5 kB
JavaScript
"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(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // SPDX-License-Identifier: MIT
// Copyright contributors to the kepler.gl project
var _default = exports["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',
background: 'Tausta'
},
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'
},
layerUpdateError: 'Tason päivityksen aikana tapahtui virhe: {errorMessage}. Varmista, että syötetietojen muoto on kelvollinen.'
},
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ä',
billboard: 'Billboard -tila',
billboardDescription: 'Suuntaa geometria kameraa kohti',
fadeTrail: 'Häipyvä polku',
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',
fixedHeight: 'Kiinteä korkeus',
fixedHeightDescription: 'Käytä korkeutta ilman muutoksia'
},
layerManager: {
addData: 'Lisää aineisto',
addLayer: 'Lisää taso',
layerBlending: 'Tasojen sekoittuvuus'
},
mapManager: {
mapStyle: 'Kartan tyyli',
addMapStyle: 'Lisää tyyli kartalle',
'3dBuildingColor': '3D-rakennusten väri',
backgroundColor: 'Taustavä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',
resetAfterError: 'Yritä ottaa taso käyttöön virheen jälkeen',
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',
showAiAssistantPanel: 'Näytä AI-apuohjelman paneeli',
hideAiAssistantPanel: 'Piilota AI-apuohjelman paneeli',
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.',
resolutionPlaceholder: 'Valitse resoluutio...',
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'
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9jYWxlcyIsInJlcXVpcmUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsInByb3BlcnR5Iiwid2VpZ2h0IiwibGFiZWwiLCJmaWxsQ29sb3IiLCJjb2xvciIsInN0cm9rZUNvbG9yIiwicmFkaXVzIiwib3V0bGluZSIsInN0cm9rZSIsImRlbnNpdHkiLCJjb3ZlcmFnZSIsInN1bSIsInBvaW50Q291bnQiLCJwbGFjZWhvbGRlciIsInNlYXJjaCIsInNlbGVjdEZpZWxkIiwieUF4aXMiLCJzZWxlY3RUeXBlIiwic2VsZWN0VmFsdWUiLCJlbnRlclZhbHVlIiwiZW1wdHkiLCJtaXNjIiwiYnkiLCJ2YWx1ZXNJbiIsInZhbHVlRXF1YWxzIiwiZGF0YVNvdXJjZSIsImJydXNoUmFkaXVzIiwibWFwTGF5ZXJzIiwidGl0bGUiLCJyb2FkIiwiYm9yZGVyIiwiYnVpbGRpbmciLCJ3YXRlciIsImxhbmQiLCJiYWNrZ3JvdW5kIiwicGFuZWwiLCJ0ZXh0IiwibGFiZWxXaXRoSWQiLCJmb250U2l6ZSIsImZvbnRDb2xvciIsInRleHRBbmNob3IiLCJhbGlnbm1lbnQiLCJhZGRNb3JlTGFiZWwiLCJzaWRlYmFyIiwicGFuZWxzIiwibGF5ZXIiLCJpbnRlcmFjdGlvbiIsImJhc2VtYXAiLCJyZXF1aXJlZCIsInByb3BlcnR5QmFzZWRPbiIsInN0cm9rZVdpZHRoIiwiYmFzaWMiLCJ0cmFpbExlbmd0aCIsInRyYWlsTGVuZ3RoRGVzY3JpcHRpb24iLCJuZXdMYXllciIsImVsZXZhdGlvbkJ5RGVzY3JpcHRpb24iLCJjb2xvckJ5RGVzY3JpcHRpb24iLCJhZ2dyZWdhdGVCeSIsInR5cGUiLCJwb2ludCIsImFyYyIsImxpbmUiLCJncmlkIiwiaGV4YmluIiwicG9seWdvbiIsImdlb2pzb24iLCJjbHVzdGVyIiwiaWNvbiIsImhlYXRtYXAiLCJoZXhhZ29uIiwiaGV4YWdvbmlkIiwidHJpcCIsInMyIiwibGF5ZXJVcGRhdGVFcnJvciIsImxheWVyVmlzQ29uZmlncyIsInN0cm9rZVdpZHRoUmFuZ2UiLCJmaXhlZFJhZGl1cyIsImZpeGVkUmFkaXVzRGVzY3JpcHRpb24iLCJyYWRpdXNSYW5nZSIsImNsdXN0ZXJSYWRpdXMiLCJyYWRpdXNSYW5nZVBpeGVscyIsImJpbGxib2FyZCIsImJpbGxib2FyZERlc2NyaXB0aW9uIiwiZmFkZVRyYWlsIiwib3BhY2l0eSIsImNvbG9yUmFuZ2UiLCJzdHJva2VDb2xvclJhbmdlIiwidGFyZ2V0Q29sb3IiLCJjb2xvckFnZ3JlZ2F0aW9uIiwiaGVpZ2h0QWdncmVnYXRpb24iLCJyZXNvbHV0aW9uUmFuZ2UiLCJzaXplU2NhbGUiLCJ3b3JsZFVuaXRTaXplIiwiZWxldmF0aW9uU2NhbGUiLCJlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yIiwiZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvckRlc2NyaXB0aW9uIiwiZW5hYmxlSGVpZ2h0Wm9vbUZhY3RvciIsImhlaWdodFNjYWxlIiwiY292ZXJhZ2VSYW5nZSIsImhpZ2hQcmVjaXNpb25SZW5kZXJpbmciLCJoaWdoUHJlY2lzaW9uUmVuZGVyaW5nRGVzY3JpcHRpb24iLCJoZWlnaHQiLCJoZWlnaHREZXNjcmlwdGlvbiIsImZpbGwiLCJlbmFibGVQb2x5Z29uSGVpZ2h0Iiwic2hvd1dpcmVmcmFtZSIsIndlaWdodEludGVuc2l0eSIsInpvb21TY2FsZSIsImhlaWdodFJhbmdlIiwiaGVpZ2h0TXVsdGlwbGllciIsImZpeGVkSGVpZ2h0IiwiZml4ZWRIZWlnaHREZXNjcmlwdGlvbiIsImxheWVyTWFuYWdlciIsImFkZERhdGEiLCJhZGRMYXllciIsImxheWVyQmxlbmRpbmciLCJtYXBNYW5hZ2VyIiwibWFwU3R5bGUiLCJhZGRNYXBTdHlsZSIsImJhY2tncm91bmRDb2xvciIsImxheWVyQ29uZmlndXJhdGlvbiIsImRlZmF1bHREZXNjcmlwdGlvbiIsImhvd1RvIiwiZmlsdGVyTWFuYWdlciIsImFkZEZpbHRlciIsImRhdGFzZXRUaXRsZSIsInNob3dEYXRhVGFibGUiLCJyZW1vdmVEYXRhc2V0IiwiZGF0YXNldEluZm8iLCJyb3dDb3VudCIsInRvb2x0aXAiLCJoaWRlTGF5ZXIiLCJzaG93TGF5ZXIiLCJoaWRlRmVhdHVyZSIsInNob3dGZWF0dXJlIiwiaGlkZSIsInNob3ciLCJyZW1vdmVMYXllciIsInJlc2V0QWZ0ZXJFcnJvciIsImxheWVyU2V0dGluZ3MiLCJjbG9zZVBhbmVsIiwic3dpdGNoVG9EdWFsVmlldyIsInNob3dMZWdlbmQiLCJkaXNhYmxlM0RNYXAiLCJEcmF3T25NYXAiLCJzZWxlY3RMb2NhbGUiLCJzaG93QWlBc3Npc3RhbnRQYW5lbCIsImhpZGVBaUFzc2lzdGFudFBhbmVsIiwiaGlkZUxheWVyUGFuZWwiLCJzaG93TGF5ZXJQYW5lbCIsIm1vdmVUb1RvcCIsInNlbGVjdEJhc2VNYXBTdHlsZSIsInRpbWVQbGF5YmFjayIsImNsb3VkU3RvcmFnZSIsInRvb2xiYXIiLCJleHBvcnRJbWFnZSIsImV4cG9ydERhdGEiLCJleHBvcnRNYXAiLCJzaGFyZU1hcFVSTCIsInNhdmVNYXAiLCJzZWxlY3QiLCJyZWN0YW5nbGUiLCJMT0NBTEVTIiwibW9kYWwiLCJkZWxldGVEYXRhc2V0IiwiYWRkRGF0YVRvTWFwIiwiYWRkQ3VzdG9tTWFwYm94U3R5bGUiLCJzaGFyZVVSTCIsImJ1dHRvbiIsImRvd25sb2FkIiwiYWRkU3R5bGUiLCJzYXZlIiwiZGVmYXVsdENhbmNlbCIsImRlZmF1bHRDb25maXJtIiwicmF0aW9UaXRsZSIsInJhdGlvRGVzY3JpcHRpb24iLCJyYXRpb09yaWdpbmFsU2NyZWVuIiwicmF0aW9DdXN0b20iLCJyYXRpbzRfMyIsInJhdGlvMTZfOSIsInJlc29sdXRpb25UaXRsZSIsInJlc29sdXRpb25EZXNjcmlwdGlvbiIsInJlc29sdXRpb25QbGFjZWhvbGRlciIsIm1hcExlZ2VuZFRpdGxlIiwibWFwTGVnZW5kQWRkIiwiZGF0YXNldFN1YnRpdGxlIiwiYWxsRGF0YXNldHMiLCJkYXRhVHlwZVRpdGxlIiwiZGF0YVR5cGVTdWJ0aXRsZSIsImZpbHRlckRhdGFUaXRsZSIsImZpbHRlckRhdGFTdWJ0aXRsZSIsImZpbHRlcmVkRGF0YSIsInVuZmlsdGVyZWREYXRhIiwiZmlsZUNvdW50IiwiZGVsZXRlRGF0YSIsIndhcm5pbmciLCJwdWJsaXNoVGl0bGUiLCJwdWJsaXNoU3VidGl0bGUxIiwicHVibGlzaFN1YnRpdGxlMiIsInB1Ymxpc2hTdWJ0aXRsZTMiLCJwdWJsaXNoU3VidGl0bGU0IiwicHVibGlzaFN1YnRpdGxlNSIsInB1Ymxpc2hTdWJ0aXRsZTYiLCJwdWJsaXNoU3VidGl0bGU3IiwiZXhhbXBsZVRva2VuIiwicGFzdGVUaXRsZSIsInBhc3RlU3VidGl0bGUxIiwicGFzdGVTdWJ0aXRsZTIiLCJuYW1pbmdUaXRsZSIsInNoYXJlTWFwIiwic2hhcmVVcmlUaXRsZSIsInNoYXJlVXJpU3VidGl0bGUiLCJjbG91ZFRpdGxlIiwiY2xvdWRTdWJ0aXRsZSIsInNoYXJlRGlzY2xhaW1lciIsImdvdG9QYWdlIiwic3RhdHVzUGFuZWwiLCJtYXBVcGxvYWRpbmciLCJlcnJvciIsInN1YnRpdGxlIiwiZm9ybWF0VGl0bGUiLCJmb3JtYXRTdWJ0aXRsZSIsImh0bWwiLCJzZWxlY3Rpb24iLCJ0b2tlblRpdGxlIiwidG9rZW5TdWJ0aXRsZSIsInRva2VuUGxhY2Vob2xkZXIiLCJ0b2tlbk1pc3VzZVdhcm5pbmciLCJ0b2tlbkRpc2NsYWltZXIiLCJ0b2tlblVwZGF0ZSIsIm1vZGVUaXRsZSIsIm1vZGVTdWJ0aXRsZTEiLCJtb2RlU3VidGl0bGUyIiwibW9kZURlc2NyaXB0aW9uIiwicmVhZCIsImVkaXQiLCJqc29uIiwiY29uZmlnVGl0bGUiLCJjb25maWdEaXNjbGFpbWVyIiwiZGlzY2xhaW1lciIsImxvYWRpbmdEaWFsb2ciLCJsb2FkaW5nIiwibG9hZERhdGEiLCJ1cGxvYWQiLCJzdG9yYWdlIiwidHJpcEluZm8iLCJkZXNjcmlwdGlvbjEiLCJjb2RlIiwiZGVzY3JpcHRpb24yIiwiZXhhbXBsZSIsImljb25JbmZvIiwiaWNvbnMiLCJzdG9yYWdlTWFwVmlld2VyIiwibGFzdE1vZGlmaWVkIiwiYmFjayIsIm92ZXJ3cml0ZU1hcCIsImFscmVhZHlFeGlzdHMiLCJsb2FkU3RvcmFnZU1hcCIsImdvVG9QYWdlIiwic3RvcmFnZU1hcHMiLCJub1NhdmVkTWFwcyIsImhlYWRlciIsInZpc2libGVMYXllcnMiLCJsYXllckxlZ2VuZCIsImludGVyYWN0aW9ucyIsImJydXNoIiwiY29vcmRpbmF0ZSIsImFkZGl0aXZlIiwibm9ybWFsIiwic3VidHJhY3RpdmUiLCJjb2x1bW5zIiwibGF0IiwibG5nIiwiYWx0aXR1ZGUiLCJsYXQwIiwibG5nMCIsImxhdDEiLCJsbmcxIiwiYWx0MCIsImFsdDEiLCJjdXN0b21QYWxldHRlIiwic3RlcHMiLCJyZXZlcnNlZCIsInNjYWxlIiwiY29sb3JTY2FsZSIsInN0cm9rZVNjYWxlIiwiZmlsZVVwbG9hZGVyIiwibWVzc2FnZSIsImNocm9tZU1lc3NhZ2UiLCJjb25maWdVcGxvYWRNZXNzYWdlIiwiYnJvd3NlRmlsZXMiLCJ1cGxvYWRpbmciLCJmaWxlTm90U3VwcG9ydGVkIiwib3IiLCJTYXZlIiwiU2hhcmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJhbnNsYXRpb25zL2ZpLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7TE9DQUxFU30gZnJvbSAnLi4vbG9jYWxlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcGVydHk6IHtcbiAgICB3ZWlnaHQ6ICdwYWlub3R1cycsXG4gICAgbGFiZWw6ICduaW1pw7YnLFxuICAgIGZpbGxDb2xvcjogJ3TDpHl0dMO2dsOkcmknLFxuICAgIGNvbG9yOiAndsOkcmknLFxuICAgIHN0cm9rZUNvbG9yOiAndmlpdmFuIHbDpHJpJyxcbiAgICByYWRpdXM6ICdzw6RkZScsXG4gICAgb3V0bGluZTogJ8Okw6RyaXZpaXZhJyxcbiAgICBzdHJva2U6ICd2aWl2YScsXG4gICAgZGVuc2l0eTogJ3RpaGV5cycsXG4gICAgY292ZXJhZ2U6ICdrYXR0YXZ1dXMnLFxuICAgIHN1bTogJ3N1bW1hJyxcbiAgICBwb2ludENvdW50OiAncGlzdGVpZGVuIGx1a3Vtw6TDpHLDpCdcbiAgfSxcbiAgcGxhY2Vob2xkZXI6IHtcbiAgICBzZWFyY2g6ICdFdHNpJyxcbiAgICBzZWxlY3RGaWVsZDogJ1ZhbGl0c2Uga2VudHTDpCcsXG4gICAgeUF4aXM6ICdZLWFrc2VsaScsXG4gICAgc2VsZWN0VHlwZTogJ1ZhbGl0c2UgdHl5cHBpJyxcbiAgICBzZWxlY3RWYWx1ZTogJ1ZhbGl0c2UgYXJ2bycsXG4gICAgZW50ZXJWYWx1ZTogJ0FubmEgYXJ2bycsXG4gICAgZW1wdHk6ICd0eWhqw6QnXG4gIH0sXG4gIG1pc2M6IHtcbiAgICBieTogJycsXG4gICAgdmFsdWVzSW46ICdBcnZvdCBqb3Vrb3NzYTonLFxuICAgIHZhbHVlRXF1YWxzOiAnQXJ2byBvbiB5aHTDpHN1dXJpIGt1aW4nLFxuICAgIGRhdGFTb3VyY2U6ICdBaW5laXN0b2zDpGhkZScsXG4gICAgYnJ1c2hSYWRpdXM6ICdIYXJqYW4gc8OkZGUgKGttKScsXG4gICAgZW1wdHk6ICcgJ1xuICB9LFxuICBtYXBMYXllcnM6IHtcbiAgICB0aXRsZTogJ0thcnRhbiB0YXNvdCcsXG4gICAgbGFiZWw6ICdOaW1pw7Z0JyxcbiAgICByb2FkOiAnVGlldCcsXG4gICAgYm9yZGVyOiAnUmFqYXQnLFxuICAgIGJ1aWxkaW5nOiAnUmFrZW5udWtzZXQnLFxuICAgIHdhdGVyOiAnVmVzaScsXG4gICAgbGFuZDogJ01hYScsXG4gICAgJzNkQnVpbGRpbmcnOiAnM2QtcmFrZW5udWtzZXQnLFxuICAgIGJhY2tncm91bmQ6ICdUYXVzdGEnXG4gIH0sXG4gIHBhbmVsOiB7XG4gICAgdGV4dDoge1xuICAgICAgbGFiZWw6ICdOaW1pw7YnLFxuICAgICAgbGFiZWxXaXRoSWQ6ICdOaW1pw7Yge2xhYmVsSWR9JyxcbiAgICAgIGZvbnRTaXplOiAnRm9udGluIGtva28nLFxuICAgICAgZm9udENvbG9yOiAnRm9udGluIHbDpHJpJyxcbiAgICAgIHRleHRBbmNob3I6ICdUZWtzdGluIGFua2t1cmknLFxuICAgICAgYWxpZ25tZW50OiAnU2lqb2l0dGVsdScsXG4gICAgICBhZGRNb3JlTGFiZWw6ICdMaXPDpMOkIHV1c2lhIG5pbWnDtml0w6QnXG4gICAgfVxuICB9LFxuICBzaWRlYmFyOiB7XG4gICAgcGFuZWxzOiB7XG4gICAgICBsYXllcjogJ1Rhc290JyxcbiAgICAgIGZpbHRlcjogJ1N1b2RhdHRpbWV0JyxcbiAgICAgIGludGVyYWN0aW9uOiAnSW50ZXJha3Rpb3QnLFxuICAgICAgYmFzZW1hcDogJ1RhdXN0YWthcnR0YSdcbiAgICB9XG4gIH0sXG4gIGxheWVyOiB7XG4gICAgcmVxdWlyZWQ6ICdQYWtvbGxpbmVuKicsXG4gICAgcmFkaXVzOiAnU8OkZGUnLFxuICAgIHdlaWdodDogJ1BhaW5vdHVzJyxcbiAgICBwcm9wZXJ0eUJhc2VkT246ICd7cHJvcGVydHl9IHBlcnVzdHVlbiBhcnZvb24nLFxuICAgIGNvbG9yOiAnVsOkcmknLFxuICAgIGZpbGxDb2xvcjogJ1TDpHl0w7ZuIHbDpHJpJyxcbiAgICBvdXRsaW5lOiAnw6TDpHJpdmlpdmEnLFxuICAgIGNvdmVyYWdlOiAnS2F0dGF2dXVzJyxcbiAgICBzdHJva2U6ICdWaWl2YScsXG4gICAgc3Ryb2tlV2lkdGg6ICdWaWl2YW4gcGFrc3V1cycsXG4gICAgc3Ryb2tlQ29sb3I6ICdWaWl2YW4gdsOkcmknLFxuICAgIGJhc2ljOiAnUGVydXMnLFxuICAgIHRyYWlsTGVuZ3RoOiAnSsOkbGplbiBwaXR1dXMnLFxuICAgIHRyYWlsTGVuZ3RoRGVzY3JpcHRpb246ICdKw6RsamVuIGtlc3RvIHNla3VudGVpbmEsIGVubmVua3VpbiBzZSBoaW1tZW5lZSBuw6RreXZpc3TDpCcsXG4gICAgbmV3TGF5ZXI6ICd1dXNpIHRhc28nLFxuICAgIGVsZXZhdGlvbkJ5RGVzY3JpcHRpb246ICdLdW4gYXNldHVzIG9uIHBvaXMgcMOkw6RsdMOkLCBrb3JrZXVzIHBlcnVzdHV1IHBpc3RlaWRlbiBtw6TDpHLDpMOkbicsXG4gICAgY29sb3JCeURlc2NyaXB0aW9uOiAnS3VuIGFzZXR1cyBvbiBwb2lzIHDDpMOkbHTDpCwgdsOkcmkgcGVydXN0dXUgcGlzdGVpZGVuIG3DpMOkcsOkw6RuJyxcbiAgICBhZ2dyZWdhdGVCeTogJ0FnZ3JlZ29pIGtlbnR0w6Qge2ZpZWxkfSBieScsXG4gICAgJzNETW9kZWwnOiAnM0QtbWFsbGknLFxuICAgICczRE1vZGVsT3B0aW9ucyc6ICczRC1tYWxsaW4gYXNldHVrc2V0JyxcbiAgICB0eXBlOiB7XG4gICAgICBwb2ludDogJ3Bpc3RlJyxcbiAgICAgIGFyYzogJ2thYXJpJyxcbiAgICAgIGxpbmU6ICd2aWl2YScsXG4gICAgICBncmlkOiAncnV1ZHVra28nLFxuICAgICAgaGV4YmluOiAnaGV4YmluJyxcbiAgICAgIHBvbHlnb246ICdwb2x5Z29uaScsXG4gICAgICBnZW9qc29uOiAnZ2VvanNvbicsXG4gICAgICBjbHVzdGVyOiAna2x1c3RlcmknLFxuICAgICAgaWNvbjogJ2t1dmEnLFxuICAgICAgaGVhdG1hcDogJ2zDpG1ww7ZrYXJ0dGEnLFxuICAgICAgaGV4YWdvbjogJ2t1dXNpa3VsbWlvJyxcbiAgICAgIGhleGFnb25pZDogJ0gzJyxcbiAgICAgIHRyaXA6ICdtYXRrYScsXG4gICAgICBzMjogJ1MyJyxcbiAgICAgICczZCc6ICczRCdcbiAgICB9LFxuICAgIGxheWVyVXBkYXRlRXJyb3I6XG4gICAgICAnVGFzb24gcMOkaXZpdHlrc2VuIGFpa2FuYSB0YXBhaHR1aSB2aXJoZToge2Vycm9yTWVzc2FnZX0uIFZhcm1pc3RhLCBldHTDpCBzecO2dGV0aWV0b2plbiBtdW90byBvbiBrZWx2b2xsaW5lbi4nXG4gIH0sXG4gIGxheWVyVmlzQ29uZmlnczoge1xuICAgIHN0cm9rZVdpZHRoOiAnVmlpdmFuIHBha3N1dXMnLFxuICAgIHN0cm9rZVdpZHRoUmFuZ2U6ICdWaWl2YW4gcGFrc3V1ZGVuIHJhamF0JyxcbiAgICByYWRpdXM6ICdTw6RkZScsXG4gICAgZml4ZWRSYWRpdXM6ICdWYWtpb3PDpGRlIG1ldHJlaW7DpCcsXG4gICAgZml4ZWRSYWRpdXNEZXNjcmlwdGlvbjogJ0thcnRhbiBzw6RkZSBhYnNvbHV1dHRpc2Vrc2kgc8OkdGVla3NpIG1ldHJlaW7DpCwgZXNpbS4gNSAtPiA1IG1ldHJpaW4nLFxuICAgIHJhZGl1c1JhbmdlOiAnU8OkdGVlbiByYWphdCcsXG4gICAgY2x1c3RlclJhZGl1czogJ0tsdXN0ZXJpZW4gc8OkZGUgcGlrc2VsZWluw6QnLFxuICAgIHJhZGl1c1JhbmdlUGl4ZWxzOiAnU8OkdGVlbiByYWphdCBwaWtzZWxlaW7DpCcsXG4gICAgYmlsbGJvYXJkOiAnQmlsbGJvYXJkIC10aWxhJyxcbiAgICBiaWxsYm9hcmREZXNjcmlwdGlvbjogJ1N1dW50YWEgZ2VvbWV0cmlhIGthbWVyYWEga29odGknLFxuICAgIGZhZGVUcmFpbDogJ0jDpGlweXbDpCBwb2xrdScsXG4gICAgb3BhY2l0eTogJ0zDpHBpbsOka3l2eXlzJyxcbiAgICBjb3ZlcmFnZTogJ0thdHRhdnV1cycsXG4gICAgb3V0bGluZTogJ8OEw6RyaXZpaXZhJyxcbiAgICBjb2xvclJhbmdlOiAnVsOkcmllbiByYWphdCcsXG4gICAgc3Ryb2tlOiAnVmlpdmEnLFxuICAgIHN0cm9rZUNvbG9yOiAnVmlpdmFuIHbDpHJpJyxcbiAgICBzdHJva2VDb2xvclJhbmdlOiAnVmlpdmFuIHbDpHJpbiByYWphdCcsXG4gICAgdGFyZ2V0Q29sb3I6ICdLb2h0ZWVuIHbDpHJpJyxcbiAgICBjb2xvckFnZ3JlZ2F0aW9uOiAnVsOkcmllbiBhZ2dyZWdvaW50aScsXG4gICAgaGVpZ2h0QWdncmVnYXRpb246ICdLb3JrZXVkZW4gYWdncmVnb2ludGknLFxuICAgIHJlc29sdXRpb25SYW5nZTogJ1Jlc29sdXV0aW9uIHJhamF0JyxcbiAgICBzaXplU2NhbGU6ICdLb29uIHNrYWFsYScsXG4gICAgd29ybGRVbml0U2l6ZTogJ1lrc2lra8O2JyxcbiAgICBlbGV2YXRpb25TY2FsZTogJ0tvcm90dGFtaXNlbiBza2FhbGEnLFxuICAgIGVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3I6ICdLw6R5dMOkIGtvcmtldWRlbiB6b29tYXVza2Vycm9pbnRhJyxcbiAgICBlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yRGVzY3JpcHRpb246XG4gICAgICAnU8Okw6Rkw6Qga29ya2V1cyAvIGtvcmtldXMgbnlreWlzZW4gem9vbWF1c2tlcnRvaW1lbiBwZXJ1c3RlZWxsYScsXG4gICAgZW5hYmxlSGVpZ2h0Wm9vbUZhY3RvcjogJ0vDpHl0w6Qga29ya2V1ZGVuIHpvb21hdXNrZXJyb2ludGEnLFxuICAgIGhlaWdodFNjYWxlOiAnS29ya2V1ZGVuIHNrYWFsYScsXG4gICAgY292ZXJhZ2VSYW5nZTogJ1BlaXR0w6R2eXlkZW4gcmFqYXQnLFxuICAgIGhpZ2hQcmVjaXNpb25SZW5kZXJpbmc6ICdUYXJra2EgcmVuZGVyw7ZpbnRpJyxcbiAgICBoaWdoUHJlY2lzaW9uUmVuZGVyaW5nRGVzY3JpcHRpb246ICdUYXJra2EgcmVuZGVyw7ZpbnRpIGpvaHRhYSBoaXRhYW1wYWFuIHN1b3JpdHRhbWlzZWVuJyxcbiAgICBoZWlnaHQ6ICdLb3JrZXVzJyxcbiAgICBoZWlnaHREZXNjcmlwdGlvbjogJ0tsaWtrYWEgb2lrZWFzdGEgeWzDpG51cmthc3RhIG5hcHBpYSB2YWlodGFha3Nlc2kgM0QtbsOka3ltw6TDpG4nLFxuICAgIGZpbGw6ICdUw6R5dHTDticsXG4gICAgZW5hYmxlUG9seWdvbkhlaWdodDogJ1NhbGxpIHBvbHlnb25pZW4ga29ya2V1cycsXG4gICAgc2hvd1dpcmVmcmFtZTogJ07DpHl0w6QgcmF1dGFsYW5rYW1hbGxpJyxcbiAgICB3ZWlnaHRJbnRlbnNpdHk6ICdQYWlub3R1a3NlbiBpbnRlbnNpdGVldHRpJyxcbiAgICB6b29tU2NhbGU6ICdab29tYXVzc2thYWxhJyxcbiAgICBoZWlnaHRSYW5nZTogJ0tvcmtldWRlbiByYWphdCcsXG4gICAgaGVpZ2h0TXVsdGlwbGllcjogJ0tvcmtldXNrZXJyb2luJyxcbiAgICBmaXhlZEhlaWdodDogJ0tpaW50ZcOkIGtvcmtldXMnLFxuICAgIGZpeGVkSGVpZ2h0RGVzY3JpcHRpb246ICdLw6R5dMOkIGtvcmtldXR0YSBpbG1hbiBtdXV0b2tzaWEnXG4gIH0sXG4gIGxheWVyTWFuYWdlcjoge1xuICAgIGFkZERhdGE6ICdMaXPDpMOkIGFpbmVpc3RvJyxcbiAgICBhZGRMYXllcjogJ0xpc8Okw6QgdGFzbycsXG4gICAgbGF5ZXJCbGVuZGluZzogJ1Rhc29qZW4gc2Vrb2l0dHV2dXVzJ1xuICB9LFxuICBtYXBNYW5hZ2VyOiB7XG4gICAgbWFwU3R5bGU6ICdLYXJ0YW4gdHl5bGknLFxuICAgIGFkZE1hcFN0eWxlOiAnTGlzw6TDpCB0eXlsaSBrYXJ0YWxsZScsXG4gICAgJzNkQnVpbGRpbmdDb2xvcic6ICczRC1yYWtlbm51c3RlbiB2w6RyaScsXG4gICAgYmFja2dyb3VuZENvbG9yOiAnVGF1c3RhdsOkcmknXG4gIH0sXG4gIGxheWVyQ29uZmlndXJhdGlvbjoge1xuICAgIGRlZmF1bHREZXNjcmlwdGlvbjogJ0xhc2tlIHN1dXJlZW4ge3Byb3BlcnR5fSBhcnZvIHZhbGl0dW4ga2VudMOkbiBwZXJ1c3RlZWxsYScsXG4gICAgaG93VG86ICdNaXRlbiB0b2ltaWknXG4gIH0sXG4gIGZpbHRlck1hbmFnZXI6IHtcbiAgICBhZGRGaWx0ZXI6ICdMaXPDpMOkIHN1b2RhdGluJ1xuICB9LFxuICBkYXRhc2V0VGl0bGU6IHtcbiAgICBzaG93RGF0YVRhYmxlOiAnTsOkeXTDpCBhdHRyaWJ1dXR0aXRhdWx1JyxcbiAgICByZW1vdmVEYXRhc2V0OiAnUG9pc3RhIGFpbmVpc3RvJ1xuICB9LFxuICBkYXRhc2V0SW5mbzoge1xuICAgIHJvd0NvdW50OiAne3Jvd0NvdW50fSByaXZpw6QnXG4gIH0sXG4gIHRvb2x0aXA6IHtcbiAgICBoaWRlTGF5ZXI6ICdQaWlsb3RhIHRhc28nLFxuICAgIHNob3dMYXllcjogJ07DpHl0w6QgdGFzbycsXG4gICAgaGlkZUZlYXR1cmU6ICdQaWlsb3RhIGtvaGRlJyxcbiAgICBzaG93RmVhdHVyZTogJ07DpHl0w6Qga29oZGUnLFxuICAgIGhpZGU6ICdwaWlsb3RhJyxcbiAgICBzaG93OiAnbsOkeXTDpCcsXG4gICAgcmVtb3ZlTGF5ZXI6ICdQb2lzdGEgdGFzbycsXG4gICAgcmVzZXRBZnRlckVycm9yOiAnWXJpdMOkIG90dGFhIHRhc28ga8OkeXR0w7bDtm4gdmlyaGVlbiBqw6Rsa2VlbicsXG4gICAgbGF5ZXJTZXR0aW5nczogJ1Rhc29uIGFzZXR1a3NldCcsXG4gICAgY2xvc2VQYW5lbDogJ1N1bGplIHBhbmVlbGknLFxuICAgIHN3aXRjaFRvRHVhbFZpZXc6ICdWYWloZGEga2Frc29pc2thcnJ0YW7DpGt5bcOkw6RuJyxcbiAgICBzaG93TGVnZW5kOiAnTsOkeXTDpCBzZWxpdGUnLFxuICAgIGRpc2FibGUzRE1hcDogJ1BvaXN0dSAzRC1uw6RreW3DpHN0w6QnLFxuICAgIERyYXdPbk1hcDogJ1BpaXJyw6Qga2FydGFsbGUnLFxuICAgIHNlbGVjdExvY2FsZTogJ1ZhbGl0c2Uga2llbGlzeXlzJyxcbiAgICBzaG93QWlBc3Npc3RhbnRQYW5lbDogJ07DpHl0w6QgQUktYXB1b2hqZWxtYW4gcGFuZWVsaScsXG4gICAgaGlkZUFpQXNzaXN0YW50UGFuZWw6ICdQaWlsb3RhIEFJLWFwdW9oamVsbWFuIHBhbmVlbGknLFxuICAgIGhpZGVMYXllclBhbmVsOiAnUGlpbG90YSB0YXNvcGFuZWVsaScsXG4gICAgc2hvd0xheWVyUGFuZWw6ICdOw6R5dMOkIHRhc29wYW5lZWxpJyxcbiAgICBtb3ZlVG9Ub3A6ICdTaWlycsOkIHRhc29qZW4gcMOkw6RsbGltbcOkaXNla3NpJyxcbiAgICBzZWxlY3RCYXNlTWFwU3R5bGU6ICdWYWxpdHNlIHRhdXN0YWthcnR0YXR5eWxpJyxcbiAgICBkZWxldGU6ICdQb2lzdGEnLFxuICAgIHRpbWVQbGF5YmFjazogJ0FqYW4gYW5pbW9pbnRpJyxcbiAgICBjbG91ZFN0b3JhZ2U6ICdQaWx2aXRhbGxlbm51cycsXG4gICAgJzNETWFwJzogJzNELW7DpGt5bcOkJ1xuICB9LFxuICB0b29sYmFyOiB7XG4gICAgZXhwb3J0SW1hZ2U6ICdWaWUga3V2YScsXG4gICAgZXhwb3J0RGF0YTogJ1ZpZSBhaW5laXN0b3QnLFxuICAgIGV4cG9ydE1hcDogJ1ZpZSBrYXJ0dGEnLFxuICAgIHNoYXJlTWFwVVJMOiAnSmFhIGthcnRhbiBVUkwnLFxuICAgIHNhdmVNYXA6ICdUYWxsZW5uYSBrYXJ0dGEnLFxuICAgIHNlbGVjdDogJ3ZhbGl0c2UnLFxuICAgIHBvbHlnb246ICdwb2x5Z29uaScsXG4gICAgcmVjdGFuZ2xlOiAnbmVsaWt1bG1pbycsXG4gICAgaGlkZTogJ3BpaWxvdGEnLFxuICAgIHNob3c6ICduw6R5dMOkJyxcbiAgICAuLi5MT0NBTEVTXG4gIH0sXG4gIG1vZGFsOiB7XG4gICAgdGl0bGU6IHtcbiAgICAgIGRlbGV0ZURhdGFzZXQ6ICdQb2lzdGEgYWluZWlzdG8nLFxuICAgICAgYWRkRGF0YVRvTWFwOiAnTGlzw6TDpCBhaW5laXN0b2phIGthcnRhbGxlJyxcbiAgICAgIGV4cG9ydEltYWdlOiAnVmllIGt1dmEnLFxuICAgICAgZXhwb3J0RGF0YTogJ1ZpZSBhaW5laXN0b3QnLFxuICAgICAgZXhwb3J0TWFwOiAnVmllIGthcnR0YScsXG4gICAgICBhZGRDdXN0b21NYXBib3hTdHlsZTogJ0xpc8Okw6Qgb21hIE1hcGJveC10eXlsaScsXG4gICAgICBzYXZlTWFwOiAnVGFsbGVubmEga2FydHRhJyxcbiAgICAgIHNoYXJlVVJMOiAnSmFhIFVSTCdcbiAgICB9LFxuICAgIGJ1dHRvbjoge1xuICAgICAgZGVsZXRlOiAnUG9pc3RhJyxcbiAgICAgIGRvd25sb2FkOiAnTGF0YWEnLFxuICAgICAgZXhwb3J0OiAnVmllJyxcbiAgICAgIGFkZFN0eWxlOiAnTGlzw6TDpCB0eXlsaScsXG4gICAgICBzYXZlOiAnVGFsbGVubmEnLFxuICAgICAgZGVmYXVsdENhbmNlbDogJ1BlcnUnLFxuICAgICAgZGVmYXVsdENvbmZpcm06ICdWYWh2aXN0YSdcbiAgICB9LFxuICAgIGV4cG9ydEltYWdlOiB7XG4gICAgICByYXRpb1RpdGxlOiAnS3V2YXN1aGRlJyxcbiAgICAgIHJhdGlvRGVzY3JpcHRpb246ICdWYWxpdHNlIHNvcGl2YSBrdXZhc3VoZGUga8OkeXR0w7Z0YXBhdXN0YXNpIHZhcnRlbi4nLFxuICAgICAgcmF0aW9PcmlnaW5hbFNjcmVlbjogJ0Fsa3VwZXLDpGluZW4gbsOkeXR0w7YnLFxuICAgICAgcmF0aW9DdXN0b206ICdLdXN0b21vaXR1JyxcbiAgICAgIHJhdGlvNF8zOiAnNDozJyxcbiAgICAgIHJhdGlvMTZfOTogJzE2OjknLFxuICAgICAgcmVzb2x1dGlvblRpdGxlOiAnUmVzb2x1dXRpbycsXG4gICAgICByZXNvbHV0aW9uRGVzY3JpcHRpb246ICdLb3JrZWEgcmVzb2x1dXRpbyBvbiBwYXJlbXBpIHR1bG9zdGFtaXN0YSB2YXJ0ZW4uJyxcbiAgICAgIHJlc29sdXRpb25QbGFjZWhvbGRlcjogJ1ZhbGl0c2UgcmVzb2x1dXRpby4uLicsXG4gICAgICBtYXBMZWdlbmRUaXRsZTogJ0thcnRhbiBzZWxpdGUnLFxuICAgICAgbWFwTGVnZW5kQWRkOiAnTGlzw6TDpCBzZWxpdGUga2FydHRhYW4nXG4gICAgfSxcbiAgICBleHBvcnREYXRhOiB7XG4gICAgICBkYXRhc2V0VGl0bGU6ICdBaW5laXN0b3QnLFxuICAgICAgZGF0YXNldFN1YnRpdGxlOiAnVmFsaXRzZSBhaW5laXN0bywgam9ua2EgYWlvdCB2aWVkw6QnLFxuICAgICAgYWxsRGF0YXNldHM6ICdLYWlra2knLFxuICAgICAgZGF0YVR5cGVUaXRsZTogJ0FpbmVpc3RvamVuIGZvcm1hYXR0aScsXG4gICAgICBkYXRhVHlwZVN1YnRpdGxlOiAnVmFsaXRzZSBhaW5laXN0b2Zvcm1hYXR0aSB2YWxpdHNlbWlsbGVzaSBhaW5laXN0b2lsbGUnLFxuICAgICAgZmlsdGVyRGF0YVRpdGxlOiAnU3VvZGF0YSBhaW5laXN0b2phJyxcbiAgICAgIGZpbHRlckRhdGFTdWJ0aXRsZTogJ1ZvaXQgdmllZMOkIGpva28gYWxrdXBlcsOkaXNldCBhaW5laXN0b3QgdGFpIHN1b2RhdGV0dXQgYWluZWlzdG90JyxcbiAgICAgIGZpbHRlcmVkRGF0YTogJ1N1b2RhdGV0dXQgYWluZWlzdG90JyxcbiAgICAgIHVuZmlsdGVyZWREYXRhOiAnU3VvZGF0dGFtYXR0b21hdCBhaW5laXN0b3QnLFxuICAgICAgZmlsZUNvdW50OiAne2ZpbGVDb3VudH0gdGllZG9zdG9hJyxcbiAgICAgIHJvd0NvdW50OiAne3Jvd0NvdW50fSByaXZpw6QnXG4gICAgfSxcbiAgICBkZWxldGVEYXRhOiB7XG4gICAgICB3YXJuaW5nOiAnYWlvdCBwb2lzdGFhIHTDpG3DpG4gYWluZWlzdG9uLiBBaW5lb3N0b2Ega8OkeXR0w6R2aWVuIHRhc29qZW4gbHVrdW3DpMOkcsOkOiB7bGVuZ3RofSdcbiAgICB9LFxuICAgIGFkZFN0eWxlOiB7XG4gICAgICBwdWJsaXNoVGl0bGU6ICcxLiBKdWxrYWlzZSB0eXlsaXNpIE1hcGJveGlzc2EgdGFpIGFubmEgdHVubmlzdGUnLFxuICAgICAgcHVibGlzaFN1YnRpdGxlMTogJ1ZvaXQgbHVvZGEgb21hbiBrYXJ0dGF0eXlsaXNpIHNpdnVsbGEnLFxuICAgICAgcHVibGlzaFN1YnRpdGxlMjogJ2phJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTM6ICdqdWxrYWlzdGEnLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNDogJ3Nlbi4nLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNTogJ0vDpHl0dMOkw6Rrc2VzaSB5a3NpdHlpc3TDpCB0eXlsacOkLCBsaWl0w6QnLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNjogJ3R1bm5pc3RlZXNpJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTc6XG4gICAgICAgICd0w6RubmUuICprZXBsZXIuZ2wgb24gY2xpZW50LXNpZGUgc292ZWxsdXMsIGRhdGEgcHlzeXkgdmFpbiBzZWxhaW1lc3Nhc2kuLi4nLFxuICAgICAgZXhhbXBsZVRva2VuOiAnZXNpbS4gcGsuYWJjZGVmZy54eHh4eHgnLFxuICAgICAgcGFzdGVUaXRsZTogJzIuIExpaXTDpCB0eXlsaS1VUkwnLFxuICAgICAgcGFzdGVTdWJ0aXRsZTE6ICdNaWvDpCBvbicsXG4gICAgICBwYXN0ZVN1YnRpdGxlMjogJ3R5eWxpLVVSTD8nLFxuICAgICAgbmFtaW5nVGl0bGU6ICczLiBOaW1lw6QgdHl5bGlzaSdcbiAgICB9LFxuICAgIHNoYXJlTWFwOiB7XG4gICAgICBzaGFyZVVyaVRpdGxlOiAnSmFhIGthcnRhbiBVUkwnLFxuICAgICAgc2hhcmVVcmlTdWJ0aXRsZTogJ0x1byBrYXJ0YWxsZSBVUkwsIGpvbmthIHZvaXQgamFrYWEgbXVpZGVuIGthbnNzYScsXG4gICAgICBjbG91ZFRpdGxlOiAnUGlsdml0YWxsZW5udXMnLFxuICAgICAgY2xvdWRTdWJ0aXRsZTpcbiAgICAgICAgJ0tpcmphdWR1IHNpc8Okw6RuIGphIGxhdGFhIGthcnR0YSBqYSBhaW5laXN0b3QgaGVua2lsw7Zrb2h0YWlzZWVuIHBpbHZpcGFsdmVsdXVuJyxcbiAgICAgIHNoYXJlRGlzY2xhaW1lcjpcbiAgICAgICAgJ2tlcGxlci5nbCB0YWxsZW50YWEga2FydGFuIGRhdGFuIGhlbmtpbMO2a29odGFpc2VlbiBwaWx2aXRhbGxlbm51c3RpbGFhc2ksIHZhaW4gaWhtaXNldCwgam9pbGxhIG9uIFVSTCwgdm9pdmF0IHDDpMOkc3TDpCBrw6RzaWtzaSBrYXJ0dGFhbiBqYSBhaW5laXN0b2loaW4uICcgK1xuICAgICAgICAnVm9pdCBtdW9rYXRhIHRpZWRvc3RvamEgdGFpIHBvaXN0YWEgbmUgcGlsdmlwYWx2ZWx1c3Rhc2kgbWlsbG9pbiB2YWluLicsXG4gICAgICBnb3RvUGFnZTogJ01lbmUgS2VwbGVyLmdsIHtjdXJyZW50UHJvdmlkZXJ9IHNpdnVsbGVzaSdcbiAgICB9LFxuICAgIHN0YXR1c1BhbmVsOiB7XG4gICAgICBtYXBVcGxvYWRpbmc6ICdLYXJ0dGFhIGxhZGF0YWFuJyxcbiAgICAgIGVycm9yOiAnVmlyaGUnXG4gICAgfSxcbiAgICBzYXZlTWFwOiB7XG4gICAgICB0aXRsZTogJ1BpbHZpdGFsbGVubnVzJyxcbiAgICAgIHN1YnRpdGxlOiAnS2lyamF1ZHUgc2lzw6TDpG4gcGlsdmlwYWx2ZWx1dXNpIHRhbGxlbnRhYWtzZXNpIGthcnRhbidcbiAgICB9LFxuICAgIGV4cG9ydE1hcDoge1xuICAgICAgZm9ybWF0VGl0bGU6ICdLYXJ0YW4gZm9ybWFhdHRpJyxcbiAgICAgIGZvcm1hdFN1YnRpdGxlOiAnVmFsaXRzZSBmb3JtYWF0dGksIGpvc3NhIHZpZXQga2FydGFuJyxcbiAgICAgIGh0bWw6IHtcbiAgICAgICAgc2VsZWN0aW9uOiAnVmllIGthcnR0YSBpbnRlcmFrdGlpdmlzZW5hIGh0bWwtdGllZG9zdG9uYScsXG4gICAgICAgIHRva2VuVGl0bGU6ICdNYXBib3gtdHVubmlzdGUnLFxuICAgICAgICB0b2tlblN1YnRpdGxlOiAnS8OkeXTDpCBvbWFhIE1hcGJveC10dW5uaXN0ZXR0YXNpIGh0bWwtdGllZG9zdG9zc2EgKHZhbGlubmFpbmVuKScsXG4gICAgICAgIHRva2VuUGxhY2Vob2xkZXI6ICdMaWl0w6QgTWFwYm94LXR1bm5pc3RlZXNpJyxcbiAgICAgICAgdG9rZW5NaXN1c2VXYXJuaW5nOlxuICAgICAgICAgICcqIEpvcyBldCBrw6R5dMOkIG9tYWEgdHVubmlzdGV0dGFzaSwga2FydHRhIHZvaSBsYWthdGEgdG9pbWltYXN0YSBtaWxsb2luIHZhaW4ga3VuIHZhaWhkYW1tZSBvbWFhIHR1bm5pc3RldHRhbW1lIHbDpMOkcmlua8OkeXTDtm4gZXN0w6RtaXNla3NpLiAnLFxuICAgICAgICB0b2tlbkRpc2NsYWltZXI6ICdWb2l0IHZhaWh0YWEgTWFwYm94LXR1bm5pc3RlZXNpIG7DpGlkZW4gb2hqZWlkZW4gYXZ1bGxhOiAnLFxuICAgICAgICB0b2tlblVwZGF0ZTogJ0t1aW5rYSB2YWlodGFhIG9sZW1hc3Nhb2xldmEgTWFwYm94LXR1bm5pc3RlJyxcbiAgICAgICAgbW9kZVRpdGxlOiAnS2FydGFuIHRpbGEnLFxuICAgICAgICBtb2RlU3VidGl0bGUxOiAnVmFsaXRzZSBrYXJ0YW4gdGlsYS4nLFxuICAgICAgICBtb2RlU3VidGl0bGUyOiAnTGlzw6R0aWV0b2phJyxcbiAgICAgICAgbW9kZURlc2NyaXB0aW9uOiAnQW5uYSBrw6R5dHTDpGppZW4ge21vZGV9IGthcnR0YWEnLFxuICAgICAgICByZWFkOiAnbHVrZWEnLFxuICAgICAgICBlZGl0OiAnbXVva2F0YSdcbiAgICAgIH0sXG4gICAgICBqc29uOiB7XG4gICAgICAgIGNvbmZpZ1RpdGxlOiAnS2FydGFuIGFzZXR1a3NldCcsXG4gICAgICAgIGNvbmZpZ0Rpc2NsYWltZXI6XG4gICAgICAgICAgJ0thcnRhbiBhc2V0dWtzZXQgc2lzw6RsdHl2w6R0IEpzb24tdGllZG9zdG9vbi4gSm9zIGvDpHl0w6R0IGtpcmphc3RvYSBrZXBsZXIuZ2wgb21hc3NhIHNvdmVsbHVrc2Vzc2FzaS4gVm9pdCBrb3Bpb2lkYSBhc2V0dWtzZXQgamEgYW50YWEgbmUgZnVua3Rpb2xsZTogJyxcbiAgICAgICAgc2VsZWN0aW9uOlxuICAgICAgICAgICdWaWUga3lzZWlzZW4ga2FydGFuIGFpbmVpc3RvdCBqYSBhc2V0dWtzZXQgeWhkZXNzw6QganNvbi10aWVkb3N0b3NzYS4gVm9pdCBtecO2aGVtbWluIGF2YXRhIHNhbWFuIGthcnRhbiBsYXRhYW1hbGxhIHRpZWRvc3RvbiBrZXBsZXIuZ2w6bicsXG4gICAgICAgIGRpc2NsYWltZXI6XG4gICAgICAgICAgJyogS2FydGFuIGFzZXR1a3NldCBvdmF0IHNpZG9rc2lzc2EgbGFkYXR0dWloaW4gYWluZWlzdG9paGluLiBBcnZvYSDigJhkYXRhSWTigJkga8OkeXRldMOkw6RuIHRhc29qZW4sIHN1b2RhdHRpbWllbiBqYSB2aWhqZWlkZW4gbGlpdHTDpG1pc2Vrc2kgdGlldHR5eW4gYWluZWlzdG9vbi4gJyArXG4gICAgICAgICAgJ1Zhcm1pc3RhLCBldHTDpCBhaW5laXN0b24gZGF0YUlkOnQgdmFzdGFhdmF0IGFzZXR1c3RlbiBhcnZvamEgam9zIGxhdGFhdCBhc2V0dWtzZXQga8OkeXR0w6RlbiBgYWRkRGF0YVRvTWFwYC1mdW5rdGlvbGxlLidcbiAgICAgIH1cbiAgICB9LFxuICAgIGxvYWRpbmdEaWFsb2c6IHtcbiAgICAgIGxvYWRpbmc6ICdMYWRhdGFhbi4uLidcbiAgICB9LFxuICAgIGxvYWREYXRhOiB7XG4gICAgICB1cGxvYWQ6ICdMYXRhYSB0aWVkb3N0b3QnLFxuICAgICAgc3RvcmFnZTogJ0xhdGFhIHRhbGxlbm51c3RpbGFzdGEnXG4gICAgfSxcbiAgICB0cmlwSW5mbzoge1xuICAgICAgdGl0bGU6ICdLdWlua2Ega8OkeXR0w6TDpCBtYXRrYS1hbmltYWF0aW90YScsXG4gICAgICBkZXNjcmlwdGlvbjE6XG4gICAgICAgICdSZWl0aW4gYW5pbW9pbWlzZWtzaSBnZW9KU09OLWFpbmVpc3RvbiB0w6R5dHl5IG9sbGEgZ2VvbWV0cmlhdHl5cGlsdMOkw6RuIGBMaW5lU3RyaW5nYCwgTGluZVN0cmluZy1rb29yZGluYWF0dGllbiB0w6R5dHl5IHNpc8OkbHTDpMOkIDQgZWxlbWVudHRpw6QgZm9ybWFhdGlzc2E6JyxcbiAgICAgIGNvZGU6ICcgW3BpdHV1c2FzdGUsIGxldmV5c2FzdGUsIGtvcmtldXMsIGFpa2FsZWltYV0gJyxcbiAgICAgIGRlc2NyaXB0aW9uMjpcbiAgICAgICAgJ3NpdGVuLCBldHTDpCB2aWltZWluZW4gZWxlbWVudHRpIG9uIGFpa2FsZWltYS4gQWlrYWxlaW1hIHZvaSBvbGxhIG11b2RvbHRhYW4gdW5peC1zZWt1bnRlamEsIGt1dGVuIGAxNTY0MTg0MzYzYCB0YWkgbWlsbGlzZWt1bnRlamEsIGt1dGVuIGAxNTY0MTg0MzYzMDAwYC4nLFxuICAgICAgZXhhbXBsZTogJ0VzaW1lcmtraTonXG4gICAgfSxcbiAgICBpY29uSW5mbzoge1xuICAgICAgdGl0bGU6ICdNaXRlbiBwaWlydMOkw6Qga3V2aWEnLFxuICAgICAgZGVzY3JpcHRpb24xOlxuICAgICAgICAnY3N2LXRpZWRvc3Rvc3Nhc2ksIGx1byBzYXJha2UgbmltZWx0w6QgaWNvbi4gVm9pdCBqw6R0dMOkw6Qgc2VuIHR5aGrDpGtzaSBqb3MgZXQgaGFsdWEgcGlpcnTDpMOkIGt1dmFhIGpvaWxsYWluIHBpc3RlaWxsw6QuIEt1biBzYXJha2tlZW4gbmltaSBvbiAnLFxuICAgICAgY29kZTogJ2ljb24nLFxuICAgICAgZGVzY3JpcHRpb24yOiAnIGtlcGxlci5nbCBsdW8gYXV0b21hYXR0aXNlc3RpIGt1dmF0YXNvbiBzaW51YSB2YXJ0ZW4uJyxcbiAgICAgIGV4YW1wbGU6ICdFc2ltZXJra2k6JyxcbiAgICAgIGljb25zOiAnS3V2YXQnXG4gICAgfSxcbiAgICBzdG9yYWdlTWFwVmlld2VyOiB7XG4gICAgICBsYXN0TW9kaWZpZWQ6ICdWaWltZWtzaSBtdW9rYXR0dSB7bGFzdFVwZGF0ZWR9IHNpdHRlbicsXG4gICAgICBiYWNrOiAnVGFrYWlzaW4nXG4gICAgfSxcbiAgICBvdmVyd3JpdGVNYXA6IHtcbiAgICAgIHRpdGxlOiAnVGFsbGVubmV0YWFuIGthcnR0YWEuLi4nLFxuICAgICAgYWxyZWFkeUV4aXN0czogJ29uIGpvIHttYXBTYXZlZH06c3NhLiBIYWx1YXRrbyB5bGlraXJqb2l0dGFhIHNlbj8nXG4gICAgfSxcbiAgICBsb2FkU3RvcmFnZU1hcDoge1xuICAgICAgYmFjazogJ1Rha2Fpc2luJyxcbiAgICAgIGdvVG9QYWdlOiAnTWVuZSBLZXBsZXIuZ2wge2Rpc3BsYXlOYW1lfSBzaXZ1bGxlc2knLFxuICAgICAgc3RvcmFnZU1hcHM6ICdUYWxsZW5udXMgLyBLYXJ0YXQnLFxuICAgICAgbm9TYXZlZE1hcHM6ICdFaSB0YWxsZW5uZXR0dWphIGthcnR0b2phIHZpZWzDpCdcbiAgICB9XG4gIH0sXG4gIGhlYWRlcjoge1xuICAgIHZpc2libGVMYXllcnM6ICdOw6RreXZpc3PDpCBvbGV2YXQgdGFzb3QnLFxuICAgIGxheWVyTGVnZW5kOiAnVGFzb24gc2VsaXRlJ1xuICB9LFxuICBpbnRlcmFjdGlvbnM6IHtcbiAgICB0b29sdGlwOiAnVmloamUnLFxuICAgIGJydXNoOiAnSGFyamEnLFxuICAgIGNvb3JkaW5hdGU6ICdLb29yZGluYWF0aXQnXG4gIH0sXG4gIGxheWVyQmxlbmRpbmc6IHtcbiAgICB0aXRsZTogJ1Rhc29qZW4gc2Vrb2l0dHV2dXVzJyxcbiAgICBhZGRpdGl2ZTogJ2xpc8Okw6R2w6QnLFxuICAgIG5vcm1hbDogJ25vcm1hYWxpJyxcbiAgICBzdWJ0cmFjdGl2ZTogJ3bDpGhlbnTDpHbDpCdcbiAgfSxcbiAgY29sdW1uczoge1xuICAgIHRpdGxlOiAnU2FyYWtrZWV0JyxcbiAgICBsYXQ6ICdsYXQnLFxuICAgIGxuZzogJ2xuZycsXG4gICAgYWx0aXR1ZGU6ICdrb3JrZXVzJyxcbiAgICBpY29uOiAna3V2YScsXG4gICAgZ2VvanNvbjogJ2dlb2pzb24nLFxuICAgIGFyYzoge1xuICAgICAgbGF0MDogJ2zDpGhkw7ZuIGxhdCcsXG4gICAgICBsbmcwOiAnbMOkaGTDtm4gbG5nJyxcbiAgICAgIGxhdDE6ICdrb2h0ZWVuIGxhdCcsXG4gICAgICBsbmcxOiAna29odGVlbiBsbmcnXG4gICAgfSxcbiAgICBsaW5lOiB7XG4gICAgICBhbHQwOiAnbMOkaHRlZW4ga29ya2V1cycsXG4gICAgICBhbHQxOiAna29oZGUga29ya2V1cydcbiAgICB9LFxuICAgIGdyaWQ6IHtcbiAgICAgIHdvcmxkVW5pdFNpemU6ICdSdXV0dWplbiBrb2tvIChrbSknXG4gICAgfSxcbiAgICBoZXhhZ29uOiB7XG4gICAgICB3b3JsZFVuaXRTaXplOiAnSGV4YWdvbmllbiBzw6RkZSAoa20pJ1xuICAgIH1cbiAgfSxcbiAgY29sb3I6IHtcbiAgICBjdXN0b21QYWxldHRlOiAnTXVrYXV0ZXR0dSBwYWxldHRpJyxcbiAgICBzdGVwczogJ2Fza2VsZWV0JyxcbiAgICB0eXBlOiAndHl5cHBpJyxcbiAgICByZXZlcnNlZDogJ2vDpMOkbnRlaW5lbidcbiAgfSxcbiAgc2NhbGU6IHtcbiAgICBjb2xvclNjYWxlOiAnVsOkcmluIHNrYWFsYScsXG4gICAgc2l6ZVNjYWxlOiAnS29vbiBza2FhbGEnLFxuICAgIHN0cm9rZVNjYWxlOiAnVmlpdmFuIHBha3N1dWRlbiBza2FhbGEnLFxuICAgIHNjYWxlOiAnU2thYWxhJ1xuICB9LFxuICBmaWxlVXBsb2FkZXI6IHtcbiAgICBtZXNzYWdlOiAnUmFhaGFhIGphIHB1ZG90YSB0aWVkb3N0b3NpIHTDpG5uZScsXG4gICAgY2hyb21lTWVzc2FnZTpcbiAgICAgICcqQ2hyb21lbiBrw6R5dHTDpGrDpDogUmFqb2l0YSB0aWVkb3N0b2tva29zaSAyNTBNYjpoZW4uIEpvcyBoYWx1YXQgc3V1cmVtcGlhIHRpZWRvc3RvamEsIGtva2VpbGUgU2FmYXJpYScsXG4gICAgZGlzY2xhaW1lcjpcbiAgICAgICcqa2VwbGVyLmdsIG9uIGNsaWVudC1zaWRlIHNvdmVsbHVzLCBkYXRhIHB5c3l5IHZhaW4gc2VsYWltZXNzYXNpLi4uJyArXG4gICAgICAnVGlldG9qYSBlaSBsw6RoZXRldMOkIHBhbHZlbGltZWxsZS4nLFxuICAgIGNvbmZpZ1VwbG9hZE1lc3NhZ2U6XG4gICAgICAnTGlzw6TDpCB7ZmlsZUZvcm1hdE5hbWVzfSB0YWkgdGFsbGVubmV0dHUga2FydHRhICoqSnNvbioqLiBMdWUgbGlzw6TDpCBbKip0dWV0dWlzdGEgZm9ybWFhdGVpc3RhKipdJyxcbiAgICBicm93c2VGaWxlczogJ3NlbGFhIHRpZWRvc3RvamFzaScsXG4gICAgdXBsb2FkaW5nOiAnbGFkYXRhYW4nLFxuICAgIGZpbGVOb3RTdXBwb3J0ZWQ6ICdUaWVkb3N0byB7ZXJyb3JGaWxlc30gZWkgb2xlIHR1ZXR0dS4nLFxuICAgIG9yOiAndGFpJ1xuICB9LFxuICBkZW5zaXR5OiAndGloZXlzJyxcbiAgJ0J1ZyBSZXBvcnQnOiAnQnVnaXJhcG9ydG9pbnRpJyxcbiAgJ1VzZXIgR3VpZGUnOiAnT3BhcycsXG4gIFNhdmU6ICdUYWxsZW5uYScsXG4gIFNoYXJlOiAnSmFhJ1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxJQUFBQSxRQUFBLEdBQUFDLE9BQUE7QUFBbUMsU0FBQUMsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixDQUFBLEVBQUFDLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFaLENBQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFZLFNBQUEsQ0FBQUMsTUFBQSxFQUFBYixDQUFBLFVBQUFDLENBQUEsV0FBQVcsU0FBQSxDQUFBWixDQUFBLElBQUFZLFNBQUEsQ0FBQVosQ0FBQSxRQUFBQSxDQUFBLE9BQUFGLE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLE9BQUFhLE9BQUEsV0FBQWQsQ0FBQSxRQUFBZSxnQkFBQSxhQUFBaEIsQ0FBQSxF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