kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
461 lines (460 loc) • 59 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: 'pes',
label: 'etiqueta',
fillColor: 'color fons',
color: 'color',
coverage: 'cobertura',
strokeColor: 'color de traç',
radius: 'radi',
outline: 'outline',
stroke: 'traç',
density: 'densitat',
height: 'alçada',
sum: 'suma',
pointCount: 'Recompte de Punts'
},
placeholder: {
search: 'Cerca',
selectField: 'Selecciona un camp',
yAxis: 'Eix Y',
selectType: 'Selecciona un Tipus',
selectValue: 'Selecciona un Valor',
enterValue: 'Entra un valor',
empty: 'buit'
},
misc: {
by: '',
valuesIn: 'Valors a',
valueEquals: 'Valor igual a',
dataSource: 'Font de dades',
brushRadius: 'Radi del pinzell (km)',
empty: ' '
},
mapLayers: {
title: 'Capes del mapa',
label: 'Etiqueta',
road: 'Carretera',
border: 'Frontera',
building: 'Edifici',
water: 'Aigua',
land: 'Terra',
'3dBuilding': 'Edifici 3D',
background: 'Fons'
},
panel: {
text: {
label: 'etiqueta',
labelWithId: 'Etiqueta {labelId}',
fontSize: 'Mida de la font',
fontColor: 'Color de la font',
textAnchor: 'Àncora del text',
alignment: 'Alineació',
addMoreLabel: 'Afegeix més etiquetes'
}
},
sidebar: {
panels: {
layer: 'Capes',
filter: 'Filtres',
interaction: 'Interaccions',
basemap: 'Mapa base'
}
},
layer: {
required: 'Requerit*',
radius: 'Radi',
color: 'Color',
fillColor: 'Color fons',
outline: 'Contorn',
weight: 'Gruix',
propertyBasedOn: '{property} basada en',
coverage: 'Cobertura',
stroke: 'Traç',
strokeWidth: 'Amplada de traç',
strokeColor: 'Color de traç',
basic: 'Basic',
trailLength: 'Longitud de pista',
trailLengthDescription: 'Nombre de segons fins que desapareix el camí',
newLayer: 'nova capa',
elevationByDescription: "Si desactivat, l'alçada es basa en el recompte de punts",
colorByDescription: 'Si desactivat, el color es basa en el recompte de punts',
aggregateBy: '{field} agregat per',
'3DModel': 'Model 3D',
'3DModelOptions': 'Opcions del model 3D',
type: {
point: 'punt',
arc: 'arc',
line: 'línia',
grid: 'malla',
hexbin: 'hexbin',
polygon: 'polígon',
geojson: 'geojson',
cluster: 'cluster',
icon: 'icona',
heatmap: 'heatmap',
hexagon: 'hexàgon',
hexagonid: 'H3',
trip: 'viatge',
s2: 'S2',
'3d': '3D'
},
layerUpdateError: "S'ha produït un error durant l'actualització de la capa: {errorMessage}. Assegureu-vos que el format de les dades d’entrada sigui vàlid."
},
layerVisConfigs: {
angle: 'Angle',
strokeWidth: 'Amplada traç',
strokeWidthRange: 'Rang amplada de traç',
radius: 'Radi',
fixedRadius: 'Radi fixe a mesurar',
fixedRadiusDescription: 'Ajusta el radi al radi absolut en metres, p.ex 5 a 5 metres',
radiusRange: 'Rang de radi',
clusterRadius: 'Radi Cluster en Pixels',
radiusRangePixels: 'Rang del radi en pixels',
billboard: 'Mode de cartellera',
billboardDescription: 'Orientar la geometria cap a la càmera',
fadeTrail: 'Rastre de desvaniment',
opacity: 'Opacitat',
coverage: 'Cobertura',
outline: 'Outline',
colorRange: 'Rang de color',
stroke: 'Traç',
strokeColor: 'Color de traç',
strokeColorRange: 'Rang de color de traç',
targetColor: 'Color destí',
colorAggregation: 'Agregació de color',
heightAggregation: 'Agregació alçada',
resolutionRange: 'Rang de resolució',
sizeScale: 'Mida escala',
worldUnitSize: 'Mida de la unitat mundial',
elevationScale: 'Escala elevació',
enableElevationZoomFactor: 'Utilitzeu el factor de zoom d’elevació',
enableElevationZoomFactorDescription: "'Ajusteu l'alçada / elevació en funció del factor de zoom actual",
enableHeightZoomFactor: 'Utilitzeu el factor de zoom d’alçada',
heightScale: 'Escala alçada',
coverageRange: 'Rang ed cobertura',
highPrecisionRendering: 'Representació alta precisió',
highPrecisionRenderingDescription: 'La precisió alta tindrà rendiment més baix',
height: 'Alçada',
heightDescription: 'Fes clic al botó a dalt a la dreta del mapa per canviar a vista 3D',
fill: 'Omple',
enablePolygonHeight: 'Activa alçada del polígon',
showWireframe: 'Mostra Wireframe',
weightIntensity: 'Intensitat de pes',
zoomScale: 'Escala de zoom',
heightRange: 'Rang alçada',
heightMultiplier: "Multiplicador d'alçada",
fixedHeight: 'Alçada fixa',
fixedHeightDescription: "Utilitzeu l'alçada sense modificacions"
},
layerManager: {
addData: 'Afegeix Dades',
addLayer: 'Afegeix Capes',
layerBlending: 'Combinar capes'
},
mapManager: {
mapStyle: 'Estil de mapa',
addMapStyle: 'Afegeix estils de mapa',
'3dBuildingColor': 'Color edifici 3D',
backgroundColor: 'Color de fons'
},
layerConfiguration: {
defaultDescription: 'Calcula {property} segons el camp seleccionat',
howTo: 'How to'
},
filterManager: {
addFilter: 'Afegeix Filtre'
},
datasetTitle: {
showDataTable: 'Mostra taula de dades',
removeDataset: 'Elimina conjunt de dades'
},
datasetInfo: {
rowCount: '{rowCount} files'
},
tooltip: {
hideLayer: 'oculta la capa',
showLayer: 'mostra la capa',
hideFeature: "Amaga l'objecte",
showFeature: "Mostra l'objecte",
hide: 'amaga',
show: 'mostra',
removeLayer: 'Elimina capa',
resetAfterError: 'Intenteu habilitar la capa després dun error',
layerSettings: 'Configuració de capa',
closePanel: 'Tanca panel actual',
switchToDualView: 'Canvia a la vista de mapa dual',
showLegend: 'mostra llegenda',
disable3DMap: 'Desactiva mapa 3D',
DrawOnMap: 'Dibuixa al mapa',
selectLocale: 'Selecciona configuració regional',
showAiAssistantPanel: 'Mostra el tauler de AI Assistant',
hideAiAssistantPanel: 'Oculta el tauler de AI Assistant',
hideLayerPanel: 'Oculta el tauler de capes',
showLayerPanel: 'Mostra el tauler de capes',
moveToTop: 'Desplaça a dalt de tot de les capes de dades',
selectBaseMapStyle: 'Selecciona estil de mapa base',
"delete": 'Esborra',
timePlayback: 'Reproducció de temps',
cloudStorage: 'Emmagatzematge al núvol',
'3DMap': 'Mapa 3D',
animationByWindow: 'Finestra Temporal Mòbil',
animationByIncremental: 'Finestra Temporal Incremental',
speed: 'velocitat',
play: 'iniciar',
pause: 'pausar',
reset: 'reiniciar'
},
toolbar: _objectSpread({
exportImage: 'Exporta imatge',
exportData: 'Exporta dades',
exportMap: 'Exporta mapa',
shareMapURL: 'Comparteix URL del mapa',
saveMap: 'Desa mapa',
select: 'selecciona',
polygon: 'polígon',
rectangle: 'rectangle',
hide: 'amaga',
show: 'mostra'
}, _locales.LOCALES),
modal: {
title: {
deleteDataset: 'Esborra conjunt de dades',
addDataToMap: 'Afegeix dades al mapa',
exportImage: 'Exporta imatge',
exportData: 'Exporta dades',
exportMap: 'Exporta mapa',
addCustomMapboxStyle: 'Afegeix estil Mapbox propi',
saveMap: 'Desa mapa',
shareURL: 'Comparteix URL'
},
button: {
"delete": 'Esborra',
download: 'Descarrega',
"export": 'Exporta',
addStyle: 'Afegeix estil',
save: 'Desa',
defaultCancel: 'Cancel·la',
defaultConfirm: 'Confirma'
},
exportImage: {
ratioTitle: 'Ràtio',
ratioDescription: 'Escull ràtio per diversos usos.',
ratioOriginalScreen: 'Pantalla original',
ratioCustom: 'Personalitzat',
ratio4_3: '4:3',
ratio16_9: '16:9',
resolutionTitle: 'Resolució',
resolutionDescription: 'Alta resolució és millor per a les impressions.',
resolutionPlaceholder: 'Selecciona resolució...',
mapLegendTitle: 'Llegenda del mapa',
mapLegendAdd: 'Afegir llegenda al mapa'
},
exportData: {
datasetTitle: 'Conjunt de dades',
datasetSubtitle: 'Escull els conjunts de dades que vols exportar',
allDatasets: 'Tots',
dataTypeTitle: 'Tipus de dades',
dataTypeSubtitle: 'Escull els tipus de dades que vols exportar',
filterDataTitle: 'Filtra dades',
filterDataSubtitle: 'Pots escollir exportar les dades originals o les filtrades',
filteredData: 'Dades filtrades',
unfilteredData: 'Dades sense filtrar',
fileCount: '{fileCount} Arxius',
rowCount: '{rowCount} Files'
},
deleteData: {
warning: "estàs a punt d'esborrar aquest conjunt de dades. Afectarà {length} capes"
},
addStyle: {
publishTitle: "2. Publica el teu estil a Mapbox o proporciona el token d'accés",
publishSubtitle1: 'Pots crear el teu propi estil de mapa a',
publishSubtitle2: 'i',
publishSubtitle3: 'publicar',
publishSubtitle4: 'ho.',
publishSubtitle5: 'Per utilitzar un estil privat, enganxa el teu',
publishSubtitle6: "token d'accés",
publishSubtitle7: 'aquí. *kepler.gl és una aplicació client, les dades romanen al teu navegador..',
exampleToken: 'p.ex. pk.abcdefg.xxxxxx',
pasteTitle: "1. Enganxa la URL de l'estil",
pasteSubtitle1: 'Què és un',
pasteSubtitle2: "URL de l'estil",
namingTitle: '3. Posa nom al teu estil'
},
shareMap: {
shareUriTitle: 'Comparteix URL del mapa',
shareUriSubtitle: 'Genera una URL del mapa per compartir amb altri',
cloudTitle: 'Emmagatzematge al núvol',
cloudSubtitle: 'Accedeix i carrega dades de mapa al teu emmagatzematge al núvol personal',
shareDisclaimer: 'kepler.gl desarà les dades del mapa al teu emmagatzematge al núvol personal, només qui tingui la URL podrà accedir al mapa i a les dades . ' + "Pots editar/esborrar l'arxiu de dades en el teu compte al núvol en qualsevol moment.",
gotoPage: 'Ves a la pàgina de {currentProvider} de Kepler.gl'
},
statusPanel: {
mapUploading: 'Carregar un mapa',
error: 'Error'
},
saveMap: {
title: 'Emmagatzematge al núvol',
subtitle: 'Accedeix per desar el mapa al teu emmagatzematge al núvol'
},
exportMap: {
formatTitle: 'Format de mapa',
formatSubtitle: 'Escull el format amb què vols exportar el teu mapa',
html: {
selection: 'Exporta el teu mapa com un arxiu HTML interactiu.',
tokenTitle: "Token d'accés de Mapbox",
tokenSubtitle: "Utilitza el teu token d'accés de Mapbox a l'arxiu HTML (opcional)",
tokenPlaceholder: "Enganxa el teu token d'accés a Mapbox",
tokenMisuseWarning: '* Si no proporciones el teu propi token, el mapa podria fallar en qualsevol moment quan reemplacem el nostre token per evitar abusos. ',
tokenDisclaimer: 'Pots canviar el toke de Mapbox més endavant fent servir aquestes instruccions: ',
tokenUpdate: 'Com actualitzar un token preexistent.',
modeTitle: 'Mode mapa',
modeSubtitle1: 'Selecciona mode app. Més ',
modeSubtitle2: 'informació',
modeDescription: 'Permet als usuaris {mode} el mapa',
read: 'llegir',
edit: 'editar'
},
json: {
configTitle: 'Configuració del mapa',
configDisclaimer: "La configuració del mapa s'inclourà a l'arxiu Json. Si utilitzes kepler.gl a la teva pròpia app pots copiar aquesta configuració i passar-la a ",
selection: 'Exporta les dades del mapa i la configuració en un sol arxiu Json. Més endavant pots obrir aquest mateix mapa carregant aquest mateix arxiu a kepler.gl.',
disclaimer: "* La configuració del mapa es combina amb els conjunts de dades carregats. ‘dataId’ s'utilitza per lligar capes, filtres i suggeriments a un conjunt de dades específic. " + "Quan passis aquesta configuració a addDataToMap, assegura que l'identificador del conjunt de dades coincideixi amb els ‘dataId’ d'aquesta configuració."
}
},
loadingDialog: {
loading: 'Carregant...'
},
loadData: {
upload: 'Carregar arxius',
storage: "Carregar des d'emmagatzematge"
},
tripInfo: {
title: 'Com habilitar l’animació de viatge',
description1: 'Per animar la ruta, les dades geoJSON han de contenir `LineString` en la seva geometria i les coordenades de LineString han de tenir 4 elements en els formats de ',
code: ' [longitude, latitude, altitude, timestamp] ',
description2: 'i el darrer element ha de ser la marca de temps. Els formats vàlids per a la marca de temps inclouen Unix en segons com `1564184363` o en milisegons com `1564184363000`.',
example: 'Exemple:'
},
iconInfo: {
title: 'Com dibuixar icones',
description1: "En el teu CSV crea una columna i posa-hi el nom de la icona que vols dibuixar. Pots deixar la cel·la buida quan no vulguis que es mostri per a certs punts. Quan la columna s'anomena",
code: 'icon',
description2: " kepler.gl automàticament crearà una capa d'icona.",
example: 'Exemple:',
icons: 'Icones'
},
storageMapViewer: {
lastModified: 'Darrera modificació fa {lastUpdated}',
back: 'Enrere'
},
overwriteMap: {
title: 'Desant mapa...',
alreadyExists: 'ja existeix a {mapSaved}. El vols sobreescriure?'
},
loadStorageMap: {
back: 'Enrere',
goToPage: 'Ves a la pàgina {displayName} de Kepler.gl',
storageMaps: 'Emmagatzematge / Mapes',
noSavedMaps: 'Cap mapa desat encara'
}
},
header: {
visibleLayers: 'Capes visibles',
layerLegend: 'Llegenda de capes'
},
interactions: {
tooltip: 'Suggeriment',
brush: 'Pinzell',
coordinate: 'Coordenades',
geocoder: 'Geocodificador'
},
layerBlending: {
title: 'Combinació de capes',
additive: 'additiva',
normal: 'normal',
subtractive: 'substractiva'
},
columns: {
title: 'Columnes',
lat: 'lat',
lng: 'lon',
altitude: 'alçada',
icon: 'icona',
geojson: 'geojson',
arc: {
lat0: 'lat origen',
lng0: 'lng origen ',
lat1: 'lat destinació',
lng1: 'lng destinació'
},
line: {
alt0: 'alçada origen',
alt1: 'alçada destinació'
},
grid: {
worldUnitSize: 'Mida de malla (km)'
},
hexagon: {
worldUnitSize: "Radi d'hexàgon (km)"
},
hex_id: 'id hex'
},
color: {
customPalette: 'Paleta personalitzada',
steps: 'intervals',
type: 'tipus',
reversed: 'invertida'
},
scale: {
colorScale: 'Escala de color',
sizeScale: 'Escala de mides',
strokeScale: 'Escala de traç',
scale: 'Escala'
},
fileUploader: {
message: "Arrossega i deixa anar l'arxiu aquí",
chromeMessage: '*usuari de Chrome: la mida màxima són 250mb, si has de carrgar un arxiu més gran fes servir Safari',
disclaimer: '*kepler.gl és una aplicació a la banda client que no es recolza en cap servidor. Les dades només existeixen a la teva màquina/navegador. ' + "No s'envien dades ni mapes a cap servidor.",
configUploadMessage: 'Carrega {fileFormatNames} o un mapa desat en **Json**. Més informació sobre [**supported file formats**]',
browseFiles: 'navega pels teus arxius',
uploading: 'Carregant',
fileNotSupported: "L'arxiu {errorFiles} no és compatible.",
or: 'o'
},
geocoder: {
title: 'Introdueix una adreça'
},
fieldSelector: {
clearAll: 'Treure tots',
formatting: 'Format'
},
compare: {
modeLabel: 'Mode Comparació',
typeLabel: 'Tipus de Comparació',
types: {
absolute: 'Absoluta',
relative: 'Relativa'
}
},
mapPopover: {
primary: 'Principal'
},
density: 'densitat',
'Bug Report': "Informe d'errors",
'User Guide': "Guia d'usuari",
Save: 'Desa',
Share: 'Comparteix'
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9jYWxlcyIsInJlcXVpcmUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsInByb3BlcnR5Iiwid2VpZ2h0IiwibGFiZWwiLCJmaWxsQ29sb3IiLCJjb2xvciIsImNvdmVyYWdlIiwic3Ryb2tlQ29sb3IiLCJyYWRpdXMiLCJvdXRsaW5lIiwic3Ryb2tlIiwiZGVuc2l0eSIsImhlaWdodCIsInN1bSIsInBvaW50Q291bnQiLCJwbGFjZWhvbGRlciIsInNlYXJjaCIsInNlbGVjdEZpZWxkIiwieUF4aXMiLCJzZWxlY3RUeXBlIiwic2VsZWN0VmFsdWUiLCJlbnRlclZhbHVlIiwiZW1wdHkiLCJtaXNjIiwiYnkiLCJ2YWx1ZXNJbiIsInZhbHVlRXF1YWxzIiwiZGF0YVNvdXJjZSIsImJydXNoUmFkaXVzIiwibWFwTGF5ZXJzIiwidGl0bGUiLCJyb2FkIiwiYm9yZGVyIiwiYnVpbGRpbmciLCJ3YXRlciIsImxhbmQiLCJiYWNrZ3JvdW5kIiwicGFuZWwiLCJ0ZXh0IiwibGFiZWxXaXRoSWQiLCJmb250U2l6ZSIsImZvbnRDb2xvciIsInRleHRBbmNob3IiLCJhbGlnbm1lbnQiLCJhZGRNb3JlTGFiZWwiLCJzaWRlYmFyIiwicGFuZWxzIiwibGF5ZXIiLCJpbnRlcmFjdGlvbiIsImJhc2VtYXAiLCJyZXF1aXJlZCIsInByb3BlcnR5QmFzZWRPbiIsInN0cm9rZVdpZHRoIiwiYmFzaWMiLCJ0cmFpbExlbmd0aCIsInRyYWlsTGVuZ3RoRGVzY3JpcHRpb24iLCJuZXdMYXllciIsImVsZXZhdGlvbkJ5RGVzY3JpcHRpb24iLCJjb2xvckJ5RGVzY3JpcHRpb24iLCJhZ2dyZWdhdGVCeSIsInR5cGUiLCJwb2ludCIsImFyYyIsImxpbmUiLCJncmlkIiwiaGV4YmluIiwicG9seWdvbiIsImdlb2pzb24iLCJjbHVzdGVyIiwiaWNvbiIsImhlYXRtYXAiLCJoZXhhZ29uIiwiaGV4YWdvbmlkIiwidHJpcCIsInMyIiwibGF5ZXJVcGRhdGVFcnJvciIsImxheWVyVmlzQ29uZmlncyIsImFuZ2xlIiwic3Ryb2tlV2lkdGhSYW5nZSIsImZpeGVkUmFkaXVzIiwiZml4ZWRSYWRpdXNEZXNjcmlwdGlvbiIsInJhZGl1c1JhbmdlIiwiY2x1c3RlclJhZGl1cyIsInJhZGl1c1JhbmdlUGl4ZWxzIiwiYmlsbGJvYXJkIiwiYmlsbGJvYXJkRGVzY3JpcHRpb24iLCJmYWRlVHJhaWwiLCJvcGFjaXR5IiwiY29sb3JSYW5nZSIsInN0cm9rZUNvbG9yUmFuZ2UiLCJ0YXJnZXRDb2xvciIsImNvbG9yQWdncmVnYXRpb24iLCJoZWlnaHRBZ2dyZWdhdGlvbiIsInJlc29sdXRpb25SYW5nZSIsInNpemVTY2FsZSIsIndvcmxkVW5pdFNpemUiLCJlbGV2YXRpb25TY2FsZSIsImVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3IiLCJlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yRGVzY3JpcHRpb24iLCJlbmFibGVIZWlnaHRab29tRmFjdG9yIiwiaGVpZ2h0U2NhbGUiLCJjb3ZlcmFnZVJhbmdlIiwiaGlnaFByZWNpc2lvblJlbmRlcmluZyIsImhpZ2hQcmVjaXNpb25SZW5kZXJpbmdEZXNjcmlwdGlvbiIsImhlaWdodERlc2NyaXB0aW9uIiwiZmlsbCIsImVuYWJsZVBvbHlnb25IZWlnaHQiLCJzaG93V2lyZWZyYW1lIiwid2VpZ2h0SW50ZW5zaXR5Iiwiem9vbVNjYWxlIiwiaGVpZ2h0UmFuZ2UiLCJoZWlnaHRNdWx0aXBsaWVyIiwiZml4ZWRIZWlnaHQiLCJmaXhlZEhlaWdodERlc2NyaXB0aW9uIiwibGF5ZXJNYW5hZ2VyIiwiYWRkRGF0YSIsImFkZExheWVyIiwibGF5ZXJCbGVuZGluZyIsIm1hcE1hbmFnZXIiLCJtYXBTdHlsZSIsImFkZE1hcFN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwibGF5ZXJDb25maWd1cmF0aW9uIiwiZGVmYXVsdERlc2NyaXB0aW9uIiwiaG93VG8iLCJmaWx0ZXJNYW5hZ2VyIiwiYWRkRmlsdGVyIiwiZGF0YXNldFRpdGxlIiwic2hvd0RhdGFUYWJsZSIsInJlbW92ZURhdGFzZXQiLCJkYXRhc2V0SW5mbyIsInJvd0NvdW50IiwidG9vbHRpcCIsImhpZGVMYXllciIsInNob3dMYXllciIsImhpZGVGZWF0dXJlIiwic2hvd0ZlYXR1cmUiLCJoaWRlIiwic2hvdyIsInJlbW92ZUxheWVyIiwicmVzZXRBZnRlckVycm9yIiwibGF5ZXJTZXR0aW5ncyIsImNsb3NlUGFuZWwiLCJzd2l0Y2hUb0R1YWxWaWV3Iiwic2hvd0xlZ2VuZCIsImRpc2FibGUzRE1hcCIsIkRyYXdPbk1hcCIsInNlbGVjdExvY2FsZSIsInNob3dBaUFzc2lzdGFudFBhbmVsIiwiaGlkZUFpQXNzaXN0YW50UGFuZWwiLCJoaWRlTGF5ZXJQYW5lbCIsInNob3dMYXllclBhbmVsIiwibW92ZVRvVG9wIiwic2VsZWN0QmFzZU1hcFN0eWxlIiwidGltZVBsYXliYWNrIiwiY2xvdWRTdG9yYWdlIiwiYW5pbWF0aW9uQnlXaW5kb3ciLCJhbmltYXRpb25CeUluY3JlbWVudGFsIiwic3BlZWQiLCJwbGF5IiwicGF1c2UiLCJyZXNldCIsInRvb2xiYXIiLCJleHBvcnRJbWFnZSIsImV4cG9ydERhdGEiLCJleHBvcnRNYXAiLCJzaGFyZU1hcFVSTCIsInNhdmVNYXAiLCJzZWxlY3QiLCJyZWN0YW5nbGUiLCJMT0NBTEVTIiwibW9kYWwiLCJkZWxldGVEYXRhc2V0IiwiYWRkRGF0YVRvTWFwIiwiYWRkQ3VzdG9tTWFwYm94U3R5bGUiLCJzaGFyZVVSTCIsImJ1dHRvbiIsImRvd25sb2FkIiwiYWRkU3R5bGUiLCJzYXZlIiwiZGVmYXVsdENhbmNlbCIsImRlZmF1bHRDb25maXJtIiwicmF0aW9UaXRsZSIsInJhdGlvRGVzY3JpcHRpb24iLCJyYXRpb09yaWdpbmFsU2NyZWVuIiwicmF0aW9DdXN0b20iLCJyYXRpbzRfMyIsInJhdGlvMTZfOSIsInJlc29sdXRpb25UaXRsZSIsInJlc29sdXRpb25EZXNjcmlwdGlvbiIsInJlc29sdXRpb25QbGFjZWhvbGRlciIsIm1hcExlZ2VuZFRpdGxlIiwibWFwTGVnZW5kQWRkIiwiZGF0YXNldFN1YnRpdGxlIiwiYWxsRGF0YXNldHMiLCJkYXRhVHlwZVRpdGxlIiwiZGF0YVR5cGVTdWJ0aXRsZSIsImZpbHRlckRhdGFUaXRsZSIsImZpbHRlckRhdGFTdWJ0aXRsZSIsImZpbHRlcmVkRGF0YSIsInVuZmlsdGVyZWREYXRhIiwiZmlsZUNvdW50IiwiZGVsZXRlRGF0YSIsIndhcm5pbmciLCJwdWJsaXNoVGl0bGUiLCJwdWJsaXNoU3VidGl0bGUxIiwicHVibGlzaFN1YnRpdGxlMiIsInB1Ymxpc2hTdWJ0aXRsZTMiLCJwdWJsaXNoU3VidGl0bGU0IiwicHVibGlzaFN1YnRpdGxlNSIsInB1Ymxpc2hTdWJ0aXRsZTYiLCJwdWJsaXNoU3VidGl0bGU3IiwiZXhhbXBsZVRva2VuIiwicGFzdGVUaXRsZSIsInBhc3RlU3VidGl0bGUxIiwicGFzdGVTdWJ0aXRsZTIiLCJuYW1pbmdUaXRsZSIsInNoYXJlTWFwIiwic2hhcmVVcmlUaXRsZSIsInNoYXJlVXJpU3VidGl0bGUiLCJjbG91ZFRpdGxlIiwiY2xvdWRTdWJ0aXRsZSIsInNoYXJlRGlzY2xhaW1lciIsImdvdG9QYWdlIiwic3RhdHVzUGFuZWwiLCJtYXBVcGxvYWRpbmciLCJlcnJvciIsInN1YnRpdGxlIiwiZm9ybWF0VGl0bGUiLCJmb3JtYXRTdWJ0aXRsZSIsImh0bWwiLCJzZWxlY3Rpb24iLCJ0b2tlblRpdGxlIiwidG9rZW5TdWJ0aXRsZSIsInRva2VuUGxhY2Vob2xkZXIiLCJ0b2tlbk1pc3VzZVdhcm5pbmciLCJ0b2tlbkRpc2NsYWltZXIiLCJ0b2tlblVwZGF0ZSIsIm1vZGVUaXRsZSIsIm1vZGVTdWJ0aXRsZTEiLCJtb2RlU3VidGl0bGUyIiwibW9kZURlc2NyaXB0aW9uIiwicmVhZCIsImVkaXQiLCJqc29uIiwiY29uZmlnVGl0bGUiLCJjb25maWdEaXNjbGFpbWVyIiwiZGlzY2xhaW1lciIsImxvYWRpbmdEaWFsb2ciLCJsb2FkaW5nIiwibG9hZERhdGEiLCJ1cGxvYWQiLCJzdG9yYWdlIiwidHJpcEluZm8iLCJkZXNjcmlwdGlvbjEiLCJjb2RlIiwiZGVzY3JpcHRpb24yIiwiZXhhbXBsZSIsImljb25JbmZvIiwiaWNvbnMiLCJzdG9yYWdlTWFwVmlld2VyIiwibGFzdE1vZGlmaWVkIiwiYmFjayIsIm92ZXJ3cml0ZU1hcCIsImFscmVhZHlFeGlzdHMiLCJsb2FkU3RvcmFnZU1hcCIsImdvVG9QYWdlIiwic3RvcmFnZU1hcHMiLCJub1NhdmVkTWFwcyIsImhlYWRlciIsInZpc2libGVMYXllcnMiLCJsYXllckxlZ2VuZCIsImludGVyYWN0aW9ucyIsImJydXNoIiwiY29vcmRpbmF0ZSIsImdlb2NvZGVyIiwiYWRkaXRpdmUiLCJub3JtYWwiLCJzdWJ0cmFjdGl2ZSIsImNvbHVtbnMiLCJsYXQiLCJsbmciLCJhbHRpdHVkZSIsImxhdDAiLCJsbmcwIiwibGF0MSIsImxuZzEiLCJhbHQwIiwiYWx0MSIsImhleF9pZCIsImN1c3RvbVBhbGV0dGUiLCJzdGVwcyIsInJldmVyc2VkIiwic2NhbGUiLCJjb2xvclNjYWxlIiwic3Ryb2tlU2NhbGUiLCJmaWxlVXBsb2FkZXIiLCJtZXNzYWdlIiwiY2hyb21lTWVzc2FnZSIsImNvbmZpZ1VwbG9hZE1lc3NhZ2UiLCJicm93c2VGaWxlcyIsInVwbG9hZGluZyIsImZpbGVOb3RTdXBwb3J0ZWQiLCJvciIsImZpZWxkU2VsZWN0b3IiLCJjbGVhckFsbCIsImZvcm1hdHRpbmciLCJjb21wYXJlIiwibW9kZUxhYmVsIiwidHlwZUxhYmVsIiwidHlwZXMiLCJhYnNvbHV0ZSIsInJlbGF0aXZlIiwibWFwUG9wb3ZlciIsInByaW1hcnkiLCJTYXZlIiwiU2hhcmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJhbnNsYXRpb25zL2NhLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7TE9DQUxFU30gZnJvbSAnLi4vbG9jYWxlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcHJvcGVydHk6IHtcbiAgICB3ZWlnaHQ6ICdwZXMnLFxuICAgIGxhYmVsOiAnZXRpcXVldGEnLFxuICAgIGZpbGxDb2xvcjogJ2NvbG9yIGZvbnMnLFxuICAgIGNvbG9yOiAnY29sb3InLFxuICAgIGNvdmVyYWdlOiAnY29iZXJ0dXJhJyxcbiAgICBzdHJva2VDb2xvcjogJ2NvbG9yIGRlIHRyYcOnJyxcbiAgICByYWRpdXM6ICdyYWRpJyxcbiAgICBvdXRsaW5lOiAnb3V0bGluZScsXG4gICAgc3Ryb2tlOiAndHJhw6cnLFxuICAgIGRlbnNpdHk6ICdkZW5zaXRhdCcsXG4gICAgaGVpZ2h0OiAnYWzDp2FkYScsXG4gICAgc3VtOiAnc3VtYScsXG4gICAgcG9pbnRDb3VudDogJ1JlY29tcHRlIGRlIFB1bnRzJ1xuICB9LFxuICBwbGFjZWhvbGRlcjoge1xuICAgIHNlYXJjaDogJ0NlcmNhJyxcbiAgICBzZWxlY3RGaWVsZDogJ1NlbGVjY2lvbmEgdW4gY2FtcCcsXG4gICAgeUF4aXM6ICdFaXggWScsXG4gICAgc2VsZWN0VHlwZTogJ1NlbGVjY2lvbmEgdW4gVGlwdXMnLFxuICAgIHNlbGVjdFZhbHVlOiAnU2VsZWNjaW9uYSB1biBWYWxvcicsXG4gICAgZW50ZXJWYWx1ZTogJ0VudHJhIHVuIHZhbG9yJyxcbiAgICBlbXB0eTogJ2J1aXQnXG4gIH0sXG4gIG1pc2M6IHtcbiAgICBieTogJycsXG4gICAgdmFsdWVzSW46ICdWYWxvcnMgYScsXG4gICAgdmFsdWVFcXVhbHM6ICdWYWxvciBpZ3VhbCBhJyxcbiAgICBkYXRhU291cmNlOiAnRm9udCBkZSBkYWRlcycsXG4gICAgYnJ1c2hSYWRpdXM6ICdSYWRpIGRlbCBwaW56ZWxsIChrbSknLFxuICAgIGVtcHR5OiAnICdcbiAgfSxcbiAgbWFwTGF5ZXJzOiB7XG4gICAgdGl0bGU6ICdDYXBlcyBkZWwgbWFwYScsXG4gICAgbGFiZWw6ICdFdGlxdWV0YScsXG4gICAgcm9hZDogJ0NhcnJldGVyYScsXG4gICAgYm9yZGVyOiAnRnJvbnRlcmEnLFxuICAgIGJ1aWxkaW5nOiAnRWRpZmljaScsXG4gICAgd2F0ZXI6ICdBaWd1YScsXG4gICAgbGFuZDogJ1RlcnJhJyxcbiAgICAnM2RCdWlsZGluZyc6ICdFZGlmaWNpIDNEJyxcbiAgICBiYWNrZ3JvdW5kOiAnRm9ucydcbiAgfSxcbiAgcGFuZWw6IHtcbiAgICB0ZXh0OiB7XG4gICAgICBsYWJlbDogJ2V0aXF1ZXRhJyxcbiAgICAgIGxhYmVsV2l0aElkOiAnRXRpcXVldGEge2xhYmVsSWR9JyxcbiAgICAgIGZvbnRTaXplOiAnTWlkYSBkZSBsYSBmb250JyxcbiAgICAgIGZvbnRDb2xvcjogJ0NvbG9yIGRlIGxhIGZvbnQnLFxuICAgICAgdGV4dEFuY2hvcjogJ8OAbmNvcmEgZGVsIHRleHQnLFxuICAgICAgYWxpZ25tZW50OiAnQWxpbmVhY2nDsycsXG4gICAgICBhZGRNb3JlTGFiZWw6ICdBZmVnZWl4IG3DqXMgZXRpcXVldGVzJ1xuICAgIH1cbiAgfSxcbiAgc2lkZWJhcjoge1xuICAgIHBhbmVsczoge1xuICAgICAgbGF5ZXI6ICdDYXBlcycsXG4gICAgICBmaWx0ZXI6ICdGaWx0cmVzJyxcbiAgICAgIGludGVyYWN0aW9uOiAnSW50ZXJhY2Npb25zJyxcbiAgICAgIGJhc2VtYXA6ICdNYXBhIGJhc2UnXG4gICAgfVxuICB9LFxuICBsYXllcjoge1xuICAgIHJlcXVpcmVkOiAnUmVxdWVyaXQqJyxcbiAgICByYWRpdXM6ICdSYWRpJyxcbiAgICBjb2xvcjogJ0NvbG9yJyxcbiAgICBmaWxsQ29sb3I6ICdDb2xvciBmb25zJyxcbiAgICBvdXRsaW5lOiAnQ29udG9ybicsXG4gICAgd2VpZ2h0OiAnR3J1aXgnLFxuICAgIHByb3BlcnR5QmFzZWRPbjogJ3twcm9wZXJ0eX0gYmFzYWRhIGVuJyxcbiAgICBjb3ZlcmFnZTogJ0NvYmVydHVyYScsXG4gICAgc3Ryb2tlOiAnVHJhw6cnLFxuICAgIHN0cm9rZVdpZHRoOiAnQW1wbGFkYSBkZSB0cmHDpycsXG4gICAgc3Ryb2tlQ29sb3I6ICdDb2xvciBkZSB0cmHDpycsXG4gICAgYmFzaWM6ICdCYXNpYycsXG4gICAgdHJhaWxMZW5ndGg6ICdMb25naXR1ZCBkZSBwaXN0YScsXG4gICAgdHJhaWxMZW5ndGhEZXNjcmlwdGlvbjogJ05vbWJyZSBkZSBzZWdvbnMgZmlucyBxdWUgZGVzYXBhcmVpeCBlbCBjYW3DrScsXG4gICAgbmV3TGF5ZXI6ICdub3ZhIGNhcGEnLFxuICAgIGVsZXZhdGlvbkJ5RGVzY3JpcHRpb246IFwiU2kgZGVzYWN0aXZhdCwgbCdhbMOnYWRhIGVzIGJhc2EgZW4gZWwgcmVjb21wdGUgZGUgcHVudHNcIixcbiAgICBjb2xvckJ5RGVzY3JpcHRpb246ICdTaSBkZXNhY3RpdmF0LCBlbCBjb2xvciBlcyBiYXNhIGVuIGVsIHJlY29tcHRlIGRlIHB1bnRzJyxcbiAgICBhZ2dyZWdhdGVCeTogJ3tmaWVsZH0gYWdyZWdhdCBwZXInLFxuICAgICczRE1vZGVsJzogJ01vZGVsIDNEJyxcbiAgICAnM0RNb2RlbE9wdGlvbnMnOiAnT3BjaW9ucyBkZWwgbW9kZWwgM0QnLFxuICAgIHR5cGU6IHtcbiAgICAgIHBvaW50OiAncHVudCcsXG4gICAgICBhcmM6ICdhcmMnLFxuICAgICAgbGluZTogJ2zDrW5pYScsXG4gICAgICBncmlkOiAnbWFsbGEnLFxuICAgICAgaGV4YmluOiAnaGV4YmluJyxcbiAgICAgIHBvbHlnb246ICdwb2zDrWdvbicsXG4gICAgICBnZW9qc29uOiAnZ2VvanNvbicsXG4gICAgICBjbHVzdGVyOiAnY2x1c3RlcicsXG4gICAgICBpY29uOiAnaWNvbmEnLFxuICAgICAgaGVhdG1hcDogJ2hlYXRtYXAnLFxuICAgICAgaGV4YWdvbjogJ2hleMOgZ29uJyxcbiAgICAgIGhleGFnb25pZDogJ0gzJyxcbiAgICAgIHRyaXA6ICd2aWF0Z2UnLFxuICAgICAgczI6ICdTMicsXG4gICAgICAnM2QnOiAnM0QnXG4gICAgfSxcbiAgICBsYXllclVwZGF0ZUVycm9yOlxuICAgICAgXCJTJ2hhIHByb2R1w690IHVuIGVycm9yIGR1cmFudCBsJ2FjdHVhbGl0emFjacOzIGRlIGxhIGNhcGE6IHtlcnJvck1lc3NhZ2V9LiBBc3NlZ3VyZXUtdm9zIHF1ZSBlbCBmb3JtYXQgZGUgbGVzIGRhZGVzIGTigJllbnRyYWRhIHNpZ3VpIHbDoGxpZC5cIlxuICB9LFxuICBsYXllclZpc0NvbmZpZ3M6IHtcbiAgICBhbmdsZTogJ0FuZ2xlJyxcbiAgICBzdHJva2VXaWR0aDogJ0FtcGxhZGEgdHJhw6cnLFxuICAgIHN0cm9rZVdpZHRoUmFuZ2U6ICdSYW5nIGFtcGxhZGEgZGUgdHJhw6cnLFxuICAgIHJhZGl1czogJ1JhZGknLFxuICAgIGZpeGVkUmFkaXVzOiAnUmFkaSBmaXhlIGEgbWVzdXJhcicsXG4gICAgZml4ZWRSYWRpdXNEZXNjcmlwdGlvbjogJ0FqdXN0YSBlbCByYWRpIGFsIHJhZGkgYWJzb2x1dCBlbiBtZXRyZXMsIHAuZXggNSBhIDUgbWV0cmVzJyxcbiAgICByYWRpdXNSYW5nZTogJ1JhbmcgZGUgcmFkaScsXG4gICAgY2x1c3RlclJhZGl1czogJ1JhZGkgQ2x1c3RlciBlbiBQaXhlbHMnLFxuICAgIHJhZGl1c1JhbmdlUGl4ZWxzOiAnUmFuZyBkZWwgcmFkaSBlbiBwaXhlbHMnLFxuICAgIGJpbGxib2FyZDogJ01vZGUgZGUgY2FydGVsbGVyYScsXG4gICAgYmlsbGJvYXJkRGVzY3JpcHRpb246ICdPcmllbnRhciBsYSBnZW9tZXRyaWEgY2FwIGEgbGEgY8OgbWVyYScsXG4gICAgZmFkZVRyYWlsOiAnUmFzdHJlIGRlIGRlc3ZhbmltZW50JyxcbiAgICBvcGFjaXR5OiAnT3BhY2l0YXQnLFxuICAgIGNvdmVyYWdlOiAnQ29iZXJ0dXJhJyxcbiAgICBvdXRsaW5lOiAnT3V0bGluZScsXG4gICAgY29sb3JSYW5nZTogJ1JhbmcgZGUgY29sb3InLFxuICAgIHN0cm9rZTogJ1RyYcOnJyxcbiAgICBzdHJva2VDb2xvcjogJ0NvbG9yIGRlIHRyYcOnJyxcbiAgICBzdHJva2VDb2xvclJhbmdlOiAnUmFuZyBkZSBjb2xvciBkZSB0cmHDpycsXG4gICAgdGFyZ2V0Q29sb3I6ICdDb2xvciBkZXN0w60nLFxuICAgIGNvbG9yQWdncmVnYXRpb246ICdBZ3JlZ2FjacOzIGRlIGNvbG9yJyxcbiAgICBoZWlnaHRBZ2dyZWdhdGlvbjogJ0FncmVnYWNpw7MgYWzDp2FkYScsXG4gICAgcmVzb2x1dGlvblJhbmdlOiAnUmFuZyBkZSByZXNvbHVjacOzJyxcbiAgICBzaXplU2NhbGU6ICdNaWRhIGVzY2FsYScsXG4gICAgd29ybGRVbml0U2l6ZTogJ01pZGEgZGUgbGEgdW5pdGF0IG11bmRpYWwnLFxuICAgIGVsZXZhdGlvblNjYWxlOiAnRXNjYWxhIGVsZXZhY2nDsycsXG4gICAgZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvcjogJ1V0aWxpdHpldSBlbCBmYWN0b3IgZGUgem9vbSBk4oCZZWxldmFjacOzJyxcbiAgICBlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yRGVzY3JpcHRpb246XG4gICAgICBcIidBanVzdGV1IGwnYWzDp2FkYSAvIGVsZXZhY2nDsyBlbiBmdW5jacOzIGRlbCBmYWN0b3IgZGUgem9vbSBhY3R1YWxcIixcbiAgICBlbmFibGVIZWlnaHRab29tRmFjdG9yOiAnVXRpbGl0emV1IGVsIGZhY3RvciBkZSB6b29tIGTigJlhbMOnYWRhJyxcbiAgICBoZWlnaHRTY2FsZTogJ0VzY2FsYSBhbMOnYWRhJyxcbiAgICBjb3ZlcmFnZVJhbmdlOiAnUmFuZyBlZCBjb2JlcnR1cmEnLFxuICAgIGhpZ2hQcmVjaXNpb25SZW5kZXJpbmc6ICdSZXByZXNlbnRhY2nDsyBhbHRhIHByZWNpc2nDsycsXG4gICAgaGlnaFByZWNpc2lvblJlbmRlcmluZ0Rlc2NyaXB0aW9uOiAnTGEgcHJlY2lzacOzIGFsdGEgdGluZHLDoCByZW5kaW1lbnQgbcOpcyBiYWl4JyxcbiAgICBoZWlnaHQ6ICdBbMOnYWRhJyxcbiAgICBoZWlnaHREZXNjcmlwdGlvbjogJ0ZlcyBjbGljIGFsIGJvdMOzIGEgZGFsdCBhIGxhIGRyZXRhIGRlbCBtYXBhIHBlciBjYW52aWFyIGEgdmlzdGEgM0QnLFxuICAgIGZpbGw6ICdPbXBsZScsXG4gICAgZW5hYmxlUG9seWdvbkhlaWdodDogJ0FjdGl2YSBhbMOnYWRhIGRlbCBwb2zDrWdvbicsXG4gICAgc2hvd1dpcmVmcmFtZTogJ01vc3RyYSBXaXJlZnJhbWUnLFxuICAgIHdlaWdodEludGVuc2l0eTogJ0ludGVuc2l0YXQgZGUgcGVzJyxcbiAgICB6b29tU2NhbGU6ICdFc2NhbGEgZGUgem9vbScsXG4gICAgaGVpZ2h0UmFuZ2U6ICdSYW5nIGFsw6dhZGEnLFxuICAgIGhlaWdodE11bHRpcGxpZXI6IFwiTXVsdGlwbGljYWRvciBkJ2Fsw6dhZGFcIixcbiAgICBmaXhlZEhlaWdodDogJ0Fsw6dhZGEgZml4YScsXG4gICAgZml4ZWRIZWlnaHREZXNjcmlwdGlvbjogXCJVdGlsaXR6ZXUgbCdhbMOnYWRhIHNlbnNlIG1vZGlmaWNhY2lvbnNcIlxuICB9LFxuICBsYXllck1hbmFnZXI6IHtcbiAgICBhZGREYXRhOiAnQWZlZ2VpeCBEYWRlcycsXG4gICAgYWRkTGF5ZXI6ICdBZmVnZWl4IENhcGVzJyxcbiAgICBsYXllckJsZW5kaW5nOiAnQ29tYmluYXIgY2FwZXMnXG4gIH0sXG4gIG1hcE1hbmFnZXI6IHtcbiAgICBtYXBTdHlsZTogJ0VzdGlsIGRlIG1hcGEnLFxuICAgIGFkZE1hcFN0eWxlOiAnQWZlZ2VpeCBlc3RpbHMgZGUgbWFwYScsXG4gICAgJzNkQnVpbGRpbmdDb2xvcic6ICdDb2xvciBlZGlmaWNpIDNEJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICdDb2xvciBkZSBmb25zJ1xuICB9LFxuICBsYXllckNvbmZpZ3VyYXRpb246IHtcbiAgICBkZWZhdWx0RGVzY3JpcHRpb246ICdDYWxjdWxhIHtwcm9wZXJ0eX0gc2Vnb25zIGVsIGNhbXAgc2VsZWNjaW9uYXQnLFxuICAgIGhvd1RvOiAnSG93IHRvJ1xuICB9LFxuICBmaWx0ZXJNYW5hZ2VyOiB7XG4gICAgYWRkRmlsdGVyOiAnQWZlZ2VpeCBGaWx0cmUnXG4gIH0sXG4gIGRhdGFzZXRUaXRsZToge1xuICAgIHNob3dEYXRhVGFibGU6ICdNb3N0cmEgdGF1bGEgZGUgZGFkZXMnLFxuICAgIHJlbW92ZURhdGFzZXQ6ICdFbGltaW5hIGNvbmp1bnQgZGUgZGFkZXMnXG4gIH0sXG4gIGRhdGFzZXRJbmZvOiB7XG4gICAgcm93Q291bnQ6ICd7cm93Q291bnR9IGZpbGVzJ1xuICB9LFxuICB0b29sdGlwOiB7XG4gICAgaGlkZUxheWVyOiAnb2N1bHRhIGxhIGNhcGEnLFxuICAgIHNob3dMYXllcjogJ21vc3RyYSBsYSBjYXBhJyxcbiAgICBoaWRlRmVhdHVyZTogXCJBbWFnYSBsJ29iamVjdGVcIixcbiAgICBzaG93RmVhdHVyZTogXCJNb3N0cmEgbCdvYmplY3RlXCIsXG4gICAgaGlkZTogJ2FtYWdhJyxcbiAgICBzaG93OiAnbW9zdHJhJyxcbiAgICByZW1vdmVMYXllcjogJ0VsaW1pbmEgY2FwYScsXG4gICAgcmVzZXRBZnRlckVycm9yOiAnSW50ZW50ZXUgaGFiaWxpdGFyIGxhIGNhcGEgZGVzcHLDqXMgZHVuIGVycm9yJyxcbiAgICBsYXllclNldHRpbmdzOiAnQ29uZmlndXJhY2nDsyBkZSBjYXBhJyxcbiAgICBjbG9zZVBhbmVsOiAnVGFuY2EgcGFuZWwgYWN0dWFsJyxcbiAgICBzd2l0Y2hUb0R1YWxWaWV3OiAnQ2FudmlhIGEgbGEgdmlzdGEgZGUgbWFwYSBkdWFsJyxcbiAgICBzaG93TGVnZW5kOiAnbW9zdHJhIGxsZWdlbmRhJyxcbiAgICBkaXNhYmxlM0RNYXA6ICdEZXNhY3RpdmEgbWFwYSAzRCcsXG4gICAgRHJhd09uTWFwOiAnRGlidWl4YSBhbCBtYXBhJyxcbiAgICBzZWxlY3RMb2NhbGU6ICdTZWxlY2Npb25hIGNvbmZpZ3VyYWNpw7MgcmVnaW9uYWwnLFxuICAgIHNob3dBaUFzc2lzdGFudFBhbmVsOiAnTW9zdHJhIGVsIHRhdWxlciBkZSBBSSBBc3Npc3RhbnQnLFxuICAgIGhpZGVBaUFzc2lzdGFudFBhbmVsOiAnT2N1bHRhIGVsIHRhdWxlciBkZSBBSSBBc3Npc3RhbnQnLFxuICAgIGhpZGVMYXllclBhbmVsOiAnT2N1bHRhIGVsIHRhdWxlciBkZSBjYXBlcycsXG4gICAgc2hvd0xheWVyUGFuZWw6ICdNb3N0cmEgZWwgdGF1bGVyIGRlIGNhcGVzJyxcbiAgICBtb3ZlVG9Ub3A6ICdEZXNwbGHDp2EgYSBkYWx0IGRlIHRvdCBkZSBsZXMgY2FwZXMgZGUgZGFkZXMnLFxuICAgIHNlbGVjdEJhc2VNYXBTdHlsZTogJ1NlbGVjY2lvbmEgZXN0aWwgZGUgbWFwYSBiYXNlJyxcbiAgICBkZWxldGU6ICdFc2JvcnJhJyxcbiAgICB0aW1lUGxheWJhY2s6ICdSZXByb2R1Y2Npw7MgZGUgdGVtcHMnLFxuICAgIGNsb3VkU3RvcmFnZTogJ0VtbWFnYXR6ZW1hdGdlIGFsIG7DunZvbCcsXG4gICAgJzNETWFwJzogJ01hcGEgM0QnLFxuICAgIGFuaW1hdGlvbkJ5V2luZG93OiAnRmluZXN0cmEgVGVtcG9yYWwgTcOyYmlsJyxcbiAgICBhbmltYXRpb25CeUluY3JlbWVudGFsOiAnRmluZXN0cmEgVGVtcG9yYWwgSW5jcmVtZW50YWwnLFxuICAgIHNwZWVkOiAndmVsb2NpdGF0JyxcbiAgICBwbGF5OiAnaW5pY2lhcicsXG4gICAgcGF1c2U6ICdwYXVzYXInLFxuICAgIHJlc2V0OiAncmVpbmljaWFyJ1xuICB9LFxuICB0b29sYmFyOiB7XG4gICAgZXhwb3J0SW1hZ2U6ICdFeHBvcnRhIGltYXRnZScsXG4gICAgZXhwb3J0RGF0YTogJ0V4cG9ydGEgZGFkZXMnLFxuICAgIGV4cG9ydE1hcDogJ0V4cG9ydGEgbWFwYScsXG4gICAgc2hhcmVNYXBVUkw6ICdDb21wYXJ0ZWl4IFVSTCBkZWwgbWFwYScsXG4gICAgc2F2ZU1hcDogJ0Rlc2EgbWFwYScsXG4gICAgc2VsZWN0OiAnc2VsZWNjaW9uYScsXG4gICAgcG9seWdvbjogJ3BvbMOtZ29uJyxcbiAgICByZWN0YW5nbGU6ICdyZWN0YW5nbGUnLFxuICAgIGhpZGU6ICdhbWFnYScsXG4gICAgc2hvdzogJ21vc3RyYScsXG4gICAgLi4uTE9DQUxFU1xuICB9LFxuICBtb2RhbDoge1xuICAgIHRpdGxlOiB7XG4gICAgICBkZWxldGVEYXRhc2V0OiAnRXNib3JyYSBjb25qdW50IGRlIGRhZGVzJyxcbiAgICAgIGFkZERhdGFUb01hcDogJ0FmZWdlaXggZGFkZXMgYWwgbWFwYScsXG4gICAgICBleHBvcnRJbWFnZTogJ0V4cG9ydGEgaW1hdGdlJyxcbiAgICAgIGV4cG9ydERhdGE6ICdFeHBvcnRhIGRhZGVzJyxcbiAgICAgIGV4cG9ydE1hcDogJ0V4cG9ydGEgbWFwYScsXG4gICAgICBhZGRDdXN0b21NYXBib3hTdHlsZTogJ0FmZWdlaXggZXN0aWwgTWFwYm94IHByb3BpJyxcbiAgICAgIHNhdmVNYXA6ICdEZXNhIG1hcGEnLFxuICAgICAgc2hhcmVVUkw6ICdDb21wYXJ0ZWl4IFVSTCdcbiAgICB9LFxuICAgIGJ1dHRvbjoge1xuICAgICAgZGVsZXRlOiAnRXNib3JyYScsXG4gICAgICBkb3dubG9hZDogJ0Rlc2NhcnJlZ2EnLFxuICAgICAgZXhwb3J0OiAnRXhwb3J0YScsXG4gICAgICBhZGRTdHlsZTogJ0FmZWdlaXggZXN0aWwnLFxuICAgICAgc2F2ZTogJ0Rlc2EnLFxuICAgICAgZGVmYXVsdENhbmNlbDogJ0NhbmNlbMK3bGEnLFxuICAgICAgZGVmYXVsdENvbmZpcm06ICdDb25maXJtYSdcbiAgICB9LFxuICAgIGV4cG9ydEltYWdlOiB7XG4gICAgICByYXRpb1RpdGxlOiAnUsOgdGlvJyxcbiAgICAgIHJhdGlvRGVzY3JpcHRpb246ICdFc2N1bGwgcsOgdGlvIHBlciBkaXZlcnNvcyB1c29zLicsXG4gICAgICByYXRpb09yaWdpbmFsU2NyZWVuOiAnUGFudGFsbGEgb3JpZ2luYWwnLFxuICAgICAgcmF0aW9DdXN0b206ICdQZXJzb25hbGl0emF0JyxcbiAgICAgIHJhdGlvNF8zOiAnNDozJyxcbiAgICAgIHJhdGlvMTZfOTogJzE2OjknLFxuICAgICAgcmVzb2x1dGlvblRpdGxlOiAnUmVzb2x1Y2nDsycsXG4gICAgICByZXNvbHV0aW9uRGVzY3JpcHRpb246ICdBbHRhIHJlc29sdWNpw7Mgw6lzIG1pbGxvciBwZXIgYSBsZXMgaW1wcmVzc2lvbnMuJyxcbiAgICAgIHJlc29sdXRpb25QbGFjZWhvbGRlcjogJ1NlbGVjY2lvbmEgcmVzb2x1Y2nDsy4uLicsXG4gICAgICBtYXBMZWdlbmRUaXRsZTogJ0xsZWdlbmRhIGRlbCBtYXBhJyxcbiAgICAgIG1hcExlZ2VuZEFkZDogJ0FmZWdpciBsbGVnZW5kYSBhbCBtYXBhJ1xuICAgIH0sXG4gICAgZXhwb3J0RGF0YToge1xuICAgICAgZGF0YXNldFRpdGxlOiAnQ29uanVudCBkZSBkYWRlcycsXG4gICAgICBkYXRhc2V0U3VidGl0bGU6ICdFc2N1bGwgZWxzIGNvbmp1bnRzIGRlIGRhZGVzIHF1ZSB2b2xzIGV4cG9ydGFyJyxcbiAgICAgIGFsbERhdGFzZXRzOiAnVG90cycsXG4gICAgICBkYXRhVHlwZVRpdGxlOiAnVGlwdXMgZGUgZGFkZXMnLFxuICAgICAgZGF0YVR5cGVTdWJ0aXRsZTogJ0VzY3VsbCBlbHMgdGlwdXMgZGUgZGFkZXMgcXVlIHZvbHMgZXhwb3J0YXInLFxuICAgICAgZmlsdGVyRGF0YVRpdGxlOiAnRmlsdHJhIGRhZGVzJyxcbiAgICAgIGZpbHRlckRhdGFTdWJ0aXRsZTogJ1BvdHMgZXNjb2xsaXIgZXhwb3J0YXIgbGVzIGRhZGVzIG9yaWdpbmFscyBvIGxlcyBmaWx0cmFkZXMnLFxuICAgICAgZmlsdGVyZWREYXRhOiAnRGFkZXMgZmlsdHJhZGVzJyxcbiAgICAgIHVuZmlsdGVyZWREYXRhOiAnRGFkZXMgc2Vuc2UgZmlsdHJhcicsXG4gICAgICBmaWxlQ291bnQ6ICd7ZmlsZUNvdW50fSBBcnhpdXMnLFxuICAgICAgcm93Q291bnQ6ICd7cm93Q291bnR9IEZpbGVzJ1xuICAgIH0sXG4gICAgZGVsZXRlRGF0YToge1xuICAgICAgd2FybmluZzogXCJlc3TDoHMgYSBwdW50IGQnZXNib3JyYXIgYXF1ZXN0IGNvbmp1bnQgZGUgZGFkZXMuIEFmZWN0YXLDoCB7bGVuZ3RofSBjYXBlc1wiXG4gICAgfSxcbiAgICBhZGRTdHlsZToge1xuICAgICAgcHVibGlzaFRpdGxlOiBcIjIuIFB1YmxpY2EgZWwgdGV1IGVzdGlsIGEgTWFwYm94IG8gcHJvcG9yY2lvbmEgZWwgdG9rZW4gZCdhY2PDqXNcIixcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTE6ICdQb3RzIGNyZWFyIGVsIHRldSBwcm9waSBlc3RpbCBkZSBtYXBhIGEnLFxuICAgICAgcHVibGlzaFN1YnRpdGxlMjogJ2knLFxuICAgICAgcHVibGlzaFN1YnRpdGxlMzogJ3B1YmxpY2FyJyxcbiAgICAgIHB1Ymxpc2hTdWJ0aXRsZTQ6ICdoby4nLFxuICAgICAgcHVibGlzaFN1YnRpdGxlNTogJ1BlciB1dGlsaXR6YXIgdW4gZXN0aWwgcHJpdmF0LCBlbmdhbnhhIGVsIHRldScsXG4gICAgICBwdWJsaXNoU3VidGl0bGU2OiBcInRva2VuIGQnYWNjw6lzXCIsXG4gICAgICBwdWJsaXNoU3VidGl0bGU3OlxuICAgICAgICAnYXF1w60uICprZXBsZXIuZ2wgw6lzIHVuYSBhcGxpY2FjacOzIGNsaWVudCwgbGVzIGRhZGVzIHJvbWFuZW4gYWwgdGV1IG5hdmVnYWRvci4uJyxcbiAgICAgIGV4YW1wbGVUb2tlbjogJ3AuZXguIHBrLmFiY2RlZmcueHh4eHh4JyxcbiAgICAgIHBhc3RlVGl0bGU6IFwiMS4gRW5nYW54YSBsYSBVUkwgZGUgbCdlc3RpbFwiLFxuICAgICAgcGFzdGVTdWJ0aXRsZTE6ICdRdcOoIMOpcyB1bicsXG4gICAgICBwYXN0ZVN1YnRpdGxlMjogXCJVUkwgZGUgbCdlc3RpbFwiLFxuICAgICAgbmFtaW5nVGl0bGU6ICczLiBQb3NhIG5vbSBhbCB0ZXUgZXN0aWwnXG4gICAgfSxcbiAgICBzaGFyZU1hcDoge1xuICAgICAgc2hhcmVVcmlUaXRsZTogJ0NvbXBhcnRlaXggVVJMIGRlbCBtYXBhJyxcbiAgICAgIHNoYXJlVXJpU3VidGl0bGU6ICdHZW5lcmEgdW5hIFVSTCBkZWwgbWFwYSBwZXIgY29tcGFydGlyIGFtYiBhbHRyaScsXG4gICAgICBjbG91ZFRpdGxlOiAnRW1tYWdhdHplbWF0Z2UgYWwgbsO6dm9sJyxcbiAgICAgIGNsb3VkU3VidGl0bGU6ICdBY2NlZGVpeCBpIGNhcnJlZ2EgZGFkZXMgZGUgbWFwYSBhbCB0ZXUgZW1tYWdhdHplbWF0Z2UgYWwgbsO6dm9sIHBlcnNvbmFsJyxcbiAgICAgIHNoYXJlRGlzY2xhaW1lcjpcbiAgICAgICAgJ2tlcGxlci5nbCBkZXNhcsOgIGxlcyBkYWRlcyBkZWwgbWFwYSBhbCB0ZXUgZW1tYWdhdHplbWF0Z2UgYWwgbsO6dm9sIHBlcnNvbmFsLCBub23DqXMgcXVpIHRpbmd1aSBsYSBVUkwgcG9kcsOgIGFjY2VkaXIgYWwgbWFwYSBpIGEgbGVzIGRhZGVzIC4gJyArXG4gICAgICAgIFwiUG90cyBlZGl0YXIvZXNib3JyYXIgbCdhcnhpdSBkZSBkYWRlcyBlbiBlbCB0ZXUgY29tcHRlIGFsIG7DunZvbCBlbiBxdWFsc2V2b2wgbW9tZW50LlwiLFxuICAgICAgZ290b1BhZ2U6ICdWZXMgYSBsYSBww6BnaW5hIGRlIHtjdXJyZW50UHJvdmlkZXJ9IGRlIEtlcGxlci5nbCdcbiAgICB9LFxuICAgIHN0YXR1c1BhbmVsOiB7XG4gICAgICBtYXBVcGxvYWRpbmc6ICdDYXJyZWdhciB1biBtYXBhJyxcbiAgICAgIGVycm9yOiAnRXJyb3InXG4gICAgfSxcbiAgICBzYXZlTWFwOiB7XG4gICAgICB0aXRsZTogJ0VtbWFnYXR6ZW1hdGdlIGFsIG7DunZvbCcsXG4gICAgICBzdWJ0aXRsZTogJ0FjY2VkZWl4IHBlciBkZXNhciBlbCBtYXBhIGFsIHRldSBlbW1hZ2F0emVtYXRnZSBhbCBuw7p2b2wnXG4gICAgfSxcbiAgICBleHBvcnRNYXA6IHtcbiAgICAgIGZvcm1hdFRpdGxlOiAnRm9ybWF0IGRlIG1hcGEnLFxuICAgICAgZm9ybWF0U3VidGl0bGU6ICdFc2N1bGwgZWwgZm9ybWF0IGFtYiBxdcOoIHZvbHMgZXhwb3J0YXIgZWwgdGV1IG1hcGEnLFxuICAgICAgaHRtbDoge1xuICAgICAgICBzZWxlY3Rpb246ICdFeHBvcnRhIGVsIHRldSBtYXBhIGNvbSB1biBhcnhpdSBIVE1MIGludGVyYWN0aXUuJyxcbiAgICAgICAgdG9rZW5UaXRsZTogXCJUb2tlbiBkJ2FjY8OpcyBkZSBNYXBib3hcIixcbiAgICAgICAgdG9rZW5TdWJ0aXRsZTogXCJVdGlsaXR6YSBlbCB0ZXUgdG9rZW4gZCdhY2PDqXMgZGUgTWFwYm94IGEgbCdhcnhpdSBIVE1MIChvcGNpb25hbClcIixcbiAgICAgICAgdG9rZW5QbGFjZWhvbGRlcjogXCJFbmdhbnhhIGVsIHRldSB0b2tlbiBkJ2FjY8OpcyBhIE1hcGJveFwiLFxuICAgICAgICB0b2tlbk1pc3VzZVdhcm5pbmc6XG4gICAgICAgICAgJyogU2kgbm8gcHJvcG9yY2lvbmVzIGVsIHRldSBwcm9waSB0b2tlbiwgZWwgbWFwYSBwb2RyaWEgZmFsbGFyIGVuIHF1YWxzZXZvbCBtb21lbnQgcXVhbiByZWVtcGxhY2VtIGVsIG5vc3RyZSB0b2tlbiBwZXIgZXZpdGFyIGFidXNvcy4gJyxcbiAgICAgICAgdG9rZW5EaXNjbGFpbWVyOlxuICAgICAgICAgICdQb3RzIGNhbnZpYXIgZWwgdG9rZSBkZSBNYXBib3ggbcOpcyBlbmRhdmFudCBmZW50IHNlcnZpciBhcXVlc3RlcyBpbnN0cnVjY2lvbnM6ICcsXG4gICAgICAgIHRva2VuVXBkYXRlOiAnQ29tIGFjdHVhbGl0emFyIHVuIHRva2VuIHByZWV4aXN0ZW50LicsXG4gICAgICAgIG1vZGVUaXRsZTogJ01vZGUgbWFwYScsXG4gICAgICAgIG1vZGVTdWJ0aXRsZTE6ICdTZWxlY2Npb25hIG1vZGUgYXBwLiBNw6lzICcsXG4gICAgICAgIG1vZGVTdWJ0aXRsZTI6ICdpbmZvcm1hY2nDsycsXG4gICAgICAgIG1vZGVEZXNjcmlwdGlvbjogJ1Blcm1ldCBhbHMgdXN1YXJpcyB7bW9kZX0gZWwgbWFwYScsXG4gICAgICAgIHJlYWQ6ICdsbGVnaXInLFxuICAgICAgICBlZGl0OiAnZWRpdGFyJ1xuICAgICAgfSxcbiAgICAgIGpzb246IHtcbiAgICAgICAgY29uZmlnVGl0bGU6ICdDb25maWd1cmFjacOzIGRlbCBtYXBhJyxcbiAgICAgICAgY29uZmlnRGlzY2xhaW1lcjpcbiAgICAgICAgICBcIkxhIGNvbmZpZ3VyYWNpw7MgZGVsIG1hcGEgcydpbmNsb3Vyw6AgYSBsJ2FyeGl1IEpzb24uIFNpIHV0aWxpdHplcyBrZXBsZXIuZ2wgYSBsYSB0ZXZhIHByw7JwaWEgYXBwIHBvdHMgY29waWFyIGFxdWVzdGEgY29uZmlndXJhY2nDsyBpIHBhc3Nhci1sYSBhICBcIixcbiAgICAgICAgc2VsZWN0aW9uOlxuICAgICAgICAgICdFeHBvcnRhIGxlcyBkYWRlcyBkZWwgbWFwYSBpIGxhIGNvbmZpZ3VyYWNpw7MgZW4gdW4gc29sIGFyeGl1IEpzb24uIE3DqXMgZW5kYXZhbnQgcG90cyBvYnJpciBhcXVlc3QgbWF0ZWl4IG1hcGEgY2FycmVnYW50IGFxdWVzdCBtYXRlaXggYXJ4aXUgYSBrZXBsZXIuZ2wuJyxcbiAgICAgICAgZGlzY2xhaW1lcjpcbiAgICAgICAgICBcIiogTGEgY29uZmlndXJhY2nDsyBkZWwgbWFwYSBlcyBjb21iaW5hIGFtYiBlbHMgY29uanVudHMgZGUgZGFkZXMgY2FycmVnYXRzLiDigJhkYXRhSWTigJkgcyd1dGlsaXR6YSBwZXIgbGxpZ2FyIGNhcGVzLCBmaWx0cmVzIGkgc3VnZ2VyaW1lbnRzIGEgdW4gY29uanVudCBkZSBkYWRlcyBlc3BlY8OtZmljLiBcIiArXG4gICAgICAgICAgXCJRdWFuIHBhc3NpcyBhcXVlc3RhIGNvbmZpZ3VyYWNpw7MgYSBhZGREYXRhVG9NYXAsIGFzc2VndXJhIHF1ZSBsJ2lkZW50aWZpY2Fkb3IgZGVsIGNvbmp1bnQgZGUgZGFkZXMgY29pbmNpZGVpeGkgYW1iIGVscyDigJhkYXRhSWTigJkgZCdhcXVlc3RhIGNvbmZpZ3VyYWNpw7MuXCJcbiAgICAgIH1cbiAgICB9LFxuICAgIGxvYWRpbmdEaWFsb2c6IHtcbiAgICAgIGxvYWRpbmc6ICdDYXJyZWdhbnQuLi4nXG4gICAgfSxcbiAgICBsb2FkRGF0YToge1xuICAgICAgdXBsb2FkOiAnQ2FycmVnYXIgYXJ4aXVzJyxcbiAgICAgIHN0b3JhZ2U6IFwiQ2FycmVnYXIgZGVzIGQnZW1tYWdhdHplbWF0Z2VcIlxuICAgIH0sXG4gICAgdHJpcEluZm86IHtcbiAgICAgIHRpdGxlOiAnQ29tIGhhYmlsaXRhciBs4oCZYW5pbWFjacOzIGRlIHZpYXRnZScsXG4gICAgICBkZXNjcmlwdGlvbjE6XG4gICAgICAgICdQZXIgYW5pbWFyIGxhIHJ1dGEsIGxlcyBkYWRlcyBnZW9KU09OIGhhbiBkZSBjb250ZW5pciBgTGluZVN0cmluZ2AgZW4gbGEgc2V2YSBnZW9tZXRyaWEgaSBsZXMgY29vcmRlbmFkZXMgZGUgTGluZVN0cmluZyBoYW4gZGUgdGVuaXIgNCBlbGVtZW50cyBlbiBlbHMgZm9ybWF0cyBkZSAnLFxuICAgICAgY29kZTogJyBbbG9uZ2l0dWRlLCBsYXRpdHVkZSwgYWx0aXR1ZGUsIHRpbWVzdGFtcF0gJyxcbiAgICAgIGRlc2NyaXB0aW9uMjpcbiAgICAgICAgJ2kgZWwgZGFycmVyIGVsZW1lbnQgaGEgZGUgc2VyIGxhIG1hcmNhIGRlIHRlbXBzLiBFbHMgZm9ybWF0cyB2w6BsaWRzIHBlciBhIGxhIG1hcmNhIGRlIHRlbXBzIGluY2xvdWVuIFVuaXggZW4gc2Vnb25zIGNvbSBgMTU2NDE4NDM2M2AgbyBlbiBtaWxpc2Vnb25zIGNvbSBgMTU2NDE4NDM2MzAwMGAuJyxcbiAgICAgIGV4YW1wbGU6ICdFeGVtcGxlOidcbiAgICB9LFxuICAgIGljb25JbmZvOiB7XG4gICAgICB0aXRsZTogJ0NvbSBkaWJ1aXhhciBpY29uZXMnLFxuICAgICAgZGVzY3JpcHRpb24xOlxuICAgICAgICBcIkVuIGVsIHRldSBDU1YgY3JlYSB1bmEgY29sdW1uYSBpIHBvc2EtaGkgZWwgbm9tIGRlIGxhIGljb25hIHF1ZSB2b2xzIGRpYnVpeGFyLiBQb3RzIGRlaXhhciBsYSBjZWzCt2xhIGJ1aWRhIHF1YW4gbm8gdnVsZ3VpcyBxdWUgZXMgbW9zdHJpIHBlciBhIGNlcnRzIHB1bnRzLiBRdWFuIGxhIGNvbHVtbmEgcydhbm9tZW5hXCIsXG4gICAgICBjb2RlOiAnaWNvbicsXG4gICAgICBkZXNjcmlwdGlvbjI6IFwiIGtlcGxlci5nbCBhdXRvbcOgdGljYW1lbnQgY3JlYXLDoCB1bmEgY2FwYSBkJ2ljb25hLlwiLFxuICAgICAgZXhhbXBsZTogJ0V4ZW1wbGU6JyxcbiAgICAgIGljb25zOiAnSWNvbmVzJ1xuICAgIH0sXG4gICAgc3RvcmFnZU1hcFZpZXdlcjoge1xuICAgICAgbGFzdE1vZGlmaWVkOiAnRGFycmVyYSBtb2RpZmljYWNpw7MgZmEge2xhc3RVcGRhdGVkfScsXG4gICAgICBiYWNrOiAnRW5yZXJlJ1xuICAgIH0sXG4gICAgb3ZlcndyaXRlTWFwOiB7XG4gICAgICB0aXRsZTogJ0Rlc2FudCBtYXBhLi4uJyxcbiAgICAgIGFscmVhZHlFeGlzdHM6ICdqYSBleGlzdGVpeCBhIHttYXBTYXZlZH0uIEVsIHZvbHMgc29icmVlc2NyaXVyZT8nXG4gICAgfSxcbiAgICBsb2FkU3RvcmFnZU1hcDoge1xuICAgICAgYmFjazogJ0VucmVyZScsXG4gICAgICBnb1RvUGFnZTogJ1ZlcyBhIGxhIHDDoGdpbmEge2Rpc3BsYXlOYW1lfSBkZSBLZXBsZXIuZ2wnLFxuICAgICAgc3RvcmFnZU1hcHM6ICdFbW1hZ2F0emVtYXRnZSAvIE1hcGVzJyxcbiAgICAgIG5vU2F2ZWRNYXBzOiAnQ2FwIG1hcGEgZGVzYXQgZW5jYXJhJ1xuICAgIH1cbiAgfSxcbiAgaGVhZGVyOiB7XG4gICAgdmlzaWJsZUxheWVyczogJ0NhcGVzIHZpc2libGVzJyxcbiAgICBsYXllckxlZ2VuZDogJ0xsZWdlbmRhIGRlIGNhcGVzJ1xuICB9LFxuICBpbnRlcmFjdGlvbnM6IHtcbiAgICB0b29sdGlwOiAnU3VnZ2VyaW1lbnQnLFxuICAgIGJydXNoOiAnUGluemVsbCcsXG4gICAgY29vcmRpbmF0ZTogJ0Nvb3JkZW5hZGVzJyxcbiAgICBnZW9jb2RlcjogJ0dlb2NvZGlmaWNhZG9yJ1xuICB9LFxuICBsYXllckJsZW5kaW5nOiB7XG4gICAgdGl0bGU6ICdDb21iaW5hY2nDsyBkZSBjYXBlcycsXG4gICAgYWRkaXRpdmU6ICdhZGRpdGl2YScsXG4gICAgbm9ybWFsOiAnbm9ybWFsJyxcbiAgICBzdWJ0cmFjdGl2ZTogJ3N1YnN0cmFjdGl2YSdcbiAgfSxcbiAgY29sdW1uczoge1xuICAgIHRpdGxlOiAnQ29sdW1uZXMnLFxuICAgIGxhdDogJ2xhdCcsXG4gICAgbG5nOiAnbG9uJyxcbiAgICBhbHRpdHVkZTogJ2Fsw6dhZGEnLFxuICAgIGljb246ICdpY29uYScsXG4gICAgZ2VvanNvbjogJ2dlb2pzb24nLFxuICAgIGFyYzoge1xuICAgICAgbGF0MDogJ2xhdCBvcmlnZW4nLFxuICAgICAgbG5nMDogJ2xuZyBvcmlnZW4gJyxcbiAgICAgIGxhdDE6ICdsYXQgZGVzdGluYWNpw7MnLFxuICAgICAgbG5nMTogJ2xuZyBkZXN0aW5hY2nDsydcbiAgICB9LFxuICAgIGxpbmU6IHtcbiAgICAgIGFsdDA6ICdhbMOnYWRhIG9yaWdlbicsXG4gICAgICBhbHQxOiAnYWzDp2FkYSBkZXN0aW5hY2nDsydcbiAgICB9LFxuICAgIGdyaWQ6IHtcbiAgICAgIHdvcmxkVW5pdFNpemU6ICdNaWRhIGRlIG1hbGxhIChrbSknXG4gICAgfSxcbiAgICBoZXhhZ29uOiB7XG4gICAgICB3b3JsZFVuaXRTaXplOiBcIlJhZGkgZCdoZXjDoGdvbiAoa20pXCJcbiAgICB9LFxuICAgIGhleF9pZDogJ2lkIGhleCdcbiAgfSxcbiAgY29sb3I6IHtcbiAgICBjdXN0b21QYWxldHRlOiAnUGFsZXRhIHBlcnNvbmFsaXR6YWRhJyxcbiAgICBzdGVwczogJ2ludGVydmFscycsXG4gICAgdHlwZTogJ3RpcHVzJyxcbiAgICByZXZlcnNlZDogJ2ludmVydGlkYSdcbiAgfSxcbiAgc2NhbGU6IHtcbiAgICBjb2xvclNjYWxlOiAnRXNjYWxhIGRlIGNvbG9yJyxcbiAgICBzaXplU2NhbGU6ICdFc2NhbGEgZGUgbWlkZXMnLFxuICAgIHN0cm9rZVNjYWxlOiAnRXNjYWxhIGRlIHRyYcOnJyxcbiAgICBzY2FsZTogJ0VzY2FsYSdcbiAgfSxcbiAgZmlsZVVwbG9hZGVyOiB7XG4gICAgbWVzc2FnZTogXCJBcnJvc3NlZ2EgaSBkZWl4YSBhbmFyIGwnYXJ4aXUgYXF1w61cIixcbiAgICBjaHJvbWVNZXNzYWdlOlxuICAgICAgJyp1c3VhcmkgZGUgQ2hyb21lOiBsYSBtaWRhIG3DoHhpbWEgc8OzbiAyNTBtYiwgc2kgaGFzIGRlIGNhcnJnYXIgdW4gYXJ4aXUgbcOpcyBncmFuIGZlcyBzZXJ2aXIgU2FmYXJpJyxcbiAgICBkaXNjbGFpbWVyOlxuICAgICAgJyprZXBsZXIuZ2wgw6lzIHVuYSBhcGxpY2FjacOzIGEgbGEgYmFuZGEgY2xpZW50IHF1ZSBubyBlcyByZWNvbHphIGVuIGNhcCBzZXJ2aWRvci4gTGVzIGRhZGVzIG5vbcOpcyBleGlzdGVpeGVuIGEgbGEgdGV2YSBtw6BxdWluYS9uYXZlZ2Fkb3IuICcgK1xuICAgICAgXCJObyBzJ2VudmllbiBkYWRlcyBuaSBtYXBlcyBhIGNhcCBzZXJ2aWRvci5cIixcbiAgICBjb25maWdVcGxvYWRNZXNzYWdlOlxuICAgICAgJ0NhcnJlZ2Ege2ZpbGVGb3JtYXROYW1lc30gbyB1biBtYXBhIGRlc2F0IGVuICoqSnNvbioqLiBNw6lzIGluZm9ybWFjacOzIHNvYnJlIFsqKnN1cHBvcnRlZCBmaWxlIGZvcm1hdHMqKl0nLFxuICAgIGJyb3dzZUZpbGVzOiAnbmF2ZWdhIHBlbHMgdGV1cyBhcnhpdXMnLFxuICAgIHVwbG9hZGluZzogJ0NhcnJlZ2FudCcsXG4gICAgZmlsZU5vdFN1cHBvcnRlZDogXCJMJ2FyeGl1IHtlcnJvckZpbGVzfSBubyDDqXMgY29tcGF0aWJsZS5cIixcbiAgICBvcjogJ28nXG4gIH0sXG4gIGdlb2NvZGVyOiB7XG4gICAgdGl0bGU6ICdJbnRyb2R1ZWl4IHVuYSBhZHJlw6dhJ1xuICB9LFxuICBmaWVsZFNlbGVjdG9yOiB7XG4gICAgY2xlYXJBbGw6ICdUcmV1cmUgdG90cycsXG4gICAgZm9ybWF0dGluZzogJ0Zvcm1hdCdcbiAgfSxcbiAgY29tcGFyZToge1xuICAgIG1vZGVMYWJlbDogJ01vZGUgQ29tcGFyYWNpw7MnLFxuICAgIHR5cGVMYWJlbDogJ1RpcHVzIGRlIENvbXBhcmFjacOzJyxcbiAgICB0eXBlczoge1xuICAgICAgYWJzb2x1dGU6ICdBYnNvbHV0YScsXG4gICAgICByZWxhdGl2ZTogJ1JlbGF0aXZhJ1xuICAgIH1cbiAgfSxcbiAgbWFwUG9wb3Zlcjoge1xuICAgIHByaW1hcnk6ICdQcmluY2lwYWwnXG4gIH0sXG4gIGRlbnNpdHk6ICdkZW5zaXRhdCcsXG4gICdCdWcgUmVwb3J0JzogXCJJbmZvcm1lIGQnZXJyb3JzXCIsXG4gICdVc2VyIEd1aWRlJzogXCJHdWlhIGQndXN1YXJpXCIsXG4gIFNhdmU6ICdEZXNhJyxcbiAgU2hhcmU6ICdDb21wYXJ0ZWl4J1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxJQUFBQSxRQUFBLEdBQUFDLE9BQUE7QUFBbUMsU0FBQUMsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FB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