valtech-components 4.0.417 → 4.0.419
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/organisms/mini-games/bubble-blitz-game.component.mjs +676 -0
- package/esm2022/lib/components/organisms/mini-games/chessimals-game.component.mjs +15 -27
- package/esm2022/lib/components/organisms/mini-games/memory-game.component.mjs +151 -14
- package/esm2022/lib/components/organisms/mini-games/mini-games-menu.component.mjs +4 -2
- package/esm2022/lib/components/organisms/mini-games/mini-games.i18n.mjs +59 -1
- package/esm2022/lib/components/organisms/mini-games/simon-game.component.mjs +149 -12
- package/esm2022/lib/components/organisms/mini-games/types.mjs +1 -1
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/mini-games/public-api.mjs +44 -12
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/valtech-components-mini-games.mjs +44 -12
- package/fesm2022/valtech-components-mini-games.mjs.map +1 -1
- package/fesm2022/valtech-components.mjs +1160 -177
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/mini-games/bubble-blitz-game.component.d.ts +95 -0
- package/lib/components/organisms/mini-games/chessimals-game.component.d.ts +1 -1
- package/lib/components/organisms/mini-games/memory-game.component.d.ts +16 -1
- package/lib/components/organisms/mini-games/simon-game.component.d.ts +16 -1
- package/lib/components/organisms/mini-games/types.d.ts +9 -0
- package/lib/version.d.ts +1 -1
- package/mini-games/public-api.d.ts +4 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -34,7 +34,9 @@ export class MiniGamesMenuComponent {
|
|
|
34
34
|
this.audio.stopMusic();
|
|
35
35
|
}
|
|
36
36
|
get safeGames() {
|
|
37
|
-
return this.games
|
|
37
|
+
return this.games
|
|
38
|
+
.filter((game) => !!game && !!game.id && game.status !== 'soon')
|
|
39
|
+
.sort((a, b) => Number(b.id === 'chessimals') - Number(a.id === 'chessimals'));
|
|
38
40
|
}
|
|
39
41
|
t(key) {
|
|
40
42
|
this.i18n.lang();
|
|
@@ -302,4 +304,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
302
304
|
}], selected: [{
|
|
303
305
|
type: Output
|
|
304
306
|
}] } });
|
|
305
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1nYW1lcy1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvbWluaS1nYW1lcy9taW5pLWdhbWVzLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUNyQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGlCQUFpQixHQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLHVCQUF1QixFQUN2Qiw0QkFBNEIsR0FDN0IsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRzFELFFBQVEsQ0FBQztJQUNQLGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIscUJBQXFCO0lBQ3JCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsaUJBQWlCO0NBQ2xCLENBQUMsQ0FBQztBQStqQkgsTUFBTSxPQUFPLHNCQUFzQjtJQVlqQztRQVhp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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpSFQsazFVQWxIUyxnQkFBZ0Isb0pBQUUsT0FBTywySkFBRSxvQkFBb0I7OzRGQTBqQjlDLHNCQUFzQjtrQkE3akJsQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLENBQUMsWUFDaEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUhUO3dEQStjUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNhLFFBQVE7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQge1xuICBhZGRDaXJjbGVPdXRsaW5lLFxuICBjaGVja21hcmtDaXJjbGVPdXRsaW5lLFxuICBnYW1lQ29udHJvbGxlck91dGxpbmUsXG4gIHNwYXJrbGVzT3V0bGluZSxcbiAgdm9sdW1lSGlnaE91dGxpbmUsXG4gIHZvbHVtZU11dGVPdXRsaW5lLFxufSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5cbmltcG9ydCB7IE1vZGFsTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL21vZGFsLWxheW91dC9tb2RhbC1sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQge1xuICBNSU5JX0dBTUVfUExBWUVSX0FWQVRBUlMsXG4gIE1JTklfR0FNRV9QTEFZRVJfQ09MT1JTLFxuICBNaW5pR2FtZVBsYXllclByb2ZpbGVTZXJ2aWNlLFxufSBmcm9tICcuL21pbmktZ2FtZS1wbGF5ZXItcHJvZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1JTklfR0FNRVNfSTE4TiB9IGZyb20gJy4vbWluaS1nYW1lcy5pMThuJztcbmltcG9ydCB7IFJldHJvQXVkaW9TZXJ2aWNlIH0gZnJvbSAnLi9yZXRyby1hdWRpby5zZXJ2aWNlJztcbmltcG9ydCB7IE1pbmlHYW1lRGVmaW5pdGlvbiwgTWluaUdhbWVQbGF5ZXJQcm9maWxlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmFkZEljb25zKHtcbiAgYWRkQ2lyY2xlT3V0bGluZSxcbiAgY2hlY2ttYXJrQ2lyY2xlT3V0bGluZSxcbiAgZ2FtZUNvbnRyb2xsZXJPdXRsaW5lLFxuICBzcGFya2xlc091dGxpbmUsXG4gIHZvbHVtZUhpZ2hPdXRsaW5lLFxuICB2b2x1bWVNdXRlT3V0bGluZSxcbn0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtbWluaS1nYW1lcy1tZW51JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIElvbkljb24sIE1vZGFsTGF5b3V0Q29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGFzTW9kYWwpIHtcbiAgICAgIDx2YWwtbW9kYWwtbGF5b3V0IFt0aXRsZV09XCJ0KCdtZW51VGl0bGUnKVwiIFtzdWJ0aXRsZV09XCJ0KCdtZW51U3VidGl0bGUnKVwiIChjbG9zZSk9XCJkaXNtaXNzKClcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtZW51Q29udGVudFwiIC8+XG4gICAgICA8L3ZhbC1tb2RhbC1sYXlvdXQ+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cIm1pbmktZ2FtZXMtcGFnZS1oZWFkXCI+XG4gICAgICAgIDxoMT57eyB0KCdtZW51VGl0bGUnKSB9fTwvaDE+XG4gICAgICAgIDxwPnt7IHQoJ21lbnVTdWJ0aXRsZScpIH19PC9wPlxuICAgICAgPC9zZWN0aW9uPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtZW51Q29udGVudFwiIC8+XG4gICAgfVxuXG4gICAgPG5nLXRlbXBsYXRlICNtZW51Q29udGVudD5cbiAgICAgIEBpZiAocGxheWVyUHJvZmlsZXMuYWN0aXZlUHJvZmlsZSgpOyBhcyBhY3RpdmVQbGF5ZXIpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJtaW5pLWdhbWVzLXBsYXllclwiIFtzdHlsZS4tLXBsYXllci1jb2xvcl09XCJhY3RpdmVQbGF5ZXIuY29sb3JcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWluaS1nYW1lcy1wbGF5ZXJfX2hlYWRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWluaS1nYW1lcy1wbGF5ZXJfX2F2YXRhclwiPnt7IGFjdGl2ZVBsYXllci5hdmF0YXIgfX08L3NwYW4+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8c21hbGw+e3sgdCgncGxheWVyVGl0bGUnKSB9fTwvc21hbGw+XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgZGlzcGxheVBsYXllck5hbWUoYWN0aXZlUGxheWVyKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICA8cD57eyB0KCdhcmNhZGVQbGF5ZXJTdWJ0aXRsZScpIH19PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICBAaWYgKHBsYXllclByb2ZpbGVzLnByb2ZpbGVzKCkubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pbmktZ2FtZXMtcGxheWVyX19wcm9maWxlc1wiIFthdHRyLmFyaWEtbGFiZWxdPVwidCgnc2VsZWN0UGxheWVyJylcIj5cbiAgICAgICAgICAgICAgQGZvciAocHJvZmlsZSBvZiBwbGF5ZXJQcm9maWxlcy5wcm9maWxlcygpOyB0cmFjayBwcm9maWxlLmlkKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuaXMtc2VsZWN0ZWRdPVwicHJvZmlsZS5pZCA9PT0gYWN0aXZlUGxheWVyLmlkXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwbGF5ZXJQcm9maWxlcy5zZWxlY3RQcm9maWxlKHByb2ZpbGUuaWQpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBwcm9maWxlLmF2YXRhciB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgZGlzcGxheVBsYXllck5hbWUocHJvZmlsZSkgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgIEBpZiAocHJvZmlsZS5pZCA9PT0gYWN0aXZlUGxheWVyLmlkKSB7XG4gICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hlY2ttYXJrLWNpcmNsZS1vdXRsaW5lXCIgLz5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwibWluaS1nYW1lcy1wbGF5ZXJfX25hbWVcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7IHQoJ3BsYXllck5hbWUnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIG1heGxlbmd0aD1cIjE0XCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImFjdGl2ZVBsYXllci5uYW1lXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInQoJ3BsYXllck5hbWVQbGFjZWhvbGRlcicpXCJcbiAgICAgICAgICAgICAgKGlucHV0KT1cInVwZGF0ZVBsYXllck5hbWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvbGFiZWw+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXNcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInQoJ2F2YXRhclRpdGxlJylcIj5cbiAgICAgICAgICAgIEBmb3IgKGF2YXRhciBvZiBhdmF0YXJzOyB0cmFjayBhdmF0YXIpIHtcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5pcy1zZWxlY3RlZF09XCJhY3RpdmVQbGF5ZXIuYXZhdGFyID09PSBhdmF0YXJcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwbGF5ZXJQcm9maWxlcy51cGRhdGVBY3RpdmVQcm9maWxlKHsgYXZhdGFyIH0pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGF2YXRhciB9fVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaW5pLWdhbWVzLXBsYXllcl9fY2hvaWNlcyBtaW5pLWdhbWVzLXBsYXllcl9fY2hvaWNlcy0tY29sb3JzXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0KCdjb2xvclRpdGxlJylcIj5cbiAgICAgICAgICAgIEBmb3IgKGNvbG9yIG9mIGNvbG9yczsgdHJhY2sgY29sb3IpIHtcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIFtzdHlsZS4tLXN3YXRjaC1jb2xvcl09XCJjb2xvclwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmlzLXNlbGVjdGVkXT1cImFjdGl2ZVBsYXllci5jb2xvciA9PT0gY29sb3JcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwbGF5ZXJQcm9maWxlcy51cGRhdGVBY3RpdmVQcm9maWxlKHsgY29sb3IgfSlcIlxuICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWluaS1nYW1lcy1wbGF5ZXJfX2FkZFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY3JlYXRlUHJvZmlsZSgpXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImFkZC1jaXJjbGUtb3V0bGluZVwiIC8+XG4gICAgICAgICAgICB7eyB0KCduZXdQbGF5ZXInKSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaW5pLWdhbWVzLW1lbnUtYWN0aW9uc1wiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWluaS1nYW1lcy1zb3VuZC10b2dnbGVcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVNvdW5kKClcIj5cbiAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiYXVkaW8uZW5hYmxlZCgpID8gJ3ZvbHVtZS1oaWdoLW91dGxpbmUnIDogJ3ZvbHVtZS1tdXRlLW91dGxpbmUnXCIgLz5cbiAgICAgICAgICA8c3Bhbj57eyB0KGF1ZGlvLmVuYWJsZWQoKSA/ICdzb3VuZE9uJyA6ICdzb3VuZE9mZicpIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibWluaS1nYW1lcy1ncmlkXCI+XG4gICAgICAgIEBmb3IgKGdhbWUgb2Ygc2FmZUdhbWVzOyB0cmFjayBnYW1lLmlkIHx8ICRpbmRleCkge1xuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtaW5pLWdhbWUtY2FyZFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2VsZWN0KGdhbWUpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pbmktZ2FtZS1jYXJkX19pY29uXCIgW2NsYXNzLm1pbmktZ2FtZS1jYXJkX19pY29uLS1pbWFnZV09XCIhIWdhbWUuaW1hZ2VTcmNcIj5cbiAgICAgICAgICAgICAgQGlmIChnYW1lLmltYWdlU3JjKSB7XG4gICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImdhbWUuaW1hZ2VTcmNcIiBbYWx0XT1cImdhbWUudGl0bGVcIiBsb2FkaW5nPVwibGF6eVwiIC8+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHt7IGdhbWUuaWNvbiB9fVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pbmktZ2FtZS1jYXJkX19jb250ZW50XCI+XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgZ2FtZS50aXRsZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICA8c21hbGw+e3sgZ2FtZS5kZXNjcmlwdGlvbiB9fTwvc21hbGw+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWluaS1nYW1lLWNhcmRfX2FjdGlvblwiPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiZ2FtZS1jb250cm9sbGVyLW91dGxpbmVcIiAvPlxuICAgICAgICAgICAgICAgIHt7IHQoJ29wZW5HYW1lJykgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAtLW1pbmktZ2FtZXMtcGFuZWw6ICNmZmZmZmY7XG4gICAgICAgIC0tbWluaS1nYW1lcy1zdXJmYWNlOiAjZjhmN2ZiO1xuICAgICAgICAtLW1pbmktZ2FtZXMtYm9yZGVyOiByZ2JhKDQ3LCA0NCwgNTgsIDAuMTIpO1xuICAgICAgICAtLW1pbmktZ2FtZXMtdGV4dDogIzJmMmMzYTtcbiAgICAgICAgLS1taW5pLWdhbWVzLW11dGVkOiByZ2JhKDQ3LCA0NCwgNTgsIDAuNjgpO1xuICAgICAgICAtLW1pbmktZ2FtZXMtcHJpbWFyeTogIzZmNjVkODtcbiAgICAgICAgLS1taW5pLWdhbWVzLXByaW1hcnktcmdiOiAxMTEsIDEwMSwgMjE2O1xuICAgICAgICAtLW1pbmktZ2FtZXMtc2Vjb25kYXJ5OiAjNjdiN2M5O1xuICAgICAgICAtLW1pbmktZ2FtZXMtc2Vjb25kYXJ5LXJnYjogMTAzLCAxODMsIDIwMTtcbiAgICAgICAgLS1taW5pLWdhbWVzLWFjY2VudDogIzhmN2NlNztcbiAgICAgICAgLS1taW5pLWdhbWVzLWFjY2VudC1yZ2I6IDE0MywgMTI0LCAyMzE7XG4gICAgICAgIC0tbWluaS1nYW1lcy1zb2Z0OiAjZjNmMWZiO1xuICAgICAgICAtLW1pbmktZ2FtZXMtaWNvbi10ZXh0OiAjZmZmZmZmO1xuICAgICAgICAtLW1pbmktZ2FtZXMtZm9jdXM6IHJnYmEodmFyKC0tbWluaS1nYW1lcy1wcmltYXJ5LXJnYiksIDAuMjIpO1xuICAgICAgICBjb2xvcjogdmFyKC0tbWluaS1nYW1lcy10ZXh0KTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSB7XG4gICAgICAgIC0tbWluaS1nYW1lcy1wYW5lbDogIzIxMWYyYTtcbiAgICAgICAgLS1taW5pLWdhbWVzLXN1cmZhY2U6ICMxOTE4MjE7XG4gICAgICAgIC0tbWluaS1nYW1lcy1ib3JkZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMyk7XG4gICAgICAgIC0tbWluaS1nYW1lcy10ZXh0OiAjZjdmNGZmO1xuICAgICAgICAtLW1pbmktZ2FtZXMtbXV0ZWQ6IHJnYmEoMjQ3LCAyNDQsIDI1NSwgMC42OCk7XG4gICAgICAgIC0tbWluaS1nYW1lcy1wcmltYXJ5OiAjYjdhZGZmO1xuICAgICAgICAtLW1pbmktZ2FtZXMtcHJpbWFyeS1yZ2I6IDE4MywgMTczLCAyNTU7XG4gICAgICAgIC0tbWluaS1nYW1lcy1zZWNvbmRhcnk6ICM4ZmQ1ZTU7XG4gICAgICAgIC0tbWluaS1nYW1lcy1zZWNvbmRhcnktcmdiOiAxNDMsIDIxMywgMjI5O1xuICAgICAgICAtLW1pbmktZ2FtZXMtYWNjZW50OiAjYzdiYmZmO1xuICAgICAgICAtLW1pbmktZ2FtZXMtYWNjZW50LXJnYjogMTk5LCAxODcsIDI1NTtcbiAgICAgICAgLS1taW5pLWdhbWVzLXNvZnQ6ICMyYTI3MzU7XG4gICAgICAgIC0tbWluaS1nYW1lcy1pY29uLXRleHQ6ICMyMTFmMmE7XG4gICAgICAgIC0tbWluaS1nYW1lcy1mb2N1czogcmdiYSh2YXIoLS1taW5pLWdhbWVzLXByaW1hcnktcmdiKSwgMC4yNCk7XG4gICAgICB9XG5cbiAgICAgIC5taW5pLWdhbWVzLWdyaWQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1tZW51LWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1taW5pLWdhbWVzLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEuMzc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMTIlIDAlLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGxheWVyLWNvbG9yKSAxMiUsIHRyYW5zcGFyZW50KSwgdHJhbnNwYXJlbnQgMzQlKSxcbiAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1taW5pLWdhbWVzLXBhbmVsKSwgdmFyKC0tbWluaS1nYW1lcy1zb2Z0KSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMS4xMjVyZW0gMi43NXJlbSByZ2JhKDQ3LCA0NCwgNTgsIDAuMDgpO1xuICAgICAgICBjb2xvcjogdmFyKC0tbWluaS1nYW1lcy10ZXh0KTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspIC5taW5pLWdhbWVzLXBsYXllcixcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLm1pbmktZ2FtZXMtcGxheWVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLWJvcmRlcik7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxMiUgMCUsIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wbGF5ZXItY29sb3IpIDE0JSwgdHJhbnNwYXJlbnQpLCB0cmFuc3BhcmVudCAzNCUpLFxuICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1taW5pLWdhbWVzLXBhbmVsKSA5MiUsIHdoaXRlKSwgdmFyKC0tbWluaS1nYW1lcy1zdXJmYWNlKSk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5taW5pLWdhbWVzLXBsYXllcl9faGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNThweCAxZnI7XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19hdmF0YXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogNThweDtcbiAgICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbGF5ZXItY29sb3IpO1xuICAgICAgICBmb250LXNpemU6IDEuNjVyZW07XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTRweCAyOHB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wbGF5ZXItY29sb3IpIDMyJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX2hlYWQgc21hbGwsXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX25hbWUgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogdmFyKC0tbWluaS1nYW1lcy1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19oZWFkIHN0cm9uZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiAxLjM1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4wNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDk1MDtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19oZWFkIHAge1xuICAgICAgICBtYXJnaW46IDAuMTg3NXJlbSAwIDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjkycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zMjtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19wcm9maWxlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX3Byb2ZpbGVzIGJ1dHRvbiB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiA0MnB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA3cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlvbi1ib3JkZXItY29sb3IsICNlN2U0ZWEpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgcGFkZGluZzogMCAxMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24taXRlbS1iYWNrZ3JvdW5kLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDg1MDtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19wcm9maWxlcyBidXR0b24uaXMtc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXBsYXllci1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wbGF5ZXItY29sb3IpIDE2JSwgdmFyKC0taW9uLWNhcmQtYmFja2dyb3VuZCwgI2ZmZikpO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX3Byb2ZpbGVzIGlvbi1pY29uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXBsYXllci1jb2xvcik7XG4gICAgICB9XG5cbiAgICAgIC5taW5pLWdhbWVzLXBsYXllcl9fbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX25hbWUgaW5wdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogNDhweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWluaS1nYW1lcy1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWluaS1nYW1lcy1wYW5lbCkgODglLCB3aGl0ZSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLXRleHQpO1xuICAgICAgICBjYXJldC1jb2xvcjogdmFyKC0tbWluaS1nYW1lcy1wcmltYXJ5KTtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDg1MDtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19uYW1lIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLW11dGVkKTtcbiAgICAgICAgb3BhY2l0eTogMC44NDtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19uYW1lIGlucHV0OmZvY3VzLXZpc2libGUsXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX3Byb2ZpbGVzIGJ1dHRvbjpmb2N1cy12aXNpYmxlLFxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19jaG9pY2VzIGJ1dHRvbjpmb2N1cy12aXNpYmxlLFxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19hZGQ6Zm9jdXMtdmlzaWJsZSxcbiAgICAgIC5taW5pLWdhbWVzLXNvdW5kLXRvZ2dsZTpmb2N1cy12aXNpYmxlLFxuICAgICAgLm1pbmktZ2FtZS1jYXJkOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAwLjE4NzVyZW0gc29saWQgdmFyKC0tbWluaS1nYW1lcy1mb2N1cyk7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAwLjE4NzVyZW07XG4gICAgICB9XG5cbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAubWluaS1nYW1lcy1wbGF5ZXJfX25hbWUgaW5wdXQsXG4gICAgICA6aG9zdC1jb250ZXh0KFtkYXRhLXRoZW1lPSdkYXJrJ10pIC5taW5pLWdhbWVzLXBsYXllcl9fbmFtZSBpbnB1dCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbWluaS1nYW1lcy1ib3JkZXIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWluaS1nYW1lcy1wYW5lbCkgODglLCB3aGl0ZSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLXRleHQpO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXMgYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDQycHg7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWluaS1nYW1lcy1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbWluaS1nYW1lcy1wYW5lbCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLXRleHQpO1xuICAgICAgICBmb250LXNpemU6IDEuMTJyZW07XG4gICAgICB9XG5cbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAubWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXMgYnV0dG9uLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAubWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXMgYnV0dG9uLFxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspIC5taW5pLWdhbWVzLXBsYXllcl9fcHJvZmlsZXMgYnV0dG9uLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAubWluaS1nYW1lcy1wbGF5ZXJfX3Byb2ZpbGVzIGJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbWluaS1nYW1lcy1ib3JkZXIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWluaS1nYW1lcy1wYW5lbCkgODglLCB3aGl0ZSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLXRleHQpO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXMtLWNvbG9ycyBidXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1pb24tY29sb3ItZGFyay1yZ2IsIDQ3LCA0MiwgNTgpLCAwLjE4KTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3dhdGNoLWNvbG9yKTtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICBpbnNldCAwIDAgMCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI0KSxcbiAgICAgICAgICAwIDEwcHggMjJweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc3dhdGNoLWNvbG9yKSAyNCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19jaG9pY2VzLS1jb2xvcnMgYnV0dG9uOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM0KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDEycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19jaG9pY2VzIGJ1dHRvbi5pcy1zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGxheWVyLWNvbG9yKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wbGF5ZXItY29sb3IpIDE4JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLm1pbmktZ2FtZXMtcGxheWVyX19jaG9pY2VzIGJ1dHRvbi5pcy1zZWxlY3RlZCxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLm1pbmktZ2FtZXMtcGxheWVyX19jaG9pY2VzIGJ1dHRvbi5pcy1zZWxlY3RlZCxcbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAubWluaS1nYW1lcy1wbGF5ZXJfX3Byb2ZpbGVzIGJ1dHRvbi5pcy1zZWxlY3RlZCxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLm1pbmktZ2FtZXMtcGxheWVyX19wcm9maWxlcyBidXR0b24uaXMtc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXBsYXllci1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wbGF5ZXItY29sb3IpIDE4JSwgdmFyKC0taW9uLWNhcmQtYmFja2dyb3VuZCwgIzFmMWIyOCkpO1xuICAgICAgfVxuXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLm1pbmktZ2FtZXMtcGxheWVyX19jaG9pY2VzLS1jb2xvcnMgYnV0dG9uLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAubWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXMtLWNvbG9ycyBidXR0b24ge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0taW9uLWNvbG9yLWxpZ2h0LXJnYiwgMjQ0LCAyNDUsIDI0OCksIDAuMzIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2F0Y2gtY29sb3IpO1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIGluc2V0IDAgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjIpLFxuICAgICAgICAgIDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMjgpLFxuICAgICAgICAgIDAgMTJweCAyNHB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1zd2F0Y2gtY29sb3IpIDM0JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXMtLWNvbG9ycyBidXR0b24uaXMtc2VsZWN0ZWQsXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLm1pbmktZ2FtZXMtcGxheWVyX19jaG9pY2VzLS1jb2xvcnMgYnV0dG9uLmlzLXNlbGVjdGVkLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAubWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXMtLWNvbG9ycyBidXR0b24uaXMtc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLW1pbmktZ2FtZXMtYWNjZW50KTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3dhdGNoLWNvbG9yKTtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAwIDAgMCAwLjE4NzVyZW0gcmdiYSh2YXIoLS1taW5pLWdhbWVzLWFjY2VudC1yZ2IpLCAwLjI2KSxcbiAgICAgICAgICBpbnNldCAwIDAgMCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI4KSxcbiAgICAgICAgICAwIDE0cHggMjhweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc3dhdGNoLWNvbG9yKSAzNiUsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19hZGQge1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogN3B4O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MnB4O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDE0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wbGF5ZXItY29sb3IpIDE2JSwgdmFyKC0tbWluaS1nYW1lcy1wYW5lbCkpO1xuICAgICAgICBjb2xvcjogdmFyKC0tbWluaS1nYW1lcy1wcmltYXJ5KTtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkycmVtO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1zb3VuZC10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQycHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTRweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWluaS1nYW1lcy1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbWluaS1nYW1lcy1wYW5lbCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLXRleHQpO1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4NTA7XG4gICAgICB9XG5cbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAubWluaS1nYW1lcy1zb3VuZC10b2dnbGUsXG4gICAgICA6aG9zdC1jb250ZXh0KFtkYXRhLXRoZW1lPSdkYXJrJ10pIC5taW5pLWdhbWVzLXNvdW5kLXRvZ2dsZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbWluaS1nYW1lcy1ib3JkZXIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1taW5pLWdhbWVzLXBhbmVsKTtcbiAgICAgICAgY29sb3I6IHZhcigtLW1pbmktZ2FtZXMtdGV4dCk7XG4gICAgICB9XG5cbiAgICAgIC5taW5pLWdhbWVzLXNvdW5kLXRvZ2dsZSBpb24taWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLXByaW1hcnkpO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1zb3VuZC10b2dnbGUgc3BhbiB7XG4gICAgICAgIG1heC13aWR0aDogMThjaDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIC5taW5pLWdhbWVzLXBhZ2UtaGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggMCA0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGFnZS1oZWFkIGgxIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tbWluaS1nYW1lcy10ZXh0KTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjVyZW0sIDl2dywgNHJlbSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjk1O1xuICAgICAgICBmb250LXdlaWdodDogOTUwO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wYWdlLWhlYWQgcCB7XG4gICAgICAgIG1heC13aWR0aDogMzIuNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAzdncsIDEuMjVyZW0pO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZS1jYXJkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNzJweCAxZnI7XG4gICAgICAgIGdhcDogMTRweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWluaS1nYW1lcy1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMjAlIDEwJSwgcmdiYSh2YXIoLS1taW5pLWdhbWVzLXByaW1hcnktcmdiKSwgMC4xKSwgdHJhbnNwYXJlbnQgMzIlKSxcbiAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1taW5pLWdhbWVzLXBhbmVsKSwgdmFyKC0tbWluaS1nYW1lcy1zb2Z0KSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLXRleHQpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIGJvcmRlci1jb2xvciAxNjBtcyBlYXNlLFxuICAgICAgICAgIHRyYW5zZm9ybSAxNjBtcyBlYXNlLFxuICAgICAgICAgIGJhY2tncm91bmQgMTYwbXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspIC5taW5pLWdhbWUtY2FyZCxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLm1pbmktZ2FtZS1jYXJkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLWJvcmRlcik7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAyMCUgMTAlLCByZ2JhKHZhcigtLW1pbmktZ2FtZXMtcHJpbWFyeS1yZ2IpLCAwLjE0KSwgdHJhbnNwYXJlbnQgMzIlKSxcbiAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWluaS1nYW1lcy1wYW5lbCkgOTIlLCB3aGl0ZSksIHZhcigtLW1pbmktZ2FtZXMtc3VyZmFjZSkpO1xuICAgICAgICBjb2xvcjogdmFyKC0tbWluaS1nYW1lcy10ZXh0KTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZS1jYXJkOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lLWNhcmQ6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLW1pbmktZ2FtZXMtcHJpbWFyeSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZS1jYXJkOmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC41NTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZS1jYXJkX19pY29uIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDcycHg7XG4gICAgICAgIGhlaWdodDogNzJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAyMiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSksIHRyYW5zcGFyZW50IDMyJSksXG4gICAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tbWluaS1nYW1lcy1wcmltYXJ5KSwgdmFyKC0tbWluaS1nYW1lcy1zZWNvbmRhcnkpKTtcbiAgICAgICAgY29sb3I6IHZhcigtLW1pbmktZ2FtZXMtaWNvbi10ZXh0KTtcbiAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDAuODc1cmVtIDIuMjVyZW0gcmdiYSh2YXIoLS1taW5pLWdhbWVzLXByaW1hcnktcmdiKSwgMC4yOCk7XG4gICAgICB9XG5cbiAgICAgIC5taW5pLWdhbWUtY2FyZF9faWNvbi0taW1hZ2Uge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lLWNhcmRfX2ljb24gaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjM0KTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZS1jYXJkX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDRweDtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZS1jYXJkX19jb250ZW50IHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZS1jYXJkX19jb250ZW50IHNtYWxsIHtcbiAgICAgICAgY29sb3I6IHZhcigtLW1pbmktZ2FtZXMtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lLWNhcmRfX2FjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDZweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDZweDtcbiAgICAgICAgY29sb3I6IHZhcigtLW1pbmktZ2FtZXMtcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MjBweCkge1xuICAgICAgICAubWluaS1nYW1lLWNhcmQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTZweCAxZnI7XG4gICAgICAgICAgcGFkZGluZzogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5taW5pLWdhbWUtY2FyZF9faWNvbiB7XG4gICAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWluaUdhbWVzTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHJlYWRvbmx5IHBsYXllclByb2ZpbGVzID0gaW5qZWN0KE1pbmlHYW1lUGxheWVyUHJvZmlsZVNlcnZpY2UpO1xuICByZWFkb25seSBhdWRpbyA9IGluamVjdChSZXRyb0F1ZGlvU2VydmljZSk7XG4gIHJlYWRvbmx5IGF2YXRhcnMgPSBNSU5JX0dBTUVfUExBWUVSX0FWQVRBUlM7XG4gIHJlYWRvbmx5IGNvbG9ycyA9IE1JTklfR0FNRV9QTEFZRVJfQ09MT1JTO1xuXG4gIEBJbnB1dCgpIGdhbWVzOiBNaW5pR2FtZURlZmluaXRpb25bXSA9IFtdO1xuICBASW5wdXQoKSBhc01vZGFsID0gdHJ1ZTtcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxNaW5pR2FtZURlZmluaXRpb24+KCk7XG4gIF9tb2RhbFJlZj86IHsgZGlzbWlzczogKGRhdGE/OiB1bmtub3duLCByb2xlPzogc3RyaW5nKSA9PiBQcm9taXNlPGJvb2xlYW4+IH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMoJ01pbmlHYW1lcycsIE1JTklfR0FNRVNfSTE4Tik7XG4gICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4gdm9pZCB0aGlzLmF1ZGlvLnN0YXJ0TWVudU11c2ljKCkuY2F0Y2goKCkgPT4gdW5kZWZpbmVkKSwgMCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmF1ZGlvLnN0b3BNdXNpYygpO1xuICB9XG5cbiAgZ2V0IHNhZmVHYW1lcygpOiBNaW5pR2FtZURlZmluaXRpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2FtZXMuZmlsdGVyKChnYW1lKTogZ2FtZSBpcyBNaW5pR2FtZURlZmluaXRpb24gPT4gISFnYW1lICYmICEhZ2FtZS5pZCAmJiBnYW1lLnN0YXR1cyAhPT0gJ3Nvb24nKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksICdNaW5pR2FtZXMnKTtcbiAgfVxuXG4gIHNlbGVjdChnYW1lOiBNaW5pR2FtZURlZmluaXRpb24pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkLmVtaXQoZ2FtZSk7XG4gICAgdm9pZCB0aGlzLl9tb2RhbFJlZj8uZGlzbWlzcyhnYW1lLCAnc2VsZWN0Jyk7XG4gIH1cblxuICB1cGRhdGVQbGF5ZXJOYW1lKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICB0aGlzLnBsYXllclByb2ZpbGVzLnVwZGF0ZUFjdGl2ZVByb2ZpbGUoeyBuYW1lOiB2YWx1ZSB9KTtcbiAgfVxuXG4gIGRpc3BsYXlQbGF5ZXJOYW1lKHByb2ZpbGU6IE1pbmlHYW1lUGxheWVyUHJvZmlsZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucGxheWVyUHJvZmlsZXMuZGlzcGxheU5hbWUocHJvZmlsZSwgdGhpcy50KCdkZWZhdWx0UGxheWVyTmFtZScpKTtcbiAgfVxuXG4gIGNyZWF0ZVByb2ZpbGUoKTogdm9pZCB7XG4gICAgdGhpcy5wbGF5ZXJQcm9maWxlcy5jcmVhdGVQcm9maWxlKCk7XG4gIH1cblxuICB0b2dnbGVTb3VuZCgpOiB2b2lkIHtcbiAgICB0aGlzLmF1ZGlvLnNldEVuYWJsZWQoIXRoaXMuYXVkaW8uZW5hYmxlZCgpKTtcbiAgICBpZiAodGhpcy5hdWRpby5lbmFibGVkKCkpIHtcbiAgICAgIHZvaWQgdGhpcy5hdWRpby5zdGFydE1lbnVNdXNpYygpLmNhdGNoKCgpID0+IHVuZGVmaW5lZCk7XG4gICAgfVxuICB9XG5cbiAgZGlzbWlzcygpOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMuX21vZGFsUmVmPy5kaXNtaXNzKHVuZGVmaW5lZCwgJ2NhbmNlbCcpO1xuICB9XG59XG4iXX0=
|
|
307
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1nYW1lcy1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvbWluaS1nYW1lcy9taW5pLWdhbWVzLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUNyQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGlCQUFpQixHQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLHVCQUF1QixFQUN2Qiw0QkFBNEIsR0FDN0IsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRzFELFFBQVEsQ0FBQztJQUNQLGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIscUJBQXFCO0lBQ3JCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsaUJBQWlCO0NBQ2xCLENBQUMsQ0FBQztBQStqQkgsTUFBTSxPQUFPLHNCQUFzQjtJQVlqQztRQVhp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QUFRLENBQUMsQ0FBQztJQUNwRCxDQUFDOytHQTNEVSxzQkFBc0I7bUdBQXRCLHNCQUFzQixrS0F6akJ2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpSFQsazFVQWxIUyxnQkFBZ0Isb0pBQUUsT0FBTywySkFBRSxvQkFBb0I7OzRGQTBqQjlDLHNCQUFzQjtrQkE3akJsQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLENBQUMsWUFDaEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUhUO3dEQStjUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNhLFFBQVE7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQge1xuICBhZGRDaXJjbGVPdXRsaW5lLFxuICBjaGVja21hcmtDaXJjbGVPdXRsaW5lLFxuICBnYW1lQ29udHJvbGxlck91dGxpbmUsXG4gIHNwYXJrbGVzT3V0bGluZSxcbiAgdm9sdW1lSGlnaE91dGxpbmUsXG4gIHZvbHVtZU11dGVPdXRsaW5lLFxufSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5cbmltcG9ydCB7IE1vZGFsTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL21vZGFsLWxheW91dC9tb2RhbC1sYXlvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQge1xuICBNSU5JX0dBTUVfUExBWUVSX0FWQVRBUlMsXG4gIE1JTklfR0FNRV9QTEFZRVJfQ09MT1JTLFxuICBNaW5pR2FtZVBsYXllclByb2ZpbGVTZXJ2aWNlLFxufSBmcm9tICcuL21pbmktZ2FtZS1wbGF5ZXItcHJvZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1JTklfR0FNRVNfSTE4TiB9IGZyb20gJy4vbWluaS1nYW1lcy5pMThuJztcbmltcG9ydCB7IFJldHJvQXVkaW9TZXJ2aWNlIH0gZnJvbSAnLi9yZXRyby1hdWRpby5zZXJ2aWNlJztcbmltcG9ydCB7IE1pbmlHYW1lRGVmaW5pdGlvbiwgTWluaUdhbWVQbGF5ZXJQcm9maWxlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmFkZEljb25zKHtcbiAgYWRkQ2lyY2xlT3V0bGluZSxcbiAgY2hlY2ttYXJrQ2lyY2xlT3V0bGluZSxcbiAgZ2FtZUNvbnRyb2xsZXJPdXRsaW5lLFxuICBzcGFya2xlc091dGxpbmUsXG4gIHZvbHVtZUhpZ2hPdXRsaW5lLFxuICB2b2x1bWVNdXRlT3V0bGluZSxcbn0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtbWluaS1nYW1lcy1tZW51JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIElvbkljb24sIE1vZGFsTGF5b3V0Q29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGFzTW9kYWwpIHtcbiAgICAgIDx2YWwtbW9kYWwtbGF5b3V0IFt0aXRsZV09XCJ0KCdtZW51VGl0bGUnKVwiIFtzdWJ0aXRsZV09XCJ0KCdtZW51U3VidGl0bGUnKVwiIChjbG9zZSk9XCJkaXNtaXNzKClcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtZW51Q29udGVudFwiIC8+XG4gICAgICA8L3ZhbC1tb2RhbC1sYXlvdXQ+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cIm1pbmktZ2FtZXMtcGFnZS1oZWFkXCI+XG4gICAgICAgIDxoMT57eyB0KCdtZW51VGl0bGUnKSB9fTwvaDE+XG4gICAgICAgIDxwPnt7IHQoJ21lbnVTdWJ0aXRsZScpIH19PC9wPlxuICAgICAgPC9zZWN0aW9uPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtZW51Q29udGVudFwiIC8+XG4gICAgfVxuXG4gICAgPG5nLXRlbXBsYXRlICNtZW51Q29udGVudD5cbiAgICAgIEBpZiAocGxheWVyUHJvZmlsZXMuYWN0aXZlUHJvZmlsZSgpOyBhcyBhY3RpdmVQbGF5ZXIpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJtaW5pLWdhbWVzLXBsYXllclwiIFtzdHlsZS4tLXBsYXllci1jb2xvcl09XCJhY3RpdmVQbGF5ZXIuY29sb3JcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWluaS1nYW1lcy1wbGF5ZXJfX2hlYWRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWluaS1nYW1lcy1wbGF5ZXJfX2F2YXRhclwiPnt7IGFjdGl2ZVBsYXllci5hdmF0YXIgfX08L3NwYW4+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8c21hbGw+e3sgdCgncGxheWVyVGl0bGUnKSB9fTwvc21hbGw+XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgZGlzcGxheVBsYXllck5hbWUoYWN0aXZlUGxheWVyKSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICA8cD57eyB0KCdhcmNhZGVQbGF5ZXJTdWJ0aXRsZScpIH19PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICBAaWYgKHBsYXllclByb2ZpbGVzLnByb2ZpbGVzKCkubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pbmktZ2FtZXMtcGxheWVyX19wcm9maWxlc1wiIFthdHRyLmFyaWEtbGFiZWxdPVwidCgnc2VsZWN0UGxheWVyJylcIj5cbiAgICAgICAgICAgICAgQGZvciAocHJvZmlsZSBvZiBwbGF5ZXJQcm9maWxlcy5wcm9maWxlcygpOyB0cmFjayBwcm9maWxlLmlkKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuaXMtc2VsZWN0ZWRdPVwicHJvZmlsZS5pZCA9PT0gYWN0aXZlUGxheWVyLmlkXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwbGF5ZXJQcm9maWxlcy5zZWxlY3RQcm9maWxlKHByb2ZpbGUuaWQpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBwcm9maWxlLmF2YXRhciB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgZGlzcGxheVBsYXllck5hbWUocHJvZmlsZSkgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgIEBpZiAocHJvZmlsZS5pZCA9PT0gYWN0aXZlUGxheWVyLmlkKSB7XG4gICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hlY2ttYXJrLWNpcmNsZS1vdXRsaW5lXCIgLz5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwibWluaS1nYW1lcy1wbGF5ZXJfX25hbWVcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7IHQoJ3BsYXllck5hbWUnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIG1heGxlbmd0aD1cIjE0XCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImFjdGl2ZVBsYXllci5uYW1lXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInQoJ3BsYXllck5hbWVQbGFjZWhvbGRlcicpXCJcbiAgICAgICAgICAgICAgKGlucHV0KT1cInVwZGF0ZVBsYXllck5hbWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvbGFiZWw+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXNcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInQoJ2F2YXRhclRpdGxlJylcIj5cbiAgICAgICAgICAgIEBmb3IgKGF2YXRhciBvZiBhdmF0YXJzOyB0cmFjayBhdmF0YXIpIHtcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5pcy1zZWxlY3RlZF09XCJhY3RpdmVQbGF5ZXIuYXZhdGFyID09PSBhdmF0YXJcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwbGF5ZXJQcm9maWxlcy51cGRhdGVBY3RpdmVQcm9maWxlKHsgYXZhdGFyIH0pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGF2YXRhciB9fVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaW5pLWdhbWVzLXBsYXllcl9fY2hvaWNlcyBtaW5pLWdhbWVzLXBsYXllcl9fY2hvaWNlcy0tY29sb3JzXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0KCdjb2xvclRpdGxlJylcIj5cbiAgICAgICAgICAgIEBmb3IgKGNvbG9yIG9mIGNvbG9yczsgdHJhY2sgY29sb3IpIHtcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIFtzdHlsZS4tLXN3YXRjaC1jb2xvcl09XCJjb2xvclwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmlzLXNlbGVjdGVkXT1cImFjdGl2ZVBsYXllci5jb2xvciA9PT0gY29sb3JcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwbGF5ZXJQcm9maWxlcy51cGRhdGVBY3RpdmVQcm9maWxlKHsgY29sb3IgfSlcIlxuICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWluaS1nYW1lcy1wbGF5ZXJfX2FkZFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY3JlYXRlUHJvZmlsZSgpXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImFkZC1jaXJjbGUtb3V0bGluZVwiIC8+XG4gICAgICAgICAgICB7eyB0KCduZXdQbGF5ZXInKSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaW5pLWdhbWVzLW1lbnUtYWN0aW9uc1wiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWluaS1nYW1lcy1zb3VuZC10b2dnbGVcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVNvdW5kKClcIj5cbiAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiYXVkaW8uZW5hYmxlZCgpID8gJ3ZvbHVtZS1oaWdoLW91dGxpbmUnIDogJ3ZvbHVtZS1tdXRlLW91dGxpbmUnXCIgLz5cbiAgICAgICAgICA8c3Bhbj57eyB0KGF1ZGlvLmVuYWJsZWQoKSA/ICdzb3VuZE9uJyA6ICdzb3VuZE9mZicpIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibWluaS1nYW1lcy1ncmlkXCI+XG4gICAgICAgIEBmb3IgKGdhbWUgb2Ygc2FmZUdhbWVzOyB0cmFjayBnYW1lLmlkIHx8ICRpbmRleCkge1xuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtaW5pLWdhbWUtY2FyZFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwic2VsZWN0KGdhbWUpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pbmktZ2FtZS1jYXJkX19pY29uXCIgW2NsYXNzLm1pbmktZ2FtZS1jYXJkX19pY29uLS1pbWFnZV09XCIhIWdhbWUuaW1hZ2VTcmNcIj5cbiAgICAgICAgICAgICAgQGlmIChnYW1lLmltYWdlU3JjKSB7XG4gICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImdhbWUuaW1hZ2VTcmNcIiBbYWx0XT1cImdhbWUudGl0bGVcIiBsb2FkaW5nPVwibGF6eVwiIC8+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHt7IGdhbWUuaWNvbiB9fVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pbmktZ2FtZS1jYXJkX19jb250ZW50XCI+XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgZ2FtZS50aXRsZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICA8c21hbGw+e3sgZ2FtZS5kZXNjcmlwdGlvbiB9fTwvc21hbGw+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWluaS1nYW1lLWNhcmRfX2FjdGlvblwiPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiZ2FtZS1jb250cm9sbGVyLW91dGxpbmVcIiAvPlxuICAgICAgICAgICAgICAgIHt7IHQoJ29wZW5HYW1lJykgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAtLW1pbmktZ2FtZXMtcGFuZWw6ICNmZmZmZmY7XG4gICAgICAgIC0tbWluaS1nYW1lcy1zdXJmYWNlOiAjZjhmN2ZiO1xuICAgICAgICAtLW1pbmktZ2FtZXMtYm9yZGVyOiByZ2JhKDQ3LCA0NCwgNTgsIDAuMTIpO1xuICAgICAgICAtLW1pbmktZ2FtZXMtdGV4dDogIzJmMmMzYTtcbiAgICAgICAgLS1taW5pLWdhbWVzLW11dGVkOiByZ2JhKDQ3LCA0NCwgNTgsIDAuNjgpO1xuICAgICAgICAtLW1pbmktZ2FtZXMtcHJpbWFyeTogIzZmNjVkODtcbiAgICAgICAgLS1taW5pLWdhbWVzLXByaW1hcnktcmdiOiAxMTEsIDEwMSwgMjE2O1xuICAgICAgICAtLW1pbmktZ2FtZXMtc2Vjb25kYXJ5OiAjNjdiN2M5O1xuICAgICAgICAtLW1pbmktZ2FtZXMtc2Vjb25kYXJ5LXJnYjogMTAzLCAxODMsIDIwMTtcbiAgICAgICAgLS1taW5pLWdhbWVzLWFjY2VudDogIzhmN2NlNztcbiAgICAgICAgLS1taW5pLWdhbWVzLWFjY2VudC1yZ2I6IDE0MywgMTI0LCAyMzE7XG4gICAgICAgIC0tbWluaS1nYW1lcy1zb2Z0OiAjZjNmMWZiO1xuICAgICAgICAtLW1pbmktZ2FtZXMtaWNvbi10ZXh0OiAjZmZmZmZmO1xuICAgICAgICAtLW1pbmktZ2FtZXMtZm9jdXM6IHJnYmEodmFyKC0tbWluaS1nYW1lcy1wcmltYXJ5LXJnYiksIDAuMjIpO1xuICAgICAgICBjb2xvcjogdmFyKC0tbWluaS1nYW1lcy10ZXh0KTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSB7XG4gICAgICAgIC0tbWluaS1nYW1lcy1wYW5lbDogIzIxMWYyYTtcbiAgICAgICAgLS1taW5pLWdhbWVzLXN1cmZhY2U6ICMxOTE4MjE7XG4gICAgICAgIC0tbWluaS1nYW1lcy1ib3JkZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMyk7XG4gICAgICAgIC0tbWluaS1nYW1lcy10ZXh0OiAjZjdmNGZmO1xuICAgICAgICAtLW1pbmktZ2FtZXMtbXV0ZWQ6IHJnYmEoMjQ3LCAyNDQsIDI1NSwgMC42OCk7XG4gICAgICAgIC0tbWluaS1nYW1lcy1wcmltYXJ5OiAjYjdhZGZmO1xuICAgICAgICAtLW1pbmktZ2FtZXMtcHJpbWFyeS1yZ2I6IDE4MywgMTczLCAyNTU7XG4gICAgICAgIC0tbWluaS1nYW1lcy1zZWNvbmRhcnk6ICM4ZmQ1ZTU7XG4gICAgICAgIC0tbWluaS1nYW1lcy1zZWNvbmRhcnktcmdiOiAxNDMsIDIxMywgMjI5O1xuICAgICAgICAtLW1pbmktZ2FtZXMtYWNjZW50OiAjYzdiYmZmO1xuICAgICAgICAtLW1pbmktZ2FtZXMtYWNjZW50LXJnYjogMTk5LCAxODcsIDI1NTtcbiAgICAgICAgLS1taW5pLWdhbWVzLXNvZnQ6ICMyYTI3MzU7XG4gICAgICAgIC0tbWluaS1nYW1lcy1pY29uLXRleHQ6ICMyMTFmMmE7XG4gICAgICAgIC0tbWluaS1nYW1lcy1mb2N1czogcmdiYSh2YXIoLS1taW5pLWdhbWVzLXByaW1hcnktcmdiKSwgMC4yNCk7XG4gICAgICB9XG5cbiAgICAgIC5taW5pLWdhbWVzLWdyaWQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1tZW51LWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1taW5pLWdhbWVzLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEuMzc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMTIlIDAlLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGxheWVyLWNvbG9yKSAxMiUsIHRyYW5zcGFyZW50KSwgdHJhbnNwYXJlbnQgMzQlKSxcbiAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1taW5pLWdhbWVzLXBhbmVsKSwgdmFyKC0tbWluaS1nYW1lcy1zb2Z0KSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMS4xMjVyZW0gMi43NXJlbSByZ2JhKDQ3LCA0NCwgNTgsIDAuMDgpO1xuICAgICAgICBjb2xvcjogdmFyKC0tbWluaS1nYW1lcy10ZXh0KTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspIC5taW5pLWdhbWVzLXBsYXllcixcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLm1pbmktZ2FtZXMtcGxheWVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLWJvcmRlcik7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxMiUgMCUsIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wbGF5ZXItY29sb3IpIDE0JSwgdHJhbnNwYXJlbnQpLCB0cmFuc3BhcmVudCAzNCUpLFxuICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1taW5pLWdhbWVzLXBhbmVsKSA5MiUsIHdoaXRlKSwgdmFyKC0tbWluaS1nYW1lcy1zdXJmYWNlKSk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5taW5pLWdhbWVzLXBsYXllcl9faGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNThweCAxZnI7XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19hdmF0YXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogNThweDtcbiAgICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbGF5ZXItY29sb3IpO1xuICAgICAgICBmb250LXNpemU6IDEuNjVyZW07XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTRweCAyOHB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wbGF5ZXItY29sb3IpIDMyJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX2hlYWQgc21hbGwsXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX25hbWUgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogdmFyKC0tbWluaS1nYW1lcy1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19oZWFkIHN0cm9uZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiAxLjM1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4wNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDk1MDtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19oZWFkIHAge1xuICAgICAgICBtYXJnaW46IDAuMTg3NXJlbSAwIDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjkycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zMjtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19wcm9maWxlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX3Byb2ZpbGVzIGJ1dHRvbiB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiA0MnB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA3cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlvbi1ib3JkZXItY29sb3IsICNlN2U0ZWEpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgcGFkZGluZzogMCAxMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24taXRlbS1iYWNrZ3JvdW5kLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDg1MDtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19wcm9maWxlcyBidXR0b24uaXMtc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXBsYXllci1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wbGF5ZXItY29sb3IpIDE2JSwgdmFyKC0taW9uLWNhcmQtYmFja2dyb3VuZCwgI2ZmZikpO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX3Byb2ZpbGVzIGlvbi1pY29uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXBsYXllci1jb2xvcik7XG4gICAgICB9XG5cbiAgICAgIC5taW5pLWdhbWVzLXBsYXllcl9fbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX25hbWUgaW5wdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogNDhweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWluaS1nYW1lcy1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWluaS1nYW1lcy1wYW5lbCkgODglLCB3aGl0ZSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLXRleHQpO1xuICAgICAgICBjYXJldC1jb2xvcjogdmFyKC0tbWluaS1nYW1lcy1wcmltYXJ5KTtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDg1MDtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19uYW1lIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLW11dGVkKTtcbiAgICAgICAgb3BhY2l0eTogMC44NDtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19uYW1lIGlucHV0OmZvY3VzLXZpc2libGUsXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX3Byb2ZpbGVzIGJ1dHRvbjpmb2N1cy12aXNpYmxlLFxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19jaG9pY2VzIGJ1dHRvbjpmb2N1cy12aXNpYmxlLFxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19hZGQ6Zm9jdXMtdmlzaWJsZSxcbiAgICAgIC5taW5pLWdhbWVzLXNvdW5kLXRvZ2dsZTpmb2N1cy12aXNpYmxlLFxuICAgICAgLm1pbmktZ2FtZS1jYXJkOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAwLjE4NzVyZW0gc29saWQgdmFyKC0tbWluaS1nYW1lcy1mb2N1cyk7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAwLjE4NzVyZW07XG4gICAgICB9XG5cbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAubWluaS1nYW1lcy1wbGF5ZXJfX25hbWUgaW5wdXQsXG4gICAgICA6aG9zdC1jb250ZXh0KFtkYXRhLXRoZW1lPSdkYXJrJ10pIC5taW5pLWdhbWVzLXBsYXllcl9fbmFtZSBpbnB1dCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbWluaS1nYW1lcy1ib3JkZXIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWluaS1nYW1lcy1wYW5lbCkgODglLCB3aGl0ZSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLXRleHQpO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXMgYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDQycHg7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWluaS1nYW1lcy1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbWluaS1nYW1lcy1wYW5lbCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLXRleHQpO1xuICAgICAgICBmb250LXNpemU6IDEuMTJyZW07XG4gICAgICB9XG5cbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAubWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXMgYnV0dG9uLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAubWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXMgYnV0dG9uLFxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspIC5taW5pLWdhbWVzLXBsYXllcl9fcHJvZmlsZXMgYnV0dG9uLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAubWluaS1nYW1lcy1wbGF5ZXJfX3Byb2ZpbGVzIGJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbWluaS1nYW1lcy1ib3JkZXIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWluaS1nYW1lcy1wYW5lbCkgODglLCB3aGl0ZSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLXRleHQpO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXMtLWNvbG9ycyBidXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSh2YXIoLS1pb24tY29sb3ItZGFyay1yZ2IsIDQ3LCA0MiwgNTgpLCAwLjE4KTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3dhdGNoLWNvbG9yKTtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICBpbnNldCAwIDAgMCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI0KSxcbiAgICAgICAgICAwIDEwcHggMjJweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc3dhdGNoLWNvbG9yKSAyNCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19jaG9pY2VzLS1jb2xvcnMgYnV0dG9uOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM0KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDEycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19jaG9pY2VzIGJ1dHRvbi5pcy1zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGxheWVyLWNvbG9yKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wbGF5ZXItY29sb3IpIDE4JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLm1pbmktZ2FtZXMtcGxheWVyX19jaG9pY2VzIGJ1dHRvbi5pcy1zZWxlY3RlZCxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLm1pbmktZ2FtZXMtcGxheWVyX19jaG9pY2VzIGJ1dHRvbi5pcy1zZWxlY3RlZCxcbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAubWluaS1nYW1lcy1wbGF5ZXJfX3Byb2ZpbGVzIGJ1dHRvbi5pcy1zZWxlY3RlZCxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLm1pbmktZ2FtZXMtcGxheWVyX19wcm9maWxlcyBidXR0b24uaXMtc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXBsYXllci1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wbGF5ZXItY29sb3IpIDE4JSwgdmFyKC0taW9uLWNhcmQtYmFja2dyb3VuZCwgIzFmMWIyOCkpO1xuICAgICAgfVxuXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLm1pbmktZ2FtZXMtcGxheWVyX19jaG9pY2VzLS1jb2xvcnMgYnV0dG9uLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAubWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXMtLWNvbG9ycyBidXR0b24ge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0taW9uLWNvbG9yLWxpZ2h0LXJnYiwgMjQ0LCAyNDUsIDI0OCksIDAuMzIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2F0Y2gtY29sb3IpO1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIGluc2V0IDAgMCAwIDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjIpLFxuICAgICAgICAgIDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMjgpLFxuICAgICAgICAgIDAgMTJweCAyNHB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1zd2F0Y2gtY29sb3IpIDM0JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXMtLWNvbG9ycyBidXR0b24uaXMtc2VsZWN0ZWQsXG4gICAgICA6aG9zdC1jb250ZXh0KGh0bWwuaW9uLXBhbGV0dGUtZGFyaykgLm1pbmktZ2FtZXMtcGxheWVyX19jaG9pY2VzLS1jb2xvcnMgYnV0dG9uLmlzLXNlbGVjdGVkLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAubWluaS1nYW1lcy1wbGF5ZXJfX2Nob2ljZXMtLWNvbG9ycyBidXR0b24uaXMtc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLW1pbmktZ2FtZXMtYWNjZW50KTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3dhdGNoLWNvbG9yKTtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAwIDAgMCAwLjE4NzVyZW0gcmdiYSh2YXIoLS1taW5pLWdhbWVzLWFjY2VudC1yZ2IpLCAwLjI2KSxcbiAgICAgICAgICBpbnNldCAwIDAgMCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI4KSxcbiAgICAgICAgICAwIDE0cHggMjhweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc3dhdGNoLWNvbG9yKSAzNiUsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGxheWVyX19hZGQge1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogN3B4O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MnB4O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDE0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1wbGF5ZXItY29sb3IpIDE2JSwgdmFyKC0tbWluaS1nYW1lcy1wYW5lbCkpO1xuICAgICAgICBjb2xvcjogdmFyKC0tbWluaS1nYW1lcy1wcmltYXJ5KTtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkycmVtO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1zb3VuZC10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQycHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTRweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWluaS1nYW1lcy1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbWluaS1nYW1lcy1wYW5lbCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLXRleHQpO1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4NTA7XG4gICAgICB9XG5cbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAubWluaS1nYW1lcy1zb3VuZC10b2dnbGUsXG4gICAgICA6aG9zdC1jb250ZXh0KFtkYXRhLXRoZW1lPSdkYXJrJ10pIC5taW5pLWdhbWVzLXNvdW5kLXRvZ2dsZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbWluaS1nYW1lcy1ib3JkZXIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1taW5pLWdhbWVzLXBhbmVsKTtcbiAgICAgICAgY29sb3I6IHZhcigtLW1pbmktZ2FtZXMtdGV4dCk7XG4gICAgICB9XG5cbiAgICAgIC5taW5pLWdhbWVzLXNvdW5kLXRvZ2dsZSBpb24taWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLXByaW1hcnkpO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1zb3VuZC10b2dnbGUgc3BhbiB7XG4gICAgICAgIG1heC13aWR0aDogMThjaDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIC5taW5pLWdhbWVzLXBhZ2UtaGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggMCA0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZXMtcGFnZS1oZWFkIGgxIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tbWluaS1nYW1lcy10ZXh0KTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjVyZW0sIDl2dywgNHJlbSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjk1O1xuICAgICAgICBmb250LXdlaWdodDogOTUwO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lcy1wYWdlLWhlYWQgcCB7XG4gICAgICAgIG1heC13aWR0aDogMzIuNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAzdncsIDEuMjVyZW0pO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZS1jYXJkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNzJweCAxZnI7XG4gICAgICAgIGdhcDogMTRweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWluaS1nYW1lcy1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMjAlIDEwJSwgcmdiYSh2YXIoLS1taW5pLWdhbWVzLXByaW1hcnktcmdiKSwgMC4xKSwgdHJhbnNwYXJlbnQgMzIlKSxcbiAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1taW5pLWdhbWVzLXBhbmVsKSwgdmFyKC0tbWluaS1nYW1lcy1zb2Z0KSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLXRleHQpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIGJvcmRlci1jb2xvciAxNjBtcyBlYXNlLFxuICAgICAgICAgIHRyYW5zZm9ybSAxNjBtcyBlYXNlLFxuICAgICAgICAgIGJhY2tncm91bmQgMTYwbXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspIC5taW5pLWdhbWUtY2FyZCxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLm1pbmktZ2FtZS1jYXJkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1taW5pLWdhbWVzLWJvcmRlcik7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAyMCUgMTAlLCByZ2JhKHZhcigtLW1pbmktZ2FtZXMtcHJpbWFyeS1yZ2IpLCAwLjE0KSwgdHJhbnNwYXJlbnQgMzIlKSxcbiAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWluaS1nYW1lcy1wYW5lbCkgOTIlLCB3aGl0ZSksIHZhcigtLW1pbmktZ2FtZXMtc3VyZmFjZSkpO1xuICAgICAgICBjb2xvcjogdmFyKC0tbWluaS1nYW1lcy10ZXh0KTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZS1jYXJkOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lLWNhcmQ6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLW1pbmktZ2FtZXMtcHJpbWFyeSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZS1jYXJkOmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC41NTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZS1jYXJkX19pY29uIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDcycHg7XG4gICAgICAgIGhlaWdodDogNzJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAyMiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSksIHRyYW5zcGFyZW50IDMyJSksXG4gICAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tbWluaS1nYW1lcy1wcmltYXJ5KSwgdmFyKC0tbWluaS1nYW1lcy1zZWNvbmRhcnkpKTtcbiAgICAgICAgY29sb3I6IHZhcigtLW1pbmktZ2FtZXMtaWNvbi10ZXh0KTtcbiAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDAuODc1cmVtIDIuMjVyZW0gcmdiYSh2YXIoLS1taW5pLWdhbWVzLXByaW1hcnktcmdiKSwgMC4yOCk7XG4gICAgICB9XG5cbiAgICAgIC5taW5pLWdhbWUtY2FyZF9faWNvbi0taW1hZ2Uge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lLWNhcmRfX2ljb24gaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjM0KTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZS1jYXJkX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDRweDtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZS1jYXJkX19jb250ZW50IHN0cm9uZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgIH1cblxuICAgICAgLm1pbmktZ2FtZS1jYXJkX19jb250ZW50IHNtYWxsIHtcbiAgICAgICAgY29sb3I6IHZhcigtLW1pbmktZ2FtZXMtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgfVxuXG4gICAgICAubWluaS1nYW1lLWNhcmRfX2FjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDZweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDZweDtcbiAgICAgICAgY29sb3I6IHZhcigtLW1pbmktZ2FtZXMtcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MjBweCkge1xuICAgICAgICAubWluaS1nYW1lLWNhcmQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTZweCAxZnI7XG4gICAgICAgICAgcGFkZGluZzogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5taW5pLWdhbWUtY2FyZF9faWNvbiB7XG4gICAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWluaUdhbWVzTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHJlYWRvbmx5IHBsYXllclByb2ZpbGVzID0gaW5qZWN0KE1pbmlHYW1lUGxheWVyUHJvZmlsZVNlcnZpY2UpO1xuICByZWFkb25seSBhdWRpbyA9IGluamVjdChSZXRyb0F1ZGlvU2VydmljZSk7XG4gIHJlYWRvbmx5IGF2YXRhcnMgPSBNSU5JX0dBTUVfUExBWUVSX0FWQVRBUlM7XG4gIHJlYWRvbmx5IGNvbG9ycyA9IE1JTklfR0FNRV9QTEFZRVJfQ09MT1JTO1xuXG4gIEBJbnB1dCgpIGdhbWVzOiBNaW5pR2FtZURlZmluaXRpb25bXSA9IFtdO1xuICBASW5wdXQoKSBhc01vZGFsID0gdHJ1ZTtcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxNaW5pR2FtZURlZmluaXRpb24+KCk7XG4gIF9tb2RhbFJlZj86IHsgZGlzbWlzczogKGRhdGE/OiB1bmtub3duLCByb2xlPzogc3RyaW5nKSA9PiBQcm9taXNlPGJvb2xlYW4+IH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMoJ01pbmlHYW1lcycsIE1JTklfR0FNRVNfSTE4Tik7XG4gICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4gdm9pZCB0aGlzLmF1ZGlvLnN0YXJ0TWVudU11c2ljKCkuY2F0Y2goKCkgPT4gdW5kZWZpbmVkKSwgMCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmF1ZGlvLnN0b3BNdXNpYygpO1xuICB9XG5cbiAgZ2V0IHNhZmVHYW1lcygpOiBNaW5pR2FtZURlZmluaXRpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2FtZXNcbiAgICAgIC5maWx0ZXIoKGdhbWUpOiBnYW1lIGlzIE1pbmlHYW1lRGVmaW5pdGlvbiA9PiAhIWdhbWUgJiYgISFnYW1lLmlkICYmIGdhbWUuc3RhdHVzICE9PSAnc29vbicpXG4gICAgICAuc29ydCgoYSwgYikgPT4gTnVtYmVyKGIuaWQgPT09ICdjaGVzc2ltYWxzJykgLSBOdW1iZXIoYS5pZCA9PT0gJ2NoZXNzaW1hbHMnKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCAnTWluaUdhbWVzJyk7XG4gIH1cblxuICBzZWxlY3QoZ2FtZTogTWluaUdhbWVEZWZpbml0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZC5lbWl0KGdhbWUpO1xuICAgIHZvaWQgdGhpcy5fbW9kYWxSZWY/LmRpc21pc3MoZ2FtZSwgJ3NlbGVjdCcpO1xuICB9XG5cbiAgdXBkYXRlUGxheWVyTmFtZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgdGhpcy5wbGF5ZXJQcm9maWxlcy51cGRhdGVBY3RpdmVQcm9maWxlKHsgbmFtZTogdmFsdWUgfSk7XG4gIH1cblxuICBkaXNwbGF5UGxheWVyTmFtZShwcm9maWxlOiBNaW5pR2FtZVBsYXllclByb2ZpbGUpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBsYXllclByb2ZpbGVzLmRpc3BsYXlOYW1lKHByb2ZpbGUsIHRoaXMudCgnZGVmYXVsdFBsYXllck5hbWUnKSk7XG4gIH1cblxuICBjcmVhdGVQcm9maWxlKCk6IHZvaWQge1xuICAgIHRoaXMucGxheWVyUHJvZmlsZXMuY3JlYXRlUHJvZmlsZSgpO1xuICB9XG5cbiAgdG9nZ2xlU291bmQoKTogdm9pZCB7XG4gICAgdGhpcy5hdWRpby5zZXRFbmFibGVkKCF0aGlzLmF1ZGlvLmVuYWJsZWQoKSk7XG4gICAgaWYgKHRoaXMuYXVkaW8uZW5hYmxlZCgpKSB7XG4gICAgICB2b2lkIHRoaXMuYXVkaW8uc3RhcnRNZW51TXVzaWMoKS5jYXRjaCgoKSA9PiB1bmRlZmluZWQpO1xuICAgIH1cbiAgfVxuXG4gIGRpc21pc3MoKTogdm9pZCB7XG4gICAgdm9pZCB0aGlzLl9tb2RhbFJlZj8uZGlzbWlzcyh1bmRlZmluZWQsICdjYW5jZWwnKTtcbiAgfVxufVxuIl19
|