general-library-union 2.4.93 → 2.4.94
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/public-api.mjs +3 -1
- package/esm2022/src/app/core/componentes/footer/footer.component.mjs +6 -12
- package/esm2022/src/app/core/componentes/inicio-component/inicio-component.component.mjs +3 -3
- package/esm2022/src/app/core/plantilla-general/plantilla-general.template.mjs +3 -3
- package/esm2022/src/app/layout/app.footer.component.mjs +7 -10
- package/esm2022/src/app/layout/app.sidebar.component.mjs +3 -3
- package/esm2022/src/app/layout/app.topbar.component.mjs +3 -3
- package/esm2022/src/app/publico/pages/login/login.page.mjs +4 -7
- package/esm2022/src/app/publico/pages/not-found/not-found.page.mjs +3 -3
- package/esm2022/src/app/publico/pages/timeout/timeout.page.mjs +3 -3
- package/esm2022/src/app/seguridad/constantes/ReporteEntradaConstantes.mjs +19 -0
- package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.mjs +138 -18
- package/esm2022/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.mjs +89 -36
- package/esm2022/src/app/webcommon/pipes/dashboard.pipe.mjs +86 -0
- package/esm2022/src/app/webcommon/pipes/general.pipe.mjs +26 -17
- package/esm2022/src/app/webcommon/pipes/reporte-fuente.pipe.mjs +6 -1
- package/esm2022/src/app/webcommon/popups/popup-recurso/popup-recurso.component.mjs +7 -6
- package/esm2022/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.mjs +71 -19
- package/esm2022/src/app/webcommon/services/dashboard.service.mjs +253 -0
- package/esm2022/src/app/webcommon/services/ejecucionreporte.service.mjs +27 -27
- package/esm2022/src/app/webcommon/services/fechaUtils.service.mjs +18 -18
- package/esm2022/src/environments/environment.mjs +2 -2
- package/fesm2022/general-library-union.mjs +733 -169
- package/fesm2022/general-library-union.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/src/app/core/componentes/footer/footer.component.d.ts +1 -3
- package/src/app/layout/app.footer.component.d.ts +1 -3
- package/src/app/layout/app.menuitem.component.d.ts +1 -1
- package/src/app/seguridad/constantes/ReporteEntradaConstantes.d.ts +7 -0
- package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.d.ts +25 -1
- package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.d.ts +13 -3
- package/src/app/webcommon/pipes/dashboard.pipe.d.ts +48 -0
- package/src/app/webcommon/pipes/general.pipe.d.ts +11 -2
- package/src/app/webcommon/pipes/reporte-fuente.pipe.d.ts +4 -0
- package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.d.ts +12 -2
- package/src/app/webcommon/services/dashboard.service.d.ts +27 -0
- package/src/app/webcommon/services/ejecucionreporte.service.d.ts +4 -4
- package/src/app/webcommon/services/fechaUtils.service.d.ts +3 -2
- package/src/assets/images/imagen-principal-sam.png +0 -0
- package/src/assets/images/imagen-principal-sara.png +0 -0
- package/src/assets/images/imagen-principal-seguridad.png +0 -0
- package/src/assets/images/logo-aps-descomprimido.png +0 -0
- package/src/assets/images/logo-aps.png +0 -0
- package/src/assets/images/logo-icono-aps.png +0 -0
- package/src/assets/images/logo-icono-sam.png +0 -0
- package/src/assets/images/logo-icono-sara.png +0 -0
- package/src/assets/images/logo-icono-seguridad.png +0 -0
- package/src/assets/images/logo-sam-descomprimido.png +0 -0
- package/src/assets/images/logo-sam.png +0 -0
- package/src/assets/images/logo-samanta-descomprimido.png +0 -0
- package/src/assets/images/logo-samanta.png +0 -0
- package/src/assets/images/logo-sara-descomprimido.png +0 -0
- package/src/assets/images/logo-sara.png +0 -0
- package/src/assets/images/logo-seguridad-descomprimido.png +0 -0
- package/src/assets/images/logo-seguridad.png +0 -0
- package/src/assets/images/logo-union-simple.png +0 -0
- package/src/assets/images/not-found-fondo.png +0 -0
- package/src/assets/images/not-found.png +0 -0
- package/src/assets/images/texto-union-soluciones.png +0 -0
- package/src/assets/images/timeout.png +0 -0
- package/src/assets/layout/styles/layout/topbar/_topbar_main.scss +1 -1
- package/src/assets/layout/styles/theme/designer/components/input/_inputtext.scss +2 -1
- package/src/assets/layout/styles/theme/designer/components/menu/_steps.scss +3 -3
- package/src/assets/layout/styles/theme/extensions/_steps.scss +4 -4
- package/src/assets/layout/styles/theme/theme-dark/_variables.scss +2 -1
- package/src/assets/layout/styles/theme/theme-light/_variables.scss +2 -1
- package/src/styles/primeng/sass/overrides/_theme_styles.scss +45 -14
- package/src/styles/primeng/sass/overrides/_theme_styles_dark.scss +41 -16
- package/src/styles/primeng/sass/theme/designer/components/input/_inputtext.scss +2 -1
- package/src/styles/primeng/sass/theme/extensions/_steps.scss +6 -4
- /package/src/assets/images/{chrorme.png → navegador-chrome.png} +0 -0
- /package/src/assets/images/{Explorer.png → navegador-explorer.png} +0 -0
- /package/src/assets/images/{firefox.png → navegador-firefox.png} +0 -0
|
@@ -141,6 +141,11 @@ export class ReporteFuentePipe {
|
|
|
141
141
|
{ codigo: this.IMAGEN, nombre: this.IMAGEN_DESC },
|
|
142
142
|
{ codigo: 'G', nombre: 'Grupo' },
|
|
143
143
|
];
|
|
144
|
+
RECURSO_GRAFICA = [
|
|
145
|
+
{ codigo: this.SERIE, nombre: this.SERIE_STRING },
|
|
146
|
+
{ codigo: this.CATEGORIA, nombre: this.CATEGORIA_STRING },
|
|
147
|
+
{ codigo: this.VALOR, nombre: this.VALOR_STRING },
|
|
148
|
+
];
|
|
144
149
|
/* ======================================
|
|
145
150
|
* Formatos de generacion de reportes
|
|
146
151
|
* ====================================== */
|
|
@@ -293,4 +298,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
|
293
298
|
providedIn: 'root'
|
|
294
299
|
}]
|
|
295
300
|
}] });
|
|
296
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0ZS1mdWVudGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvd2ViY29tbW9uL3BpcGVzL3JlcG9ydGUtZnVlbnRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQVVoRSxNQUFNLE9BQU8saUJBQWlCO0lBRTdCLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDVixNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ2IsSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUVYLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUN2QixTQUFTLEdBQUcsTUFBTSxDQUFDO0lBRW5CLFVBQVUsR0FBRztRQUNaLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDM0MsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNqRCxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO0tBQzdDLENBQUE7SUFFRCxzQkFBc0IsR0FBRztRQUN4QixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO0tBQ2pELENBQUE7SUFFRCxzQkFBc0IsR0FBRyxHQUFHLENBQUM7SUFDN0IsYUFBYSxHQUFHLEdBQUcsQ0FBQztJQUNwQixnQkFBZ0IsR0FBRyxHQUFHLENBQUM7SUFFdkIsYUFBYSxHQUFHO1FBQ2YsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxzQ0FBc0MsRUFBRTtRQUN2RixFQUFF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QSxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRuYW1lOiAncmVwb3J0ZUZ1ZW50ZVBpcGUnXG59KVxuXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBSZXBvcnRlRnVlbnRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG5cdFNRTCA9ICdTJztcblx0RlVFTlRFID0gJ0YnO1xuXHRGSUpPID0gJ0knO1xuXG5cdFNRTF9ERVNDID0gJ1NRTCc7XG5cdEZVRU5URV9ERVNDID0gJ0Z1ZW50ZSc7XG5cdEZJSk9fREVTQyA9ICdGaWpvJztcblxuXHRMSVNUQV9USVBPID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLlNRTCwgbm9tYnJlOiB0aGlzLlNRTF9ERVNDIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRlVFTlRFLCBub21icmU6IHRoaXMuRlVFTlRFX0RFU0MgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5GSUpPLCBub21icmU6IHRoaXMuRklKT19ERVNDIH1cblx0XVxuXG5cdExJU1RBX1RJUE9fU0lOX1BFUk1JU08gPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuRlVFTlRFLCBub21icmU6IHRoaXMuRlVFTlRFX0RFU0MgfSxcblx0XVxuXG5cdE1PTUVOVE9TX1NFR1VORE9fUExBTk8gPSAnUyc7XG5cdE1PTUVOVE9TX0hJTE8gPSAnSCc7XG5cdE1PTUVOVE9TX1NJTkhJTE8gPSAnRCc7XG5cblx0TElTVEFfTU9NRU5UTyA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5NT01FTlRPU19TRUdVTkRPX1BMQU5PLCBub21icmU6ICdTZSBwZXJtaXRlIGVqZWN1dGFyIGVuIHNlZ3VuZG8gcGxhbm8nIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTU9NRU5UT1NfSElMTywgbm9tYnJlOiAnRWplY3V0YXIgc2luIGxpbWl0ZSBkZSB0aWVtcG8nIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTU9NRU5UT1NfU0lOSElMTywgbm9tYnJlOiAnRWplY3V0YXIgbGltaXRlIGRlIHRpZW1wbyBkZSBsYSBzZXNpb24nIH1cblx0XVxuXG5cdFRJUE9fTlVNRVJPID0gJ04nO1xuXHRUSVBPX0JJR0RFQ0lNQUwgPSAnQic7XG5cdFRJUE9fRkVDSEEgPSAnRic7XG5cdFRJUE9fVEVYVE8gPSAnVCc7XG5cdFRJUE9fVEVYVE9fU0VSSUUgPSAnRSc7XG5cdFRJUE9fTlVNRVJPX1NFUklFID0gJ1UnO1xuXG5cdFRJUE9TX0RBVE8gPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19GRUNIQSwgbm9tYnJlOiAnRmVjaGEnIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19OVU1FUk8sIG5vbWJyZTogJ051bWVybyBFbnRlcm8nIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19CSUdERUNJTUFMLCBub21icmU6ICdOdW1lcm8gRGVjaW1hbCcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5USVBPX1RFWFRPLCBub21icmU6ICdUZXh0bycgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5USVBPX1RFWFRPX1NFUklFLCBub21icmU6ICdTZXJpZSBUZXh0bycgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5USVBPX05VTUVST19TRVJJRSwgbm9tYnJlOiAnU2VyaWUgTnVtZXJvJyB9LFxuXHRdXG5cblx0VElQT19ESVJFQ1RPID0gJ0QnO1xuXHRUSVBPX0xJU1RBID0gJ0wnO1xuXHRUSVBPU19FTlRSQURBID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLlRJUE9fRElSRUNUTywgbm9tYnJlOiAnRGlyZWN0bycgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5USVBPX0xJU1RBLCBub21icmU6ICdMaXN0YScgfSxcblx0XVxuXG5cdFRJUE9TX0RBVE9fQ09MVU1OQSA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5USVBPX0ZFQ0hBLCBub21icmU6ICdGZWNoYScgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5USVBPX05VTUVSTywgbm9tYnJlOiAnTnVtZXJvJyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLlRJUE9fVEVYVE8sIG5vbWJyZTogJ1RleHRvJyB9LFxuXHRdXG5cblx0TUFSQ0FET1IgPSAnTUEnO1xuXHRNQVJDQURPUlJFR0lTVFJPID0gJ01SJztcblx0TUFSQ0FET1JUQUJMQSA9ICdUQic7XG5cdE1BUkNBRE9SSU1BR0VOID0gJ0lNJztcblx0TUFSQ0FET1JJTUFHRU5GSUpBID0gJ0lGJztcblx0TUFSQ0FET1JURVhUT1BMQU5PID0gJ1RQJztcblx0TUFSQ0FET1JRUiA9ICdRUic7XG5cdE1BUkNBRE9SQkFSQ09ERSA9ICdCQyc7XG5cdE1BUkNBRE9SQkFSQ09ERUdTMV8xMjggPSAnRzEnO1xuXG5cdERFU01BUkNBRE9SID0gJ01hcmNhZG9yJztcblx0REVTTUFSQ0FET1JSRUdJU1RSTyA9ICdNYXJjYWRvciBSZWdpc3Rybyc7XG5cdERFU01BUkNBRE9SVEFCTEEgPSAnVGFibGEnO1xuXHRERVNNQVJDQURPUklNQUdFTiA9ICdJbWFnZW4nO1xuXHRERVNNQVJDQURPUklNQUdFTkZJSkEgPSAnSW1hZ2VuIEZpamEnO1xuXHRERVNNQVJDQURPUlFSID0gJ0ltYWdlbiBRUic7XG5cdERFU01BUkNBRE9SQkFSQ09ERSA9ICdJbWFnZW4gQ29kaWdvIEJhcnJhIDEyOCc7XG5cdERFU01BUkNBRE9SQkFSQ09ERUdTMV8xMjggPSAnSW1hZ2VuIENvZGlnbyBCYXJyYSBHUzEgLSAxMjgnO1xuXG5cdExJU1RBX01BUkNBRE9SRVMgPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1IsIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUiB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLk1BUkNBRE9SUkVHSVNUUk8sIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUlJFR0lTVFJPIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1JUQUJMQSwgbm9tYnJlOiB0aGlzLkRFU01BUkNBRE9SVEFCTEEgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUklNQUdFTiwgbm9tYnJlOiB0aGlzLkRFU01BUkNBRE9SSU1BR0VOIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1JJTUFHRU5GSUpBLCBub21icmU6IHRoaXMuREVTTUFSQ0FET1JJTUFHRU5GSUpBIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1JRUiwgbm9tYnJlOiB0aGlzLkRFU01BUkNBRE9SUVIgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUkJBUkNPREUsIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUkJBUkNPREUgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUkJBUkNPREVHUzFfMTI4LCBub21icmU6IHRoaXMuREVTTUFSQ0FET1JCQVJDT0RFR1MxXzEyOCB9LFxuXHRdXG5cblx0TElTVEFfTUFSQ0FET1JFU19YTUwgPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1IsIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUiB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLk1BUkNBRE9SUkVHSVNUUk8sIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUlJFR0lTVFJPIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1JUQUJMQSwgbm9tYnJlOiB0aGlzLkRFU01BUkNBRE9SVEFCTEEgfSxcblx0XVxuXG5cdERJQUdSQU1BX0JBUlJBUyA9ICdCJztcblx0RElBR1JBTUFfQkFSUkFTX0hPUiA9ICdIJztcblx0RElBR1JBTUFfVE9SVEEgPSAnVCc7XG5cdERJQUdSQU1BX0FSRUEgPSAnQSc7XG5cdERJQUdSQU1BX1JBREFSID0gJ1InO1xuXHRESUFHUkFNQV9QT0xBUiA9ICdQJztcblx0RElBR1JBTUFfRE9OQSA9ICdEJztcblx0RElBR1JBTUFfQkFSUkFTX1NUUklORyA9ICdEaWFncmFtYSBkZSBiYXJyYXMgVmVydGlmaWNhbCc7XG5cdERJQUdSQU1BX0JBUlJBU19IT1JfU1RSSU5HID0gJ0RpYWdyYW1hIGRlIGJhcnJhcyBIb3Jpem9udGFsJztcblx0RElBR1JBTUFfVE9SVEFfU1RSSU5HID0gJ0RpYWdyYW1hIGRlIFRvcnRhJztcblx0RElBR1JBTUFfQVJFQV9TVFJJTkcgPSAnRGlhZ3JhbWEgZGUgQXJlYSc7XG5cdERJQUdSQU1BX1JBREFSX1NUUklORyA9ICdEaWFncmFtYSBkZSBSYWRhcic7XG5cdERJQUdSQU1BX1BPTEFSX1NUUklORyA9ICdEaWFncmFtYSBkZSBQb2xhcic7XG5cdERJQUdSQU1BX0RPTkFfU1RSSU5HID0gJ0RpYWdyYW1hIGRlIERvbmEnO1xuXG5cdExJU1RBX1RJUE9fR1JBRklDTyA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9CQVJSQVMsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9CQVJSQVNfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQkFSUkFTX0hPUiwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX0JBUlJBU19IT1JfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfVE9SVEEsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9UT1JUQV9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9BUkVBLCBub21icmU6IHRoaXMuRElBR1JBTUFfQVJFQV9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9QT0xBUiwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX1BPTEFSX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX0RPTkEsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9ET05BX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX1JBREFSLCBub21icmU6IHRoaXMuRElBR1JBTUFfUkFEQVJfU1RSSU5HIH0sXG5cdF1cblxuXHRESUFHUkFNQV9MSU5FQSA9ICdMJztcblx0RElBR1JBTUFfSElTVE9HUkFNQSA9ICdIJztcblx0RElBR1JBTUFfRElGRVJFTkNJQSA9ICdEJztcblx0RElBR1JBTUFfQkFSUkFfSE9SSVpPTlRBTCA9ICdaJztcblx0RElBR1JBTUFfQkFSUkFfRVNDQUxBX0hPUklaT05UQUwgPSAnRSc7XG5cdERJQUdSQU1BX0JBUlJBX0VTQ0FMQV9WRVJUSUNBTCA9ICdWJztcblx0RElBR1JBTUFfTElORUFfU1RSSU5HID0gJ0RpYWdyYW1hIGRlIGxpbmVhJztcblx0RElBR1JBTUFfSElTVE9HUkFNQV9TVFJJTkcgPSAnRGlhZ3JhbWEgZGUgSGlzdG9ncmFtYSc7XG5cdERJQUdSQU1BX0RJRkVSRU5DSUFfU1RSSU5HID0gJ0RpYWdyYW1hIGRlIERpZmVyZW5jaWEnO1xuXHRESUFHUkFNQV9CQVJSQV9IT1JJWk9OVEFMX1NUUklORyA9ICdEaWFncmFtYSBkZSBCYXJyYXMgSG9yaXpvbnRhbCc7XG5cdERJQUdSQU1BX0JBUlJBX0VTQ0FMQV9TVFJJTkcgPSAnRGlhZ3JhbWEgaG9yaXpvbnRhbCBkZSBCYXJyYXMgY29uIGVzY2FsYSc7XG5cdERJQUdSQU1BX0JBUlJBX0VTQ0FMQV9WRVJUSUNBTF9TVFJJTkcgPSAnRGlhZ3JhbWEgdmVydGljYWwgZGUgQmFycmFzIGNvbiBlc2NhbGEnO1xuXG5cdExJU1RBX1RJUE9fR1JBRklDT19KRkMgPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQkFSUkFTLCBub21icmU6IHRoaXMuRElBR1JBTUFfQkFSUkFTX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX1RPUlRBLCBub21icmU6IHRoaXMuRElBR1JBTUFfVE9SVEFfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQVJFQSwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX0FSRUFfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfTElORUEsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9MSU5FQV9TVFJJTkcgfSxcblx0XHQvL3tjb2RpZ286IHRoaXMuRElBR1JBTUFfSElTVE9HUkFNQSwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX0hJU1RPR1JBTUFfU1RSSU5HfSwgLy9UT0RPIGFqdXN0YXIgZW4gRWplY3VjaW9uIFJlcG9ydGVcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9ESUZFUkVOQ0lBLCBub21icmU6IHRoaXMuRElBR1JBTUFfRElGRVJFTkNJQV9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9CQVJSQV9IT1JJWk9OVEFMLCBub21icmU6IHRoaXMuRElBR1JBTUFfQkFSUkFfSE9SSVpPTlRBTF9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9CQVJSQV9FU0NBTEFfSE9SSVpPTlRBTCwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX0JBUlJBX0VTQ0FMQV9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9CQVJSQV9FU0NBTEFfVkVSVElDQUwsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9CQVJSQV9FU0NBTEFfVkVSVElDQUxfU1RSSU5HIH0sXG5cdF1cblxuXHRTRVJJRSA9ICdTJztcblx0Q0FURUdPUklBID0gJ0MnO1xuXHRWQUxPUiA9ICdWJztcblx0SU1BR0VOID0gJ0knO1xuXHRTRVJJRV9TVFJJTkcgPSAnU2VyaWUnO1xuXHRDQVRFR09SSUFfU1RSSU5HID0gJ0NhdGVnb3JpYSc7XG5cdFZBTE9SX1NUUklORyA9ICdWYWxvcic7XG5cdElNQUdFTl9ERVNDID0gJ0ltYWdlbic7XG5cblxuXHRMSVNUQV9SRUNVUlNPX0dSQUZJQ0EgPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuU0VSSUUsIG5vbWJyZTogdGhpcy5TRVJJRV9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5DQVRFR09SSUEsIG5vbWJyZTogdGhpcy5DQVRFR09SSUFfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuVkFMT1IsIG5vbWJyZTogdGhpcy5WQUxPUl9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5JTUFHRU4sIG5vbWJyZTogdGhpcy5JTUFHRU5fREVTQyB9LFxuXHRcdHsgY29kaWdvOiAnRycsIG5vbWJyZTogJ0dydXBvJyB9LFxuXHRdXG5cblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0ICogICBGb3JtYXRvcyBkZSBnZW5lcmFjaW9uIGRlIHJlcG9ydGVzIFxuXHQgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXHRHRU5FUkFDSU9OX0pBU1BFUkRJTkFNSUNPID0gJ0QnO1xuXHRERVNDX0dFTkVSQUNJT05fSkFTUEVSRElOQU1JQ08gPSAnSmFzcGVyIGRpbmFtaWNvJztcblxuXHRHRU5FUkFDSU9OX0pBU1BFUkZJSk8gPSAnRic7XG5cdERFU0NfR0VORVJBQ0lPTl9KQVNQRVJGSUpPID0gJ0phc3BlciBmaWpvJztcblxuXHRHRU5FUkFDSU9OX0VYQ0VMID0gJ0UnO1xuXHRERVNDX0dFTkVSQUNJT05fRVhDRUwgPSAnRXhjZWwnO1xuXG5cdEdFTkVSQUNJT05fWE1MID0gJ1gnO1xuXHRERVNDX0dFTkVSQUNJT05fWE1MID0gJ0FyY2hpdm8geG1sJztcblxuXHRHRU5FUkFDSU9OX1BMQU5USUxMQSA9ICdXJztcblx0REVTQ19HRU5FUkFDSU9OX1BMQU5USUxMQSA9ICdQbGFudGlsbGEnO1xuXG5cdEdFTkVSQUNJT05fQVJDSElWT1BMQU5PID0gJ1QnO1xuXHRERVNDX0dFTkVSQUNJT05fQVJDSElWT1BMQU5PID0gJ0FyY2hpdm8gUGxhbm8nO1xuXG5cdEdFTkVSQUNJT05fVEFCTEEgPSAnQSc7XG5cdERFU0NfR0VORVJBQ0lPTl9UQUJMQSA9ICdUYWJsYSc7XG5cblx0R0VORVJBQ0lPTl9DT0xVTU5BUklPID0gJ0MnO1xuXHRERVNDX0dFTkVSQUNJT05fQ09MVU1OQVJJTyA9ICdDb2x1bW5hcmlvJztcblxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQgKiAgT3BlcmFjaW9uZXMgc29icmUgcmVwb3J0ZXMgZ2VuZXJhZG9zIFxuXHQgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cdE9QRVJBQ0lPTl9ERVNDQVJHQVIgPSAnRCc7XG5cdERFU0NfT1BFUkFDSU9OX0RFU0NBUkdBUiA9ICdEZXNjYXJnYXInO1xuXG5cdE9QRVJBQ0lPTl9FTlZJQVJDT1JSRU8gPSAnRSc7XG5cdERFU0NfT1BFUkFDSU9OX0VOVklBUkNPUlJFTyA9ICdFbnZpYXIgY29ycmVvJztcblxuXHRPUEVSQUNJT05fRU5WSU9NQVNJVk8gPSAnTSc7XG5cdERFU0NfT1BFUkFDSU9OX0VOVklPTUFTSVZPID0gJ0VudmlvIG1hc2l2byc7XG5cblx0T1BFUkFDSU9OX0NPUlJFT1BVQkxJQ0FSID0gJ01QJztcblx0REVTQ19PUEVSQUNJT05fQ09SUkVPUFVCTElDQVIgPSAnRW52aWFyIHkgUHVibGljYXIgTWFzaXZvJztcblxuXHRPUEVSQUNJT05fUFVCTElDQVIgPSAnUCc7XG5cdERFU0NfT1BFUkFDSU9OX1BVQkxJQ0FSID0gJ1B1YmxpY2FyJztcblxuXHRPUEVSQUNJT05fUFJPQ0VTT19FWFRFUk5PID0gJ1gnO1xuXHRERVNDX09QRVJBQ0lPTl9QUk9DRVNPX0VYVEVSTk8gPSAnUHJvY2VzbyBFeHRlcm5vJztcblxuXHRQQVJBTUVUUk9fRU5UUkFEQV9DT0RFTVBSRVNBID0gJ2NvZGVtcHJlc2EnO1xuXHRQQVJBTUVUUk9fRU5UUkFEQV9DRURVTEEgPSAnY2VkdWxhJztcblx0UEFSQU1FVFJPX0VOVFJBREFfQ09OVFJBVE8gPSAnY29udHJhdG8nO1xuXG5cdFBBUkFNRVRST19FTlRSQURBX0xPR0lOID0gJ2xvZ2luJztcblx0UEFSQU1FVFJPX0VOVFJBREFfUk9MID0gJ3JvbCc7XG5cblx0UEFSQU1FVFJPX05VTUVST19MSVFVSURBQ0lPTl9QRVJJT0RJQ0EgPSAnbnVtZXJvJztcblxuXHRPUEVSQUNJT05fU0VHVU5ET1BMQU5PID0gJ1MnO1xuXHRERVNDX09QRVJBQ0lPTl9TRUdVTkRPUExBTk8gPSAnU2VndW5kbyBQbGFubyc7XG5cblx0TUFQQV9USVBPX0FSQ0hJVk9TID0gW1xuXHRcdHsgY29kaWdvOiAnaHRtbCcsIG5vbWJyZTogJ2h0bWwnIH0sXG5cdFx0eyBjb2RpZ286ICd4bWwnLCBub21icmU6ICd4bWwnIH0sXG5cdFx0eyBjb2RpZ286ICd4bHMnLCBub21icmU6ICd4bHMnIH0sXG5cdFx0eyBjb2RpZ286ICdwZGYnLCBub21icmU6ICdwZGYnIH0sXG5cdFx0eyBjb2RpZ286ICdjc3YnLCBub21icmU6ICdjc3YnIH0sXG5cdFx0eyBjb2RpZ286ICd0eHQnLCBub21icmU6ICd0eHQnIH0sXG5cdF1cblxuXHRNT0RPX1BBUkFNRVRSTyA9ICdQJztcblx0TU9ET19EQVRPUyA9ICdEJztcblxuXHRERVNfTU9ET19QQVJBTUVUUk8gPSAnUGFyYW1ldHJvJztcblx0REVTX01PRE9fREFUT1MgPSAnRGF0b3MnO1xuXG5cdE1PRE9TID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLk1PRE9fUEFSQU1FVFJPLCBub21icmU6IHRoaXMuREVTX01PRE9fUEFSQU1FVFJPIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTU9ET19EQVRPUywgbm9tYnJlOiB0aGlzLkRFU19NT0RPX0RBVE9TIH0sXG5cdF1cblxuXHRJWlFVSUVSREEgPSAnSSc7XG5cdERFUkVDSEEgPSAnRCc7XG5cdENFTlRSTyA9ICdDJztcblx0SlVTVElGSUNBRE8gPSAnSic7XG5cblx0SVpRVUlFUkRBX0RFU0MgPSAnSXpxdWllcmRhJztcblx0REVSRUNIQV9ERVNDID0gJ0RlcmVjaGEnO1xuXHRDRU5UUk9fREVTQyA9ICdDZW50cm8nO1xuXHRKVVNUSUZJQ0FET19ERVNDID0gJ0p1c3RpZmljYWRvJztcblxuXHRMSVNUQV9BTElORUFDSU9OID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLklaUVVJRVJEQSwgbm9tYnJlOiB0aGlzLklaUVVJRVJEQV9ERVNDIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuREVSRUNIQSwgbm9tYnJlOiB0aGlzLkRFUkVDSEFfREVTQyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkNFTlRSTywgbm9tYnJlOiB0aGlzLkNFTlRST19ERVNDIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuSlVTVElGSUNBRE8sIG5vbWJyZTogdGhpcy5KVVNUSUZJQ0FET19ERVNDIH1cblx0XVxuXG5cdC8vVGlwbyBNYXJjYWRvcmVzIFRleHRvXG5cdE1BUkNBRE9SVEVYVE9GSUpPID0gJ0YnO1xuXHRNQVJDQURPUlRFWFRPRElOQU1JQ08gPSAnRCc7XG5cblx0TUFSQ0FET1JURVhUT0ZJSk9fREVTQyA9ICdGaWpvJztcblx0TUFSQ0FET1JURVhUT0RJTkFNSUNPX0RFU0MgPSAnQ29sdW1uYSc7XG5cblx0UkVQT1JURUFSQ0hJVk9QTEFOTyA9ICdUJztcblx0VElQT01BUkNBRE9SRVNURVhUTyA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUlRFWFRPRklKTywgbm9tYnJlOiB0aGlzLk1BUkNBRE9SVEVYVE9GSUpPX0RFU0MgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUlRFWFRPRElOQU1JQ08sIG5vbWJyZTogdGhpcy5NQVJDQURPUlRFWFRPRElOQU1JQ09fREVTQyB9XG5cdF1cblxuXHR0cmFuc2Zvcm0odmFsdWU6IGFueSwgLi4uYXJnczogYW55KTogYW55IHtcblx0XHRsZXQgcmVzdWx0ID0gdmFsdWU7XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhVGlwbycpIHsgdGhpcy5MSVNUQV9USVBPLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YU1vbWVudG8nKSB7IHRoaXMuTElTVEFfTU9NRU5UTy5mb3JFYWNoKGRhdGEgPT4geyBpZiAoZGF0YS5jb2RpZ28gPT09IHZhbHVlKSB7IHJlc3VsdCA9IGRhdGEubm9tYnJlIH0gfSk7IH1cblx0XHRpZiAoYXJnc1swXSA9PSAnbGlzdGFUaXBvRGF0bycpIHsgdGhpcy5USVBPU19EQVRPLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YVRpcG9EYXRvQ29sdW1uYScpIHsgdGhpcy5USVBPU19EQVRPX0NPTFVNTkEuZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhVGlwb0RhdG9NYXJjYWRvcmVzJykgeyB0aGlzLkxJU1RBX01BUkNBRE9SRVMuZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhVGlwb0dyYWZpY28nKSB7IHRoaXMuTElTVEFfVElQT19HUkFGSUNPLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YVRpcG9HcmFmaWNvSkZDJykgeyB0aGlzLkxJU1RBX1RJUE9fR1JBRklDT19KRkMuZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhUmVjdXJzb0dyYWZpY2EnKSB7IHRoaXMuTElTVEFfUkVDVVJTT19HUkFGSUNBLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YUFsaW5lYWNpb24nKSB7IHRoaXMuTElTVEFfQUxJTkVBQ0lPTi5mb3JFYWNoKGRhdGEgPT4geyBpZiAoZGF0YS5jb2RpZ28gPT09IHZhbHVlKSB7IHJlc3VsdCA9IGRhdGEubm9tYnJlIH0gfSk7IH1cblx0XHRpZiAoYXJnc1swXSA9PSAnbGlzdGFUaXBvTWFyY2Fkb3Jlc1RleHRvJykgeyB0aGlzLlRJUE9NQVJDQURPUkVTVEVYVE8uZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cbn1cbiJdfQ==
|
|
301
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0ZS1mdWVudGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvd2ViY29tbW9uL3BpcGVzL3JlcG9ydGUtZnVlbnRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQVVoRSxNQUFNLE9BQU8saUJBQWlCO0lBRTdCLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDVixNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ2IsSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUVYLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUN2QixTQUFTLEdBQUcsTUFBTSxDQUFDO0lBRW5CLFVBQVUsR0FBRztRQUNaLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDM0MsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNqRCxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO0tBQzdDLENBQUE7SUFFRCxzQkFBc0IsR0FBRztRQUN4QixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO0tBQ2pELENBQUE7SUFFRCxzQkFBc0IsR0FBRyxHQUFHLENBQUM7SUFDN0IsYUFBYSxHQUFHLEdBQUcsQ0FBQztJQUNwQixnQkFBZ0IsR0FBRyxHQUFHLENBQUM7SUFFdkIsYUFBYSxHQUFHO1FBQ2YsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxzQ0FBc0MsRUFBRTtRQUN2RixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSwrQkFBK0IsRUFBRTtRQUN2RSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLHdDQUF3QyxFQUFFO0tBQ25GLENBQUE7SUFFRCxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBQ2xCLGVBQWUsR0FBRyxHQUFHLENBQUM7SUFDdEIsVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUNqQixVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztJQUN2QixpQkFBaUIsR0FBRyxHQUFHLENBQUM7SUFFeEIsVUFBVSxHQUFHO1FBQ1osRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFO1FBQzVDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRTtRQUNyRCxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRTtRQUMxRCxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUU7UUFDNUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUU7UUFDeEQsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUU7S0FDMUQsQ0FBQTtJQUVELFlBQVksR0FBRyxHQUFHLENBQUM7SUFDbkIsVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUNqQixhQUFhLEdBQUc7UUFDZixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7UUFDaEQsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFO0tBQzVDLENBQUE7SUFFRCxrQkFBa0IsR0FBRztRQUNwQixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUU7UUFDNUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO1FBQzlDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRTtLQUM1QyxDQUFBO0lBRUQsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFDeEIsYUFBYSxHQUFHLElBQUksQ0FBQztJQUNyQixjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLGtCQUFrQixHQUFHLElBQUksQ0FBQztJQUMxQixrQkFBa0IsR0FBRyxJQUFJLENBQUM7SUFDMUIsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNsQixlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLHNCQUFzQixHQUFHLElBQUksQ0FBQztJQUU5QixXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ3pCLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDO0lBQzFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQztJQUMzQixpQkFBaUIsR0FBRyxRQUFRLENBQUM7SUFDN0IscUJBQXFCLEdBQUcsYUFBYSxDQUFDO0lBQ3RDLGFBQWEsR0FBRyxXQUFXLENBQUM7SUFDNUIsa0JBQWtCLEdBQUcseUJBQXlCLENBQUM7SUFDL0MseUJBQXlCLEdBQUcsK0JBQStCLENBQUM7SUFFNUQsZ0JBQWdCLEdBQUc7UUFDbEIsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNuRCxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtRQUNuRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7UUFDN0QsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1FBQy9ELEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1FBQ3ZFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDdkQsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1FBQ2pFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixFQUFFO0tBQy9FLENBQUE7SUFFRCxvQkFBb0IsR0FBRztRQUN0QixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ25ELEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1FBQ25FLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtLQUM3RCxDQUFBO0lBRUQsZUFBZSxHQUFHLEdBQUcsQ0FBQztJQUN0QixtQkFBbUIsR0FBRyxHQUFHLENBQUM7SUFDMUIsY0FBYyxHQUFHLEdBQUcsQ0FBQztJQUNyQixhQUFhLEdBQUcsR0FBRyxDQUFDO0lBQ3BCLGNBQWMsR0FBRyxHQUFHLENBQUM7SUFDckIsY0FBYyxHQUFHLEdBQUcsQ0FBQztJQUNyQixhQUFhLEdBQUcsR0FBRyxDQUFDO0lBQ3BCLHNCQUFzQixHQUFHLCtCQUErQixDQUFDO0lBQ3pELDBCQUEwQixHQUFHLCtCQUErQixDQUFDO0lBQzdELHFCQUFxQixHQUFHLG1CQUFtQixDQUFDO0lBQzVDLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDO0lBQzFDLHFCQUFxQixHQUFHLG1CQUFtQixDQUFDO0lBQzVDLHFCQUFxQixHQUFHLG1CQUFtQixDQUFDO0lBQzVDLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDO0lBRTFDLGtCQUFrQixHQUFHO1FBQ3BCLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtRQUNyRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQywwQkFBMEIsRUFBRTtRQUM3RSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMscUJBQXFCLEVBQUU7UUFDbkUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1FBQ2pFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtRQUNuRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7UUFDakUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixFQUFFO0tBQ25FLENBQUE7SUFFRCxjQUFjLEdBQUcsR0FBRyxDQUFDO0lBQ3JCLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztJQUMxQixtQkFBbUIsR0FBRyxHQUFHLENBQUM7SUFDMUIseUJBQXlCLEdBQUcsR0FBRyxDQUFDO0lBQ2hDLGdDQUFnQyxHQUFHLEdBQUcsQ0FBQztJQUN2Qyw4QkFBOEIsR0FBRyxHQUFHLENBQUM7SUFDckMscUJBQXFCLEdBQUcsbUJBQW1CLENBQUM7SUFDNUMsMEJBQTBCLEdBQUcsd0JBQXdCLENBQUM7SUFDdEQsMEJBQTBCLEdBQUcsd0JBQXdCLENBQUM7SUFDdEQsZ0NBQWdDLEdBQUcsK0JBQStCLENBQUM7SUFDbkUsNEJBQTRCLEdBQUcsMENBQTBDLENBQUM7SUFDMUUscUNBQXFDLEdBQUcsd0NBQXdDLENBQUM7SUFFakYsc0JBQXNCLEdBQUc7UUFDeEIsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1FBQ3JFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtRQUNuRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7UUFDakUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1FBQ25FLGtIQUFrSDtRQUNsSCxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQywwQkFBMEIsRUFBRTtRQUM3RSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMseUJBQXlCLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRTtRQUN6RixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsZ0NBQWdDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyw0QkFBNEIsRUFBRTtRQUM1RixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsOEJBQThCLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxxQ0FBcUMsRUFBRTtLQUNuRyxDQUFBO0lBRUQsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUNaLFNBQVMsR0FBRyxHQUFHLENBQUM7SUFDaEIsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUNaLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDYixZQUFZLEdBQUcsT0FBTyxDQUFDO0lBQ3ZCLGdCQUFnQixHQUFHLFdBQVcsQ0FBQztJQUMvQixZQUFZLEdBQUcsT0FBTyxDQUFDO0lBQ3ZCLFdBQVcsR0FBRyxRQUFRLENBQUM7SUFHdkIscUJBQXFCLEdBQUc7UUFDdkIsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRTtRQUNqRCxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7UUFDekQsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRTtRQUNqRCxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2pELEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFO0tBQ2hDLENBQUE7SUFFRCxlQUFlLEdBQUc7UUFDakIsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRTtRQUNqRCxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7UUFDekQsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRTtLQUNqRCxDQUFBO0lBRUQ7O2dEQUU0QztJQUM1Qyx5QkFBeUIsR0FBRyxHQUFHLENBQUM7SUFDaEMsOEJBQThCLEdBQUcsaUJBQWlCLENBQUM7SUFFbkQscUJBQXFCLEdBQUcsR0FBRyxDQUFDO0lBQzVCLDBCQUEwQixHQUFHLGFBQWEsQ0FBQztJQUUzQyxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7SUFDdkIscUJBQXFCLEdBQUcsT0FBTyxDQUFDO0lBRWhDLGNBQWMsR0FBRyxHQUFHLENBQUM7SUFDckIsbUJBQW1CLEdBQUcsYUFBYSxDQUFDO0lBRXBDLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztJQUMzQix5QkFBeUIsR0FBRyxXQUFXLENBQUM7SUFFeEMsdUJBQXVCLEdBQUcsR0FBRyxDQUFDO0lBQzlCLDRCQUE0QixHQUFHLGVBQWUsQ0FBQztJQUUvQyxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7SUFDdkIscUJBQXFCLEdBQUcsT0FBTyxDQUFDO0lBRWhDLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztJQUM1QiwwQkFBMEIsR0FBRyxZQUFZLENBQUM7SUFFMUM7OytDQUUyQztJQUMzQyxtQkFBbUIsR0FBRyxHQUFHLENBQUM7SUFDMUIsd0JBQXdCLEdBQUcsV0FBVyxDQUFDO0lBRXZDLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztJQUM3QiwyQkFBMkIsR0FBRyxlQUFlLENBQUM7SUFFOUMscUJBQXFCLEdBQUcsR0FBRyxDQUFDO0lBQzVCLDBCQUEwQixHQUFHLGNBQWMsQ0FBQztJQUU1Qyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7SUFDaEMsNkJBQTZCLEdBQUcsMEJBQTBCLENBQUM7SUFFM0Qsa0JBQWtCLEdBQUcsR0FBRyxDQUFDO0lBQ3pCLHVCQUF1QixHQUFHLFVBQVUsQ0FBQztJQUVyQyx5QkFBeUIsR0FBRyxHQUFHLENBQUM7SUFDaEMsOEJBQThCLEdBQUcsaUJBQWlCLENBQUM7SUFFbkQsNEJBQTRCLEdBQUcsWUFBWSxDQUFDO0lBQzVDLHdCQUF3QixHQUFHLFFBQVEsQ0FBQztJQUNwQywwQkFBMEIsR0FBRyxVQUFVLENBQUM7SUFFeEMsdUJBQXVCLEdBQUcsT0FBTyxDQUFDO0lBQ2xDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJQUU5QixzQ0FBc0MsR0FBRyxRQUFRLENBQUM7SUFFbEQsc0JBQXNCLEdBQUcsR0FBRyxDQUFDO0lBQzdCLDJCQUEyQixHQUFHLGVBQWUsQ0FBQztJQUU5QyxrQkFBa0IsR0FBRztRQUNwQixFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtRQUNsQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtRQUNoQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtRQUNoQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtRQUNoQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtRQUNoQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtLQUNoQyxDQUFBO0lBRUQsY0FBYyxHQUFHLEdBQUcsQ0FBQztJQUNyQixVQUFVLEdBQUcsR0FBRyxDQUFDO0lBRWpCLGtCQUFrQixHQUFHLFdBQVcsQ0FBQztJQUNqQyxjQUFjLEdBQUcsT0FBTyxDQUFDO0lBRXpCLEtBQUssR0FBRztRQUNQLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtRQUNoRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO0tBQ3hELENBQUE7SUFFRCxTQUFTLEdBQUcsR0FBRyxDQUFDO0lBQ2hCLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDZCxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ2IsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUVsQixjQUFjLEdBQUcsV0FBVyxDQUFDO0lBQzdCLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDekIsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUN2QixnQkFBZ0IsR0FBRyxhQUFhLENBQUM7SUFFakMsZ0JBQWdCLEdBQUc7UUFDbEIsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRTtRQUN2RCxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFO1FBQ25ELEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDakQsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFO0tBQzNELENBQUE7SUFFRCx1QkFBdUI7SUFDdkIsaUJBQWlCLEdBQUcsR0FBRyxDQUFDO0lBQ3hCLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztJQUU1QixzQkFBc0IsR0FBRyxNQUFNLENBQUM7SUFDaEMsMEJBQTBCLEdBQUcsU0FBUyxDQUFDO0lBRXZDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztJQUMxQixtQkFBbUIsR0FBRztRQUNyQixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtRQUN2RSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMscUJBQXFCLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQywwQkFBMEIsRUFBRTtLQUMvRSxDQUFBO0lBRUQsU0FBUyxDQUFDLEtBQVUsRUFBRSxHQUFHLElBQVM7UUFDakMsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7WUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ3pILElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7WUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQy9ILElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7WUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQzdILElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLHNCQUFzQixFQUFFLENBQUM7WUFBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1lBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUM1SSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtZQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDN0ksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7WUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ3hJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLHFCQUFxQixFQUFFLENBQUM7WUFBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1lBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUMvSSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtZQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDOUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7WUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ3JJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLDBCQUEwQixFQUFFLENBQUM7WUFBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1lBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUVqSixPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7dUdBclNXLGlCQUFpQjtxR0FBakIsaUJBQWlCOzJHQUFqQixpQkFBaUIsY0FGakIsTUFBTTs7MkZBRU4saUJBQWlCO2tCQVI3QixJQUFJO21CQUFDO29CQUNMLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsbUJBQW1CO2lCQUN6Qjs7a0JBRUEsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0bmFtZTogJ3JlcG9ydGVGdWVudGVQaXBlJ1xufSlcblxuQEluamVjdGFibGUoe1xuXHRwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0ZUZ1ZW50ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuXHRTUUwgPSAnUyc7XG5cdEZVRU5URSA9ICdGJztcblx0RklKTyA9ICdJJztcblxuXHRTUUxfREVTQyA9ICdTUUwnO1xuXHRGVUVOVEVfREVTQyA9ICdGdWVudGUnO1xuXHRGSUpPX0RFU0MgPSAnRmlqbyc7XG5cblx0TElTVEFfVElQTyA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5TUUwsIG5vbWJyZTogdGhpcy5TUUxfREVTQyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkZVRU5URSwgbm9tYnJlOiB0aGlzLkZVRU5URV9ERVNDIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRklKTywgbm9tYnJlOiB0aGlzLkZJSk9fREVTQyB9XG5cdF1cblxuXHRMSVNUQV9USVBPX1NJTl9QRVJNSVNPID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLkZVRU5URSwgbm9tYnJlOiB0aGlzLkZVRU5URV9ERVNDIH0sXG5cdF1cblxuXHRNT01FTlRPU19TRUdVTkRPX1BMQU5PID0gJ1MnO1xuXHRNT01FTlRPU19ISUxPID0gJ0gnO1xuXHRNT01FTlRPU19TSU5ISUxPID0gJ0QnO1xuXG5cdExJU1RBX01PTUVOVE8gPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuTU9NRU5UT1NfU0VHVU5ET19QTEFOTywgbm9tYnJlOiAnU2UgcGVybWl0ZSBlamVjdXRhciBlbiBzZWd1bmRvIHBsYW5vJyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLk1PTUVOVE9TX0hJTE8sIG5vbWJyZTogJ0VqZWN1dGFyIHNpbiBsaW1pdGUgZGUgdGllbXBvJyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLk1PTUVOVE9TX1NJTkhJTE8sIG5vbWJyZTogJ0VqZWN1dGFyIGxpbWl0ZSBkZSB0aWVtcG8gZGUgbGEgc2VzaW9uJyB9XG5cdF1cblxuXHRUSVBPX05VTUVSTyA9ICdOJztcblx0VElQT19CSUdERUNJTUFMID0gJ0InO1xuXHRUSVBPX0ZFQ0hBID0gJ0YnO1xuXHRUSVBPX1RFWFRPID0gJ1QnO1xuXHRUSVBPX1RFWFRPX1NFUklFID0gJ0UnO1xuXHRUSVBPX05VTUVST19TRVJJRSA9ICdVJztcblxuXHRUSVBPU19EQVRPID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLlRJUE9fRkVDSEEsIG5vbWJyZTogJ0ZlY2hhJyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLlRJUE9fTlVNRVJPLCBub21icmU6ICdOdW1lcm8gRW50ZXJvJyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLlRJUE9fQklHREVDSU1BTCwgbm9tYnJlOiAnTnVtZXJvIERlY2ltYWwnIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19URVhUTywgbm9tYnJlOiAnVGV4dG8nIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19URVhUT19TRVJJRSwgbm9tYnJlOiAnU2VyaWUgVGV4dG8nIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19OVU1FUk9fU0VSSUUsIG5vbWJyZTogJ1NlcmllIE51bWVybycgfSxcblx0XVxuXG5cdFRJUE9fRElSRUNUTyA9ICdEJztcblx0VElQT19MSVNUQSA9ICdMJztcblx0VElQT1NfRU5UUkFEQSA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5USVBPX0RJUkVDVE8sIG5vbWJyZTogJ0RpcmVjdG8nIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19MSVNUQSwgbm9tYnJlOiAnTGlzdGEnIH0sXG5cdF1cblxuXHRUSVBPU19EQVRPX0NPTFVNTkEgPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19GRUNIQSwgbm9tYnJlOiAnRmVjaGEnIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuVElQT19OVU1FUk8sIG5vbWJyZTogJ051bWVybycgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5USVBPX1RFWFRPLCBub21icmU6ICdUZXh0bycgfSxcblx0XVxuXG5cdE1BUkNBRE9SID0gJ01BJztcblx0TUFSQ0FET1JSRUdJU1RSTyA9ICdNUic7XG5cdE1BUkNBRE9SVEFCTEEgPSAnVEInO1xuXHRNQVJDQURPUklNQUdFTiA9ICdJTSc7XG5cdE1BUkNBRE9SSU1BR0VORklKQSA9ICdJRic7XG5cdE1BUkNBRE9SVEVYVE9QTEFOTyA9ICdUUCc7XG5cdE1BUkNBRE9SUVIgPSAnUVInO1xuXHRNQVJDQURPUkJBUkNPREUgPSAnQkMnO1xuXHRNQVJDQURPUkJBUkNPREVHUzFfMTI4ID0gJ0cxJztcblxuXHRERVNNQVJDQURPUiA9ICdNYXJjYWRvcic7XG5cdERFU01BUkNBRE9SUkVHSVNUUk8gPSAnTWFyY2Fkb3IgUmVnaXN0cm8nO1xuXHRERVNNQVJDQURPUlRBQkxBID0gJ1RhYmxhJztcblx0REVTTUFSQ0FET1JJTUFHRU4gPSAnSW1hZ2VuJztcblx0REVTTUFSQ0FET1JJTUFHRU5GSUpBID0gJ0ltYWdlbiBGaWphJztcblx0REVTTUFSQ0FET1JRUiA9ICdJbWFnZW4gUVInO1xuXHRERVNNQVJDQURPUkJBUkNPREUgPSAnSW1hZ2VuIENvZGlnbyBCYXJyYSAxMjgnO1xuXHRERVNNQVJDQURPUkJBUkNPREVHUzFfMTI4ID0gJ0ltYWdlbiBDb2RpZ28gQmFycmEgR1MxIC0gMTI4JztcblxuXHRMSVNUQV9NQVJDQURPUkVTID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLk1BUkNBRE9SLCBub21icmU6IHRoaXMuREVTTUFSQ0FET1IgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUlJFR0lTVFJPLCBub21icmU6IHRoaXMuREVTTUFSQ0FET1JSRUdJU1RSTyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLk1BUkNBRE9SVEFCTEEsIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUlRBQkxBIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1JJTUFHRU4sIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUklNQUdFTiB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLk1BUkNBRE9SSU1BR0VORklKQSwgbm9tYnJlOiB0aGlzLkRFU01BUkNBRE9SSU1BR0VORklKQSB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLk1BUkNBRE9SUVIsIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUlFSIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1JCQVJDT0RFLCBub21icmU6IHRoaXMuREVTTUFSQ0FET1JCQVJDT0RFIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTUFSQ0FET1JCQVJDT0RFR1MxXzEyOCwgbm9tYnJlOiB0aGlzLkRFU01BUkNBRE9SQkFSQ09ERUdTMV8xMjggfSxcblx0XVxuXG5cdExJU1RBX01BUkNBRE9SRVNfWE1MID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLk1BUkNBRE9SLCBub21icmU6IHRoaXMuREVTTUFSQ0FET1IgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUlJFR0lTVFJPLCBub21icmU6IHRoaXMuREVTTUFSQ0FET1JSRUdJU1RSTyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLk1BUkNBRE9SVEFCTEEsIG5vbWJyZTogdGhpcy5ERVNNQVJDQURPUlRBQkxBIH0sXG5cdF1cblxuXHRESUFHUkFNQV9CQVJSQVMgPSAnQic7XG5cdERJQUdSQU1BX0JBUlJBU19IT1IgPSAnSCc7XG5cdERJQUdSQU1BX1RPUlRBID0gJ1QnO1xuXHRESUFHUkFNQV9BUkVBID0gJ0EnO1xuXHRESUFHUkFNQV9SQURBUiA9ICdSJztcblx0RElBR1JBTUFfUE9MQVIgPSAnUCc7XG5cdERJQUdSQU1BX0RPTkEgPSAnRCc7XG5cdERJQUdSQU1BX0JBUlJBU19TVFJJTkcgPSAnRGlhZ3JhbWEgZGUgYmFycmFzIFZlcnRpZmljYWwnO1xuXHRESUFHUkFNQV9CQVJSQVNfSE9SX1NUUklORyA9ICdEaWFncmFtYSBkZSBiYXJyYXMgSG9yaXpvbnRhbCc7XG5cdERJQUdSQU1BX1RPUlRBX1NUUklORyA9ICdEaWFncmFtYSBkZSBUb3J0YSc7XG5cdERJQUdSQU1BX0FSRUFfU1RSSU5HID0gJ0RpYWdyYW1hIGRlIEFyZWEnO1xuXHRESUFHUkFNQV9SQURBUl9TVFJJTkcgPSAnRGlhZ3JhbWEgZGUgUmFkYXInO1xuXHRESUFHUkFNQV9QT0xBUl9TVFJJTkcgPSAnRGlhZ3JhbWEgZGUgUG9sYXInO1xuXHRESUFHUkFNQV9ET05BX1NUUklORyA9ICdEaWFncmFtYSBkZSBEb25hJztcblxuXHRMSVNUQV9USVBPX0dSQUZJQ08gPSBbXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQkFSUkFTLCBub21icmU6IHRoaXMuRElBR1JBTUFfQkFSUkFTX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX0JBUlJBU19IT1IsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9CQVJSQVNfSE9SX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX1RPUlRBLCBub21icmU6IHRoaXMuRElBR1JBTUFfVE9SVEFfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQVJFQSwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX0FSRUFfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfUE9MQVIsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9QT0xBUl9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9ET05BLCBub21icmU6IHRoaXMuRElBR1JBTUFfRE9OQV9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9SQURBUiwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX1JBREFSX1NUUklORyB9LFxuXHRdXG5cblx0RElBR1JBTUFfTElORUEgPSAnTCc7XG5cdERJQUdSQU1BX0hJU1RPR1JBTUEgPSAnSCc7XG5cdERJQUdSQU1BX0RJRkVSRU5DSUEgPSAnRCc7XG5cdERJQUdSQU1BX0JBUlJBX0hPUklaT05UQUwgPSAnWic7XG5cdERJQUdSQU1BX0JBUlJBX0VTQ0FMQV9IT1JJWk9OVEFMID0gJ0UnO1xuXHRESUFHUkFNQV9CQVJSQV9FU0NBTEFfVkVSVElDQUwgPSAnVic7XG5cdERJQUdSQU1BX0xJTkVBX1NUUklORyA9ICdEaWFncmFtYSBkZSBsaW5lYSc7XG5cdERJQUdSQU1BX0hJU1RPR1JBTUFfU1RSSU5HID0gJ0RpYWdyYW1hIGRlIEhpc3RvZ3JhbWEnO1xuXHRESUFHUkFNQV9ESUZFUkVOQ0lBX1NUUklORyA9ICdEaWFncmFtYSBkZSBEaWZlcmVuY2lhJztcblx0RElBR1JBTUFfQkFSUkFfSE9SSVpPTlRBTF9TVFJJTkcgPSAnRGlhZ3JhbWEgZGUgQmFycmFzIEhvcml6b250YWwnO1xuXHRESUFHUkFNQV9CQVJSQV9FU0NBTEFfU1RSSU5HID0gJ0RpYWdyYW1hIGhvcml6b250YWwgZGUgQmFycmFzIGNvbiBlc2NhbGEnO1xuXHRESUFHUkFNQV9CQVJSQV9FU0NBTEFfVkVSVElDQUxfU1RSSU5HID0gJ0RpYWdyYW1hIHZlcnRpY2FsIGRlIEJhcnJhcyBjb24gZXNjYWxhJztcblxuXHRMSVNUQV9USVBPX0dSQUZJQ09fSkZDID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX0JBUlJBUywgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX0JBUlJBU19TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5ESUFHUkFNQV9UT1JUQSwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX1RPUlRBX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX0FSRUEsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9BUkVBX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkRJQUdSQU1BX0xJTkVBLCBub21icmU6IHRoaXMuRElBR1JBTUFfTElORUFfU1RSSU5HIH0sXG5cdFx0Ly97Y29kaWdvOiB0aGlzLkRJQUdSQU1BX0hJU1RPR1JBTUEsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9ISVNUT0dSQU1BX1NUUklOR30sIC8vVE9ETyBhanVzdGFyIGVuIEVqZWN1Y2lvbiBSZXBvcnRlXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfRElGRVJFTkNJQSwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX0RJRkVSRU5DSUFfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQkFSUkFfSE9SSVpPTlRBTCwgbm9tYnJlOiB0aGlzLkRJQUdSQU1BX0JBUlJBX0hPUklaT05UQUxfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQkFSUkFfRVNDQUxBX0hPUklaT05UQUwsIG5vbWJyZTogdGhpcy5ESUFHUkFNQV9CQVJSQV9FU0NBTEFfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuRElBR1JBTUFfQkFSUkFfRVNDQUxBX1ZFUlRJQ0FMLCBub21icmU6IHRoaXMuRElBR1JBTUFfQkFSUkFfRVNDQUxBX1ZFUlRJQ0FMX1NUUklORyB9LFxuXHRdXG5cblx0U0VSSUUgPSAnUyc7XG5cdENBVEVHT1JJQSA9ICdDJztcblx0VkFMT1IgPSAnVic7XG5cdElNQUdFTiA9ICdJJztcblx0U0VSSUVfU1RSSU5HID0gJ1NlcmllJztcblx0Q0FURUdPUklBX1NUUklORyA9ICdDYXRlZ29yaWEnO1xuXHRWQUxPUl9TVFJJTkcgPSAnVmFsb3InO1xuXHRJTUFHRU5fREVTQyA9ICdJbWFnZW4nO1xuXG5cblx0TElTVEFfUkVDVVJTT19HUkFGSUNBID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLlNFUklFLCBub21icmU6IHRoaXMuU0VSSUVfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuQ0FURUdPUklBLCBub21icmU6IHRoaXMuQ0FURUdPUklBX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLlZBTE9SLCBub21icmU6IHRoaXMuVkFMT1JfU1RSSU5HIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuSU1BR0VOLCBub21icmU6IHRoaXMuSU1BR0VOX0RFU0MgfSxcblx0XHR7IGNvZGlnbzogJ0cnLCBub21icmU6ICdHcnVwbycgfSxcblx0XVxuXG5cdFJFQ1VSU09fR1JBRklDQSA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5TRVJJRSwgbm9tYnJlOiB0aGlzLlNFUklFX1NUUklORyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkNBVEVHT1JJQSwgbm9tYnJlOiB0aGlzLkNBVEVHT1JJQV9TVFJJTkcgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5WQUxPUiwgbm9tYnJlOiB0aGlzLlZBTE9SX1NUUklORyB9LFxuXHRdXG5cblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0ICogICBGb3JtYXRvcyBkZSBnZW5lcmFjaW9uIGRlIHJlcG9ydGVzIFxuXHQgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXHRHRU5FUkFDSU9OX0pBU1BFUkRJTkFNSUNPID0gJ0QnO1xuXHRERVNDX0dFTkVSQUNJT05fSkFTUEVSRElOQU1JQ08gPSAnSmFzcGVyIGRpbmFtaWNvJztcblxuXHRHRU5FUkFDSU9OX0pBU1BFUkZJSk8gPSAnRic7XG5cdERFU0NfR0VORVJBQ0lPTl9KQVNQRVJGSUpPID0gJ0phc3BlciBmaWpvJztcblxuXHRHRU5FUkFDSU9OX0VYQ0VMID0gJ0UnO1xuXHRERVNDX0dFTkVSQUNJT05fRVhDRUwgPSAnRXhjZWwnO1xuXG5cdEdFTkVSQUNJT05fWE1MID0gJ1gnO1xuXHRERVNDX0dFTkVSQUNJT05fWE1MID0gJ0FyY2hpdm8geG1sJztcblxuXHRHRU5FUkFDSU9OX1BMQU5USUxMQSA9ICdXJztcblx0REVTQ19HRU5FUkFDSU9OX1BMQU5USUxMQSA9ICdQbGFudGlsbGEnO1xuXG5cdEdFTkVSQUNJT05fQVJDSElWT1BMQU5PID0gJ1QnO1xuXHRERVNDX0dFTkVSQUNJT05fQVJDSElWT1BMQU5PID0gJ0FyY2hpdm8gUGxhbm8nO1xuXG5cdEdFTkVSQUNJT05fVEFCTEEgPSAnQSc7XG5cdERFU0NfR0VORVJBQ0lPTl9UQUJMQSA9ICdUYWJsYSc7XG5cblx0R0VORVJBQ0lPTl9DT0xVTU5BUklPID0gJ0MnO1xuXHRERVNDX0dFTkVSQUNJT05fQ09MVU1OQVJJTyA9ICdDb2x1bW5hcmlvJztcblxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQgKiAgT3BlcmFjaW9uZXMgc29icmUgcmVwb3J0ZXMgZ2VuZXJhZG9zIFxuXHQgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cdE9QRVJBQ0lPTl9ERVNDQVJHQVIgPSAnRCc7XG5cdERFU0NfT1BFUkFDSU9OX0RFU0NBUkdBUiA9ICdEZXNjYXJnYXInO1xuXG5cdE9QRVJBQ0lPTl9FTlZJQVJDT1JSRU8gPSAnRSc7XG5cdERFU0NfT1BFUkFDSU9OX0VOVklBUkNPUlJFTyA9ICdFbnZpYXIgY29ycmVvJztcblxuXHRPUEVSQUNJT05fRU5WSU9NQVNJVk8gPSAnTSc7XG5cdERFU0NfT1BFUkFDSU9OX0VOVklPTUFTSVZPID0gJ0VudmlvIG1hc2l2byc7XG5cblx0T1BFUkFDSU9OX0NPUlJFT1BVQkxJQ0FSID0gJ01QJztcblx0REVTQ19PUEVSQUNJT05fQ09SUkVPUFVCTElDQVIgPSAnRW52aWFyIHkgUHVibGljYXIgTWFzaXZvJztcblxuXHRPUEVSQUNJT05fUFVCTElDQVIgPSAnUCc7XG5cdERFU0NfT1BFUkFDSU9OX1BVQkxJQ0FSID0gJ1B1YmxpY2FyJztcblxuXHRPUEVSQUNJT05fUFJPQ0VTT19FWFRFUk5PID0gJ1gnO1xuXHRERVNDX09QRVJBQ0lPTl9QUk9DRVNPX0VYVEVSTk8gPSAnUHJvY2VzbyBFeHRlcm5vJztcblxuXHRQQVJBTUVUUk9fRU5UUkFEQV9DT0RFTVBSRVNBID0gJ2NvZGVtcHJlc2EnO1xuXHRQQVJBTUVUUk9fRU5UUkFEQV9DRURVTEEgPSAnY2VkdWxhJztcblx0UEFSQU1FVFJPX0VOVFJBREFfQ09OVFJBVE8gPSAnY29udHJhdG8nO1xuXG5cdFBBUkFNRVRST19FTlRSQURBX0xPR0lOID0gJ2xvZ2luJztcblx0UEFSQU1FVFJPX0VOVFJBREFfUk9MID0gJ3JvbCc7XG5cblx0UEFSQU1FVFJPX05VTUVST19MSVFVSURBQ0lPTl9QRVJJT0RJQ0EgPSAnbnVtZXJvJztcblxuXHRPUEVSQUNJT05fU0VHVU5ET1BMQU5PID0gJ1MnO1xuXHRERVNDX09QRVJBQ0lPTl9TRUdVTkRPUExBTk8gPSAnU2VndW5kbyBQbGFubyc7XG5cblx0TUFQQV9USVBPX0FSQ0hJVk9TID0gW1xuXHRcdHsgY29kaWdvOiAnaHRtbCcsIG5vbWJyZTogJ2h0bWwnIH0sXG5cdFx0eyBjb2RpZ286ICd4bWwnLCBub21icmU6ICd4bWwnIH0sXG5cdFx0eyBjb2RpZ286ICd4bHMnLCBub21icmU6ICd4bHMnIH0sXG5cdFx0eyBjb2RpZ286ICdwZGYnLCBub21icmU6ICdwZGYnIH0sXG5cdFx0eyBjb2RpZ286ICdjc3YnLCBub21icmU6ICdjc3YnIH0sXG5cdFx0eyBjb2RpZ286ICd0eHQnLCBub21icmU6ICd0eHQnIH0sXG5cdF1cblxuXHRNT0RPX1BBUkFNRVRSTyA9ICdQJztcblx0TU9ET19EQVRPUyA9ICdEJztcblxuXHRERVNfTU9ET19QQVJBTUVUUk8gPSAnUGFyYW1ldHJvJztcblx0REVTX01PRE9fREFUT1MgPSAnRGF0b3MnO1xuXG5cdE1PRE9TID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLk1PRE9fUEFSQU1FVFJPLCBub21icmU6IHRoaXMuREVTX01PRE9fUEFSQU1FVFJPIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuTU9ET19EQVRPUywgbm9tYnJlOiB0aGlzLkRFU19NT0RPX0RBVE9TIH0sXG5cdF1cblxuXHRJWlFVSUVSREEgPSAnSSc7XG5cdERFUkVDSEEgPSAnRCc7XG5cdENFTlRSTyA9ICdDJztcblx0SlVTVElGSUNBRE8gPSAnSic7XG5cblx0SVpRVUlFUkRBX0RFU0MgPSAnSXpxdWllcmRhJztcblx0REVSRUNIQV9ERVNDID0gJ0RlcmVjaGEnO1xuXHRDRU5UUk9fREVTQyA9ICdDZW50cm8nO1xuXHRKVVNUSUZJQ0FET19ERVNDID0gJ0p1c3RpZmljYWRvJztcblxuXHRMSVNUQV9BTElORUFDSU9OID0gW1xuXHRcdHsgY29kaWdvOiB0aGlzLklaUVVJRVJEQSwgbm9tYnJlOiB0aGlzLklaUVVJRVJEQV9ERVNDIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuREVSRUNIQSwgbm9tYnJlOiB0aGlzLkRFUkVDSEFfREVTQyB9LFxuXHRcdHsgY29kaWdvOiB0aGlzLkNFTlRSTywgbm9tYnJlOiB0aGlzLkNFTlRST19ERVNDIH0sXG5cdFx0eyBjb2RpZ286IHRoaXMuSlVTVElGSUNBRE8sIG5vbWJyZTogdGhpcy5KVVNUSUZJQ0FET19ERVNDIH1cblx0XVxuXG5cdC8vVGlwbyBNYXJjYWRvcmVzIFRleHRvXG5cdE1BUkNBRE9SVEVYVE9GSUpPID0gJ0YnO1xuXHRNQVJDQURPUlRFWFRPRElOQU1JQ08gPSAnRCc7XG5cblx0TUFSQ0FET1JURVhUT0ZJSk9fREVTQyA9ICdGaWpvJztcblx0TUFSQ0FET1JURVhUT0RJTkFNSUNPX0RFU0MgPSAnQ29sdW1uYSc7XG5cblx0UkVQT1JURUFSQ0hJVk9QTEFOTyA9ICdUJztcblx0VElQT01BUkNBRE9SRVNURVhUTyA9IFtcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUlRFWFRPRklKTywgbm9tYnJlOiB0aGlzLk1BUkNBRE9SVEVYVE9GSUpPX0RFU0MgfSxcblx0XHR7IGNvZGlnbzogdGhpcy5NQVJDQURPUlRFWFRPRElOQU1JQ08sIG5vbWJyZTogdGhpcy5NQVJDQURPUlRFWFRPRElOQU1JQ09fREVTQyB9XG5cdF1cblxuXHR0cmFuc2Zvcm0odmFsdWU6IGFueSwgLi4uYXJnczogYW55KTogYW55IHtcblx0XHRsZXQgcmVzdWx0ID0gdmFsdWU7XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhVGlwbycpIHsgdGhpcy5MSVNUQV9USVBPLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YU1vbWVudG8nKSB7IHRoaXMuTElTVEFfTU9NRU5UTy5mb3JFYWNoKGRhdGEgPT4geyBpZiAoZGF0YS5jb2RpZ28gPT09IHZhbHVlKSB7IHJlc3VsdCA9IGRhdGEubm9tYnJlIH0gfSk7IH1cblx0XHRpZiAoYXJnc1swXSA9PSAnbGlzdGFUaXBvRGF0bycpIHsgdGhpcy5USVBPU19EQVRPLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YVRpcG9EYXRvQ29sdW1uYScpIHsgdGhpcy5USVBPU19EQVRPX0NPTFVNTkEuZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhVGlwb0RhdG9NYXJjYWRvcmVzJykgeyB0aGlzLkxJU1RBX01BUkNBRE9SRVMuZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhVGlwb0dyYWZpY28nKSB7IHRoaXMuTElTVEFfVElQT19HUkFGSUNPLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YVRpcG9HcmFmaWNvSkZDJykgeyB0aGlzLkxJU1RBX1RJUE9fR1JBRklDT19KRkMuZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cdFx0aWYgKGFyZ3NbMF0gPT0gJ2xpc3RhUmVjdXJzb0dyYWZpY2EnKSB7IHRoaXMuTElTVEFfUkVDVVJTT19HUkFGSUNBLmZvckVhY2goZGF0YSA9PiB7IGlmIChkYXRhLmNvZGlnbyA9PT0gdmFsdWUpIHsgcmVzdWx0ID0gZGF0YS5ub21icmUgfSB9KTsgfVxuXHRcdGlmIChhcmdzWzBdID09ICdsaXN0YUFsaW5lYWNpb24nKSB7IHRoaXMuTElTVEFfQUxJTkVBQ0lPTi5mb3JFYWNoKGRhdGEgPT4geyBpZiAoZGF0YS5jb2RpZ28gPT09IHZhbHVlKSB7IHJlc3VsdCA9IGRhdGEubm9tYnJlIH0gfSk7IH1cblx0XHRpZiAoYXJnc1swXSA9PSAnbGlzdGFUaXBvTWFyY2Fkb3Jlc1RleHRvJykgeyB0aGlzLlRJUE9NQVJDQURPUkVTVEVYVE8uZm9yRWFjaChkYXRhID0+IHsgaWYgKGRhdGEuY29kaWdvID09PSB2YWx1ZSkgeyByZXN1bHQgPSBkYXRhLm5vbWJyZSB9IH0pOyB9XG5cblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cbn1cbiJdfQ==
|
|
@@ -184,9 +184,10 @@ export class PopupRecursoComponent {
|
|
|
184
184
|
return;
|
|
185
185
|
}
|
|
186
186
|
this.cruceRecursoPunto.recursoPunto = this.recursoPuntoDTO.llaveTabla;
|
|
187
|
-
await this.generalService.crearRegistro(new GeneralModel('CruceRecursoPuntoDTO', null, false, this.cruceRecursoPunto)).toPromise();
|
|
188
|
-
this.
|
|
189
|
-
this.
|
|
187
|
+
this.cruceRecursoPunto = await this.generalService.crearRegistro(new GeneralModel('CruceRecursoPuntoDTO', null, false, this.cruceRecursoPunto)).toPromise();
|
|
188
|
+
//this.listaCruce.push(this.cruceRecursoPunto);
|
|
189
|
+
await this.cargarCruce();
|
|
190
|
+
await this.loadCruce();
|
|
190
191
|
this.notificacionBusService.showInfo(this.generalPipe.MENSAJE_GUARDAR);
|
|
191
192
|
this.vistaVisualizar = null;
|
|
192
193
|
this.cruceRecursoPunto = new CruceRecursoPuntoModel();
|
|
@@ -257,12 +258,12 @@ export class PopupRecursoComponent {
|
|
|
257
258
|
this.regresar.emit();
|
|
258
259
|
}
|
|
259
260
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: PopupRecursoComponent, deps: [{ token: i1.GeneralService }, { token: i2.cargarmapasGlobal }, { token: i3.ToastService }, { token: i4.GeneralPipe }, { token: i5.UtilsService }, { token: i3.ToastService }, { token: i6.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
260
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: PopupRecursoComponent, isStandalone: true, selector: "app-popup-recurso", outputs: { regresar: "regresar" }, providers: [MessageService], ngImport: i0, template: "<p-confirmPopup></p-confirmPopup>\n<p-dialog id='popupReImprimirRegresion' header=\"{{'recurso' | translate}}\" [(visible)]=\"mostrarPopup\"\n [breakpoints]=\"{'960px': '75vw', '640px': '100vw'}\" [style]=\"{width: '50vw'}\" (onHide)=\"ocultar()\" [modal]=\"true\">\n <p-accordion class=\"w-full\">\n <p-accordionTab [selected]=\"true\">\n <ng-template pTemplate=\"header\">\n <i class=\"glyphicons glyphicons-notes-2\"></i>{{'punto' | translate }} {{'proceso' | translate }}\n </ng-template>\n <ng-template pTemplate=\"content\">\n <div class=\"field col-12 md:col-12 lg:col-12\">\n <div class=\"p-fluid grid\">\n <div class=\"field col-12 md:col-12 lg:col-12\">\n <p-dropdown [options]=\"listaPuntosProceso\" [autoDisplayFirst]=\"false\" appendTo=\"body\" [autoZIndex]=\"false\"\n optionLabel=\"label\" optionValue=\"key\" [(ngModel)]=\"recursoPuntoDTO.puntoProceso\">\n </p-dropdown>\n </div>\n </div>\n <div class=\"flex justify-content-end align-items-center mt-3\">\n <button pButton pRipple label=\"{{'link_guardar' | translate }}\"\n class=\"p-element p-ripple ml-2 p-button-raised p-button p-component\" type=\"button\" (click)=\"guardar()\"\n *ngIf=\"nuevo\"><span class=\"glyphicons glyphicons-floppy-save\"\n style=\"width: auto;\"></span></button>\n <button pButton pRipple label=\"{{'link_actualizar' | translate }}\"\n class=\"ml-2 p-button-raised\" *ngIf=\"!nuevo\" type=\"button\"\n (click)=\"guardar()\"><span class=\"glyphicons glyphicons-refresh\"\n style=\"width: auto;\"></span></button>\n <button pButton label=\"{{'link_eliminar' | translate }}\"\n class=\"p-button-outlined ml-2 mr-2p-element p-button p-component eliminar\" type=\"button\"\n *ngIf=\"!nuevo\" (click)=\"eliminar($event)\"><span class=\"glyphicons glyphicons-bin\"\n style=\"width: auto;\"></span></button>\n </div>\n </div>\n </ng-template>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"!nuevo\">\n <ng-template pTemplate=\"header\">\n <i class=\"glyphicons glyphicons-notes-2\"></i>{{'cruce' | translate }}\n </ng-template>\n <ng-template pTemplate=\"content\">\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoCruce()\" icon=\"pi pi-plus\"\n class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table id=\"tabla_lista_tipo_entidad\" [value]=\"listaCruce\" [scrollable]=\"true\"\n scrollDirection=\"both\" scrollDirection=\"horizontal\" responsiveLayout=\"scroll\"\n scrollDirection=\"horizontal\" styleClass=\"p-datatable-striped\" [showCurrentPageReport]=\"true\"\n editMode=\"row\" dataKey=\"llaveTabla\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th>{{'entrada' | translate}}</th>\n <th>{{'valor' | translate}}</th>\n <th> </th>\n </tr>\n <tr class=\" TablaNuevoRegistro\" *ngIf=\"vistaVisualizar === 'nuevoCruce'\">\n <td>\n <p-dropdown class=\"w-full\" [options]=\"listaEntrada\" optionValue=\"key\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" optionLabel=\"label\" class=\"w-full\"\n [(ngModel)]=\"cruceRecursoPunto.fuenteEntrada\"></p-dropdown>\n </td>\n <td>\n <p-dropdown class=\"w-full\" [options]=\"listadoAtributoPunto\" optionValue=\"key\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" optionLabel=\"label\"\n [(ngModel)]=\"cruceRecursoPunto.atributoPunto\" class=\"w-full\"></p-dropdown>\n </td>\n <td class=\"flex justify-content-end\">\n <div>\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarCruce(null,true)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"cancelarCruce()\" icon=\"pi pi-times\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-cruce let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"cruce\">\n <td class=\"w-6rem\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <p-dropdown [options]=\"listaEntrada\" optionValue=\"key\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" optionLabel=\"label\" class=\"w-full\"\n [(ngModel)]=\"cruce.reporteEntrada\"></p-dropdown>\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{cruce.descripcionEntrada}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td class=\"w-6rem\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <p-dropdown [options]=\"listadoAtributoPunto\" optionValue=\"key\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" optionLabel=\"label\" class=\"w-full\"\n [(ngModel)]=\"cruce.atributoPunto\"></p-dropdown>\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{cruce.atributoPuntoDescripcion}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td class=\"w-6rem justify-content-end\">\n <div class=\"flex align-items-center justify-content-center gap-2\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarCruce(cruce, false)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow\n icon=\"glyphicons glyphicons-pencil\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow\n icon=\"pi pi-trash\" (click)=\"eliminarCruce($event,cruce)\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr class=\"p-3 font-medium emptymessage\">\n <td colspan=\"5\">\n {{'mensajetablavacia' | translate}} \n </td>\n </tr>\n </ng-template>\n </p-table>\n </ng-template>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"!nuevo\">\n <ng-template pTemplate=\"header\">\n <i class=\"glyphicons glyphicons-notes-2\"></i>{{'filtro' | translate }}\n </ng-template>\n <ng-template pTemplate=\"content\">\n\n <p-table [value]=\"listaAtributoPunto\" responsiveLayout=\"scroll\" [scrollable]=\"true\"\n scrollDirection=\"horizontal\" styleClass=\"p-datatable-striped\" >\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"w-6rem\">{{'descripcion' | translate}}</th>\n <th class=\"w-6rem\">{{'codigo' | translate}}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-element>\n <tr>\n <td class=\"w-6rem\">\n {{element.descripcion}}\n </td>\n <td class=\"w-6rem\">\n {{element.codigo}}\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr class=\"p-3 font-medium emptymessage\">\n <td colspan=\"5\">\n {{'mensajetablavacia' | translate}} \n </td>\n </tr>\n </ng-template>\n </p-table>\n\n <div class=\"field col-12 md:col-12 lg:col-12\">\n <label class=\"font-medium w-full\" for=\"descripcion\">{{'filtro' | translate}}\n <textarea class=\"w-full\" id=\"float-input\" rows=\"5\" cols=\"30\" pInputTextarea\n [(ngModel)]=\"recursoPuntoDTO.filtro\" autofocus [autoResize]=\"true\"> </textarea></label>\n </div>\n <div class=\"flex justify-content-end align-content-center mt-3\">\n <button pButton pRipple class=\"ml-2 p-button-raised\" (click)=\"guardar()\"\n icon=\"glyphicons glyphicons-refresh\" label=\"Actualizar\" ></button>\n </div>\n </ng-template>\n </p-accordionTab>\n </p-accordion>\n</p-dialog>\n", styles: [":host ::ng-deep .p-dropdown{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i9.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ConfirmPopupModule }, { kind: "component", type: i10.ConfirmPopup, selector: "p-confirmPopup", inputs: ["key", "defaultFocus", "showTransitionOptions", "hideTransitionOptions", "autoZIndex", "baseZIndex", "style", "styleClass", "visible"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i11.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i12.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "ngmodule", type: AccordionModule }, { kind: "component", type: i13.Accordion, selector: "p-accordion", inputs: ["multiple", "style", "styleClass", "expandIcon", "collapseIcon", "activeIndex", "selectOnFocus", "headerAriaLevel"], outputs: ["onClose", "onOpen", "activeIndexChange"] }, { kind: "component", type: i13.AccordionTab, selector: "p-accordionTab", inputs: ["id", "header", "headerStyle", "tabStyle", "contentStyle", "tabStyleClass", "headerStyleClass", "contentStyleClass", "disabled", "cache", "transitionOptions", "iconPos", "selected", "headerAriaLevel"], outputs: ["selectedChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i14.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i14.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i15.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "component", type: i15.CellEditor, selector: "p-cellEditor" }, { kind: "directive", type: i15.EditableRow, selector: "[pEditableRow]", inputs: ["pEditableRow", "pEditableRowDisabled"] }, { kind: "directive", type: i15.InitEditableRow, selector: "[pInitEditableRow]" }, { kind: "directive", type: i15.SaveEditableRow, selector: "[pSaveEditableRow]" }, { kind: "directive", type: i15.CancelEditableRow, selector: "[pCancelEditableRow]" }, { kind: "ngmodule", type: InputTextareaModule }, { kind: "directive", type: i16.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant"], outputs: ["onResize"] }] });
|
|
261
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: PopupRecursoComponent, isStandalone: true, selector: "app-popup-recurso", outputs: { regresar: "regresar" }, providers: [MessageService], ngImport: i0, template: "<p-confirmPopup></p-confirmPopup>\n<p-dialog id='popupReImprimirRegresion' header=\"{{'recurso' | translate}}\" [(visible)]=\"mostrarPopup\"\n [breakpoints]=\"{'960px': '75vw', '640px': '100vw'}\" [style]=\"{width: '50vw'}\" (onHide)=\"ocultar()\" [modal]=\"true\">\n <p-accordion class=\"w-full\">\n <p-accordionTab [selected]=\"true\">\n <ng-template pTemplate=\"header\">\n <i class=\"glyphicons glyphicons-notes-2\"></i>{{'punto' | translate }} {{'proceso' | translate }}\n </ng-template>\n <ng-template pTemplate=\"content\">\n <div class=\"field col-12 md:col-12 lg:col-12\">\n <div class=\"p-fluid grid\">\n <div class=\"field col-12 md:col-12 lg:col-12\">\n <p-dropdown [options]=\"listaPuntosProceso\" [autoDisplayFirst]=\"false\" appendTo=\"body\" [autoZIndex]=\"false\"\n optionLabel=\"label\" optionValue=\"key\" [(ngModel)]=\"recursoPuntoDTO.puntoProceso\">\n </p-dropdown>\n </div>\n </div>\n <div class=\"flex justify-content-end align-items-center mt-3\">\n <button pButton pRipple label=\"{{'link_guardar' | translate }}\"\n class=\"p-element p-ripple ml-2 p-button-raised p-button p-component\" type=\"button\" (click)=\"guardar()\"\n *ngIf=\"nuevo\"><span class=\"glyphicons glyphicons-floppy-save\"\n style=\"width: auto;\"></span></button>\n <button pButton pRipple label=\"{{'link_actualizar' | translate }}\"\n class=\"ml-2 p-button-raised\" *ngIf=\"!nuevo\" type=\"button\"\n (click)=\"guardar()\"><span class=\"glyphicons glyphicons-refresh\"\n style=\"width: auto;\"></span></button>\n <button pButton label=\"{{'link_eliminar' | translate }}\"\n class=\"p-button-outlined ml-2 mr-2p-element p-button p-component eliminar\" type=\"button\"\n *ngIf=\"!nuevo\" (click)=\"eliminar($event)\"><span class=\"glyphicons glyphicons-bin\"\n style=\"width: auto;\"></span></button>\n </div>\n </div>\n </ng-template>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"!nuevo\">\n <ng-template pTemplate=\"header\">\n <i class=\"glyphicons glyphicons-notes-2\"></i>{{'cruce' | translate }}\n </ng-template>\n <ng-template pTemplate=\"content\">\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoCruce()\" icon=\"pi pi-plus\"\n class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table id=\"tabla_lista_tipo_entidad\" [value]=\"listaCruce\" [scrollable]=\"true\"\n scrollDirection=\"both\" scrollDirection=\"horizontal\" responsiveLayout=\"scroll\"\n scrollDirection=\"horizontal\" styleClass=\"p-datatable-striped\" [showCurrentPageReport]=\"true\"\n editMode=\"row\" dataKey=\"llaveTabla\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th style=\"width: 40%;\">{{'entrada' | translate}}</th>\n <th style=\"width: 40%;\">{{'valor' | translate}}</th>\n <th style=\"width: 10%;\"> </th>\n </tr>\n <tr class=\" TablaNuevoRegistro\" *ngIf=\"vistaVisualizar === 'nuevoCruce'\">\n <td style=\"width: 40%;\">\n <p-dropdown class=\"w-full\" [options]=\"listaEntrada\" optionValue=\"key\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" optionLabel=\"label\" class=\"w-full\"\n [(ngModel)]=\"cruceRecursoPunto.fuenteEntrada\"></p-dropdown>\n </td>\n <td style=\"width: 40%;\">\n <p-dropdown class=\"w-full\" [options]=\"listadoAtributoPunto\" optionValue=\"key\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" optionLabel=\"label\"\n [(ngModel)]=\"cruceRecursoPunto.atributoPunto\" class=\"w-full\"></p-dropdown>\n </td>\n <td style=\"width: 10%;\" >\n <div class=\"flex justify-content-end\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarCruce(null,true)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"cancelarCruce()\" icon=\"pi pi-times\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-cruce let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"cruce\">\n <td style=\"width: 40%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <p-dropdown [options]=\"listaEntrada\" optionValue=\"key\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" optionLabel=\"label\" class=\"w-full\"\n [(ngModel)]=\"cruce.reporteEntrada\"></p-dropdown>\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{cruce.descripcionEntrada}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 40%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <p-dropdown [options]=\"listadoAtributoPunto\" optionValue=\"key\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" optionLabel=\"label\" class=\"w-full\"\n [(ngModel)]=\"cruce.atributoPunto\"></p-dropdown>\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{cruce.atributoPuntoDescripcion}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%;\">\n <div class=\"flex align-items-center justify-content-end gap-2\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarCruce(cruce, false)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow\n icon=\"glyphicons glyphicons-pencil\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow\n icon=\"pi pi-trash\" (click)=\"eliminarCruce($event,cruce)\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr class=\"p-3 font-medium emptymessage\">\n <td colspan=\"5\">\n {{'mensajetablavacia' | translate}} \n </td>\n </tr>\n </ng-template>\n </p-table>\n </ng-template>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"!nuevo\">\n <ng-template pTemplate=\"header\">\n <i class=\"glyphicons glyphicons-notes-2\"></i>{{'filtro' | translate }}\n </ng-template>\n <ng-template pTemplate=\"content\">\n\n <p-table [value]=\"listaAtributoPunto\" responsiveLayout=\"scroll\" [scrollable]=\"true\"\n scrollDirection=\"horizontal\" styleClass=\"p-datatable-striped\" >\n <ng-template pTemplate=\"header\">\n <tr>\n <th style=\"width: 50%;\">{{'descripcion' | translate}}</th>\n <th style=\"width: 50%;\">{{'codigo' | translate}}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-element>\n <tr>\n <td style=\"width: 50%;\">\n {{element.descripcion}}\n </td>\n <td style=\"width: 50%;\">\n {{element.codigo}}\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr class=\"p-3 font-medium emptymessage\">\n <td colspan=\"5\">\n {{'mensajetablavacia' | translate}} \n </td>\n </tr>\n </ng-template>\n </p-table>\n\n <div class=\"field col-12 md:col-12 lg:col-12\">\n <label class=\"font-medium w-full\" for=\"descripcion\">{{'filtro' | translate}}\n <textarea class=\"w-full\" id=\"float-input\" rows=\"5\" cols=\"30\" pInputTextarea\n [(ngModel)]=\"recursoPuntoDTO.filtro\" autofocus [autoResize]=\"true\"> </textarea></label>\n </div>\n <div class=\"flex justify-content-end align-content-center mt-3\">\n <button pButton pRipple class=\"ml-2 p-button-raised\" (click)=\"guardar()\"\n icon=\"glyphicons glyphicons-refresh\" label=\"Actualizar\" ></button>\n </div>\n </ng-template>\n </p-accordionTab>\n </p-accordion>\n</p-dialog>\n", styles: [":host ::ng-deep .p-dropdown{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i9.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ConfirmPopupModule }, { kind: "component", type: i10.ConfirmPopup, selector: "p-confirmPopup", inputs: ["key", "defaultFocus", "showTransitionOptions", "hideTransitionOptions", "autoZIndex", "baseZIndex", "style", "styleClass", "visible"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i11.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i12.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "ngmodule", type: AccordionModule }, { kind: "component", type: i13.Accordion, selector: "p-accordion", inputs: ["multiple", "style", "styleClass", "expandIcon", "collapseIcon", "activeIndex", "selectOnFocus", "headerAriaLevel"], outputs: ["onClose", "onOpen", "activeIndexChange"] }, { kind: "component", type: i13.AccordionTab, selector: "p-accordionTab", inputs: ["id", "header", "headerStyle", "tabStyle", "contentStyle", "tabStyleClass", "headerStyleClass", "contentStyleClass", "disabled", "cache", "transitionOptions", "iconPos", "selected", "headerAriaLevel"], outputs: ["selectedChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i14.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i14.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i15.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "component", type: i15.CellEditor, selector: "p-cellEditor" }, { kind: "directive", type: i15.EditableRow, selector: "[pEditableRow]", inputs: ["pEditableRow", "pEditableRowDisabled"] }, { kind: "directive", type: i15.InitEditableRow, selector: "[pInitEditableRow]" }, { kind: "directive", type: i15.SaveEditableRow, selector: "[pSaveEditableRow]" }, { kind: "directive", type: i15.CancelEditableRow, selector: "[pCancelEditableRow]" }, { kind: "ngmodule", type: InputTextareaModule }, { kind: "directive", type: i16.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant"], outputs: ["onResize"] }] });
|
|
261
262
|
}
|
|
262
263
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: PopupRecursoComponent, decorators: [{
|
|
263
264
|
type: Component,
|
|
264
|
-
args: [{ selector: 'app-popup-recurso', imports: [TranslateModule, CommonModule, DialogModule, ConfirmPopupModule, DropdownModule, ButtonModule, AccordionModule, FormsModule, TableModule, InputTextareaModule], standalone: true, providers: [MessageService], template: "<p-confirmPopup></p-confirmPopup>\n<p-dialog id='popupReImprimirRegresion' header=\"{{'recurso' | translate}}\" [(visible)]=\"mostrarPopup\"\n [breakpoints]=\"{'960px': '75vw', '640px': '100vw'}\" [style]=\"{width: '50vw'}\" (onHide)=\"ocultar()\" [modal]=\"true\">\n <p-accordion class=\"w-full\">\n <p-accordionTab [selected]=\"true\">\n <ng-template pTemplate=\"header\">\n <i class=\"glyphicons glyphicons-notes-2\"></i>{{'punto' | translate }} {{'proceso' | translate }}\n </ng-template>\n <ng-template pTemplate=\"content\">\n <div class=\"field col-12 md:col-12 lg:col-12\">\n <div class=\"p-fluid grid\">\n <div class=\"field col-12 md:col-12 lg:col-12\">\n <p-dropdown [options]=\"listaPuntosProceso\" [autoDisplayFirst]=\"false\" appendTo=\"body\" [autoZIndex]=\"false\"\n optionLabel=\"label\" optionValue=\"key\" [(ngModel)]=\"recursoPuntoDTO.puntoProceso\">\n </p-dropdown>\n </div>\n </div>\n <div class=\"flex justify-content-end align-items-center mt-3\">\n <button pButton pRipple label=\"{{'link_guardar' | translate }}\"\n class=\"p-element p-ripple ml-2 p-button-raised p-button p-component\" type=\"button\" (click)=\"guardar()\"\n *ngIf=\"nuevo\"><span class=\"glyphicons glyphicons-floppy-save\"\n style=\"width: auto;\"></span></button>\n <button pButton pRipple label=\"{{'link_actualizar' | translate }}\"\n class=\"ml-2 p-button-raised\" *ngIf=\"!nuevo\" type=\"button\"\n (click)=\"guardar()\"><span class=\"glyphicons glyphicons-refresh\"\n style=\"width: auto;\"></span></button>\n <button pButton label=\"{{'link_eliminar' | translate }}\"\n class=\"p-button-outlined ml-2 mr-2p-element p-button p-component eliminar\" type=\"button\"\n *ngIf=\"!nuevo\" (click)=\"eliminar($event)\"><span class=\"glyphicons glyphicons-bin\"\n style=\"width: auto;\"></span></button>\n </div>\n </div>\n </ng-template>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"!nuevo\">\n <ng-template pTemplate=\"header\">\n <i class=\"glyphicons glyphicons-notes-2\"></i>{{'cruce' | translate }}\n </ng-template>\n <ng-template pTemplate=\"content\">\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoCruce()\" icon=\"pi pi-plus\"\n class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table id=\"tabla_lista_tipo_entidad\" [value]=\"listaCruce\" [scrollable]=\"true\"\n scrollDirection=\"both\" scrollDirection=\"horizontal\" responsiveLayout=\"scroll\"\n scrollDirection=\"horizontal\" styleClass=\"p-datatable-striped\" [showCurrentPageReport]=\"true\"\n editMode=\"row\" dataKey=\"llaveTabla\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th>{{'entrada' | translate}}</th>\n <th>{{'valor' | translate}}</th>\n <th> </th>\n </tr>\n <tr class=\" TablaNuevoRegistro\" *ngIf=\"vistaVisualizar === 'nuevoCruce'\">\n <td>\n <p-dropdown class=\"w-full\" [options]=\"listaEntrada\" optionValue=\"key\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" optionLabel=\"label\" class=\"w-full\"\n [(ngModel)]=\"cruceRecursoPunto.fuenteEntrada\"></p-dropdown>\n </td>\n <td>\n <p-dropdown class=\"w-full\" [options]=\"listadoAtributoPunto\" optionValue=\"key\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" optionLabel=\"label\"\n [(ngModel)]=\"cruceRecursoPunto.atributoPunto\" class=\"w-full\"></p-dropdown>\n </td>\n <td class=\"flex justify-content-end\">\n <div>\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarCruce(null,true)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"cancelarCruce()\" icon=\"pi pi-times\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-cruce let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"cruce\">\n <td class=\"w-6rem\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <p-dropdown [options]=\"listaEntrada\" optionValue=\"key\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" optionLabel=\"label\" class=\"w-full\"\n [(ngModel)]=\"cruce.reporteEntrada\"></p-dropdown>\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{cruce.descripcionEntrada}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td class=\"w-6rem\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <p-dropdown [options]=\"listadoAtributoPunto\" optionValue=\"key\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" optionLabel=\"label\" class=\"w-full\"\n [(ngModel)]=\"cruce.atributoPunto\"></p-dropdown>\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{cruce.atributoPuntoDescripcion}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td class=\"w-6rem justify-content-end\">\n <div class=\"flex align-items-center justify-content-center gap-2\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarCruce(cruce, false)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow\n icon=\"glyphicons glyphicons-pencil\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow\n icon=\"pi pi-trash\" (click)=\"eliminarCruce($event,cruce)\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr class=\"p-3 font-medium emptymessage\">\n <td colspan=\"5\">\n {{'mensajetablavacia' | translate}} \n </td>\n </tr>\n </ng-template>\n </p-table>\n </ng-template>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"!nuevo\">\n <ng-template pTemplate=\"header\">\n <i class=\"glyphicons glyphicons-notes-2\"></i>{{'filtro' | translate }}\n </ng-template>\n <ng-template pTemplate=\"content\">\n\n <p-table [value]=\"listaAtributoPunto\" responsiveLayout=\"scroll\" [scrollable]=\"true\"\n scrollDirection=\"horizontal\" styleClass=\"p-datatable-striped\" >\n <ng-template pTemplate=\"header\">\n <tr>\n <th class=\"w-6rem\">{{'descripcion' | translate}}</th>\n <th class=\"w-6rem\">{{'codigo' | translate}}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-element>\n <tr>\n <td class=\"w-6rem\">\n {{element.descripcion}}\n </td>\n <td class=\"w-6rem\">\n {{element.codigo}}\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr class=\"p-3 font-medium emptymessage\">\n <td colspan=\"5\">\n {{'mensajetablavacia' | translate}} \n </td>\n </tr>\n </ng-template>\n </p-table>\n\n <div class=\"field col-12 md:col-12 lg:col-12\">\n <label class=\"font-medium w-full\" for=\"descripcion\">{{'filtro' | translate}}\n <textarea class=\"w-full\" id=\"float-input\" rows=\"5\" cols=\"30\" pInputTextarea\n [(ngModel)]=\"recursoPuntoDTO.filtro\" autofocus [autoResize]=\"true\"> </textarea></label>\n </div>\n <div class=\"flex justify-content-end align-content-center mt-3\">\n <button pButton pRipple class=\"ml-2 p-button-raised\" (click)=\"guardar()\"\n icon=\"glyphicons glyphicons-refresh\" label=\"Actualizar\" ></button>\n </div>\n </ng-template>\n </p-accordionTab>\n </p-accordion>\n</p-dialog>\n", styles: [":host ::ng-deep .p-dropdown{width:100%}\n"] }]
|
|
265
|
+
args: [{ selector: 'app-popup-recurso', imports: [TranslateModule, CommonModule, DialogModule, ConfirmPopupModule, DropdownModule, ButtonModule, AccordionModule, FormsModule, TableModule, InputTextareaModule], standalone: true, providers: [MessageService], template: "<p-confirmPopup></p-confirmPopup>\n<p-dialog id='popupReImprimirRegresion' header=\"{{'recurso' | translate}}\" [(visible)]=\"mostrarPopup\"\n [breakpoints]=\"{'960px': '75vw', '640px': '100vw'}\" [style]=\"{width: '50vw'}\" (onHide)=\"ocultar()\" [modal]=\"true\">\n <p-accordion class=\"w-full\">\n <p-accordionTab [selected]=\"true\">\n <ng-template pTemplate=\"header\">\n <i class=\"glyphicons glyphicons-notes-2\"></i>{{'punto' | translate }} {{'proceso' | translate }}\n </ng-template>\n <ng-template pTemplate=\"content\">\n <div class=\"field col-12 md:col-12 lg:col-12\">\n <div class=\"p-fluid grid\">\n <div class=\"field col-12 md:col-12 lg:col-12\">\n <p-dropdown [options]=\"listaPuntosProceso\" [autoDisplayFirst]=\"false\" appendTo=\"body\" [autoZIndex]=\"false\"\n optionLabel=\"label\" optionValue=\"key\" [(ngModel)]=\"recursoPuntoDTO.puntoProceso\">\n </p-dropdown>\n </div>\n </div>\n <div class=\"flex justify-content-end align-items-center mt-3\">\n <button pButton pRipple label=\"{{'link_guardar' | translate }}\"\n class=\"p-element p-ripple ml-2 p-button-raised p-button p-component\" type=\"button\" (click)=\"guardar()\"\n *ngIf=\"nuevo\"><span class=\"glyphicons glyphicons-floppy-save\"\n style=\"width: auto;\"></span></button>\n <button pButton pRipple label=\"{{'link_actualizar' | translate }}\"\n class=\"ml-2 p-button-raised\" *ngIf=\"!nuevo\" type=\"button\"\n (click)=\"guardar()\"><span class=\"glyphicons glyphicons-refresh\"\n style=\"width: auto;\"></span></button>\n <button pButton label=\"{{'link_eliminar' | translate }}\"\n class=\"p-button-outlined ml-2 mr-2p-element p-button p-component eliminar\" type=\"button\"\n *ngIf=\"!nuevo\" (click)=\"eliminar($event)\"><span class=\"glyphicons glyphicons-bin\"\n style=\"width: auto;\"></span></button>\n </div>\n </div>\n </ng-template>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"!nuevo\">\n <ng-template pTemplate=\"header\">\n <i class=\"glyphicons glyphicons-notes-2\"></i>{{'cruce' | translate }}\n </ng-template>\n <ng-template pTemplate=\"content\">\n <div class=\"flex justify-content-end align-items-center mb-3\">\n <button pButton label=\"{{'link_nuevo' | translate}}\" (click)=\"nuevoCruce()\" icon=\"pi pi-plus\"\n class=\"p-ripple p-element p-button p-component p-button-secondary mb-2\"></button>\n </div>\n <p-table id=\"tabla_lista_tipo_entidad\" [value]=\"listaCruce\" [scrollable]=\"true\"\n scrollDirection=\"both\" scrollDirection=\"horizontal\" responsiveLayout=\"scroll\"\n scrollDirection=\"horizontal\" styleClass=\"p-datatable-striped\" [showCurrentPageReport]=\"true\"\n editMode=\"row\" dataKey=\"llaveTabla\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th style=\"width: 40%;\">{{'entrada' | translate}}</th>\n <th style=\"width: 40%;\">{{'valor' | translate}}</th>\n <th style=\"width: 10%;\"> </th>\n </tr>\n <tr class=\" TablaNuevoRegistro\" *ngIf=\"vistaVisualizar === 'nuevoCruce'\">\n <td style=\"width: 40%;\">\n <p-dropdown class=\"w-full\" [options]=\"listaEntrada\" optionValue=\"key\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" optionLabel=\"label\" class=\"w-full\"\n [(ngModel)]=\"cruceRecursoPunto.fuenteEntrada\"></p-dropdown>\n </td>\n <td style=\"width: 40%;\">\n <p-dropdown class=\"w-full\" [options]=\"listadoAtributoPunto\" optionValue=\"key\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" optionLabel=\"label\"\n [(ngModel)]=\"cruceRecursoPunto.atributoPunto\" class=\"w-full\"></p-dropdown>\n </td>\n <td style=\"width: 10%;\" >\n <div class=\"flex justify-content-end\">\n <button pButton pRipple type=\"button\" icon=\"pi pi-check\" (click)=\"agregarCruce(null,true)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <button pButton pRipple type=\"button\" (click)=\"cancelarCruce()\" icon=\"pi pi-times\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-cruce let-editing=\"editing\" let-ri=\"rowIndex\">\n <tr [pEditableRow]=\"cruce\">\n <td style=\"width: 40%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <p-dropdown [options]=\"listaEntrada\" optionValue=\"key\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" optionLabel=\"label\" class=\"w-full\"\n [(ngModel)]=\"cruce.reporteEntrada\"></p-dropdown>\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{cruce.descripcionEntrada}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 40%;\">\n <p-cellEditor>\n <ng-template pTemplate=\"input\">\n <p-dropdown [options]=\"listadoAtributoPunto\" optionValue=\"key\" appendTo=\"body\" [autoZIndex]=\"false\"\n [autoDisplayFirst]=\"false\" optionLabel=\"label\" class=\"w-full\"\n [(ngModel)]=\"cruce.atributoPunto\"></p-dropdown>\n </ng-template>\n <ng-template pTemplate=\"output\">\n {{cruce.atributoPuntoDescripcion}}\n </ng-template>\n </p-cellEditor>\n </td>\n <td style=\"width: 10%;\">\n <div class=\"flex align-items-center justify-content-end gap-2\">\n <!-- CHECK GUARDAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pSaveEditableRow\n icon=\"pi pi-check\" (click)=\"agregarCruce(cruce, false)\"\n class=\"p-element p-ripple p-button-rounded p-button-success mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- CANCELAR -->\n <button *ngIf=\"editing\" pButton pRipple type=\"button\" pCancelEditableRow\n icon=\"pi pi-times\"\n class=\"p-element p-ripple p-button-rounded p-button-danger mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- EDITAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pInitEditableRow\n icon=\"glyphicons glyphicons-pencil\"\n class=\"p-element p-ripple p-button-rounded p-button-secondary mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n <!-- ELIMINAR -->\n <button *ngIf=\"!editing\" pButton pRipple type=\"button\" pDeleteEditableRow\n icon=\"pi pi-trash\" (click)=\"eliminarCruce($event,cruce)\"\n class=\"p-element p-ripple p-button-rounded p-button-outlined mr-2 mb-2 p-button p-component p-button-icon-only\"></button>\n </div>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr class=\"p-3 font-medium emptymessage\">\n <td colspan=\"5\">\n {{'mensajetablavacia' | translate}} \n </td>\n </tr>\n </ng-template>\n </p-table>\n </ng-template>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"!nuevo\">\n <ng-template pTemplate=\"header\">\n <i class=\"glyphicons glyphicons-notes-2\"></i>{{'filtro' | translate }}\n </ng-template>\n <ng-template pTemplate=\"content\">\n\n <p-table [value]=\"listaAtributoPunto\" responsiveLayout=\"scroll\" [scrollable]=\"true\"\n scrollDirection=\"horizontal\" styleClass=\"p-datatable-striped\" >\n <ng-template pTemplate=\"header\">\n <tr>\n <th style=\"width: 50%;\">{{'descripcion' | translate}}</th>\n <th style=\"width: 50%;\">{{'codigo' | translate}}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-element>\n <tr>\n <td style=\"width: 50%;\">\n {{element.descripcion}}\n </td>\n <td style=\"width: 50%;\">\n {{element.codigo}}\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr class=\"p-3 font-medium emptymessage\">\n <td colspan=\"5\">\n {{'mensajetablavacia' | translate}} \n </td>\n </tr>\n </ng-template>\n </p-table>\n\n <div class=\"field col-12 md:col-12 lg:col-12\">\n <label class=\"font-medium w-full\" for=\"descripcion\">{{'filtro' | translate}}\n <textarea class=\"w-full\" id=\"float-input\" rows=\"5\" cols=\"30\" pInputTextarea\n [(ngModel)]=\"recursoPuntoDTO.filtro\" autofocus [autoResize]=\"true\"> </textarea></label>\n </div>\n <div class=\"flex justify-content-end align-content-center mt-3\">\n <button pButton pRipple class=\"ml-2 p-button-raised\" (click)=\"guardar()\"\n icon=\"glyphicons glyphicons-refresh\" label=\"Actualizar\" ></button>\n </div>\n </ng-template>\n </p-accordionTab>\n </p-accordion>\n</p-dialog>\n", styles: [":host ::ng-deep .p-dropdown{width:100%}\n"] }]
|
|
265
266
|
}], ctorParameters: () => [{ type: i1.GeneralService }, { type: i2.cargarmapasGlobal }, { type: i3.ToastService }, { type: i4.GeneralPipe }, { type: i5.UtilsService }, { type: i3.ToastService }, { type: i6.ConfirmationService }], propDecorators: { regresar: [{
|
|
266
267
|
type: Output
|
|
267
268
|
}] } });
|
|
268
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtcmVjdXJzby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3dlYmNvbW1vbi9wb3B1cHMvcG9wdXAtcmVjdXJzby9wb3B1cC1yZWN1cnNvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvd2ViY29tbW9uL3BvcHVwcy9wb3B1cC1yZWN1cnNvL3BvcHVwLXJlY3Vyc28uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdkUsT0FBTyxFQUF1QixjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDekYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFHL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFn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QkFSakMsU0FBUzsrQkFDRSxtQkFBbUIsV0FDcEIsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixDQUFDLGNBQzFKLElBQUksYUFDTCxDQUFDLGNBQWMsQ0FBQztnUUFNWixRQUFRO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2VuZXJhbFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9nZW5lcmFsLnBpcGUnO1xuaW1wb3J0IHsgY2FyZ2FybWFwYXNHbG9iYWwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljaW9zL2Nhcmdhci1tYXBhcy5zZXJ2aWNlJztcbmltcG9ydCB7IEdlbmVyYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3NlcnZpY2lvcy9nZW5lcmFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VuZXJhbE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvR2VuZXJhbE1vZGVsJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtBdHJpYnV0b1B1bnRvTW9kZWx9IGZyb20gJy4uLy4uLy4uL3NlZ3VyaWRhZC9tb2RlbG9zL0F0cmlidXRvUHVudG9Nb2RlbCc7XG5pbXBvcnQge0NydWNlUmVjdXJzb1B1bnRvTW9kZWx9IGZyb20gJy4uLy4uLy4uL3NlZ3VyaWRhZC9tb2RlbG9zL0NydWNlUmVjdXJzb1B1bnRvTW9kZWwnO1xuaW1wb3J0IHtQdW50b1Byb2Nlc29Nb2RlbH0gZnJvbSAnLi4vLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvUHVudG9Qcm9jZXNvTW9kZWwnO1xuaW1wb3J0IHtSZWN1cnNvUHVudG9Nb2RlbH0gZnJvbSAnLi4vLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvUmVjdXJzb1B1bnRvTW9kZWwnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNpb3MvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2lvcy91dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZGlhbG9nJztcbmltcG9ydCB7IENvbmZpcm1Qb3B1cE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29uZmlybXBvcHVwJztcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQgeyBBY2NvcmRpb25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2FjY29yZGlvbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQgeyBJbnB1dFRleHRhcmVhTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHRhcmVhJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXBvcHVwLXJlY3Vyc28nLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlLCBDb21tb25Nb2R1bGUsIERpYWxvZ01vZHVsZSwgQ29uZmlybVBvcHVwTW9kdWxlLCBEcm9wZG93bk1vZHVsZSwgQnV0dG9uTW9kdWxlLCBBY2NvcmRpb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBUYWJsZU1vZHVsZSwgSW5wdXRUZXh0YXJlYU1vZHVsZV0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtNZXNzYWdlU2VydmljZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BvcHVwLXJlY3Vyc28uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wb3B1cC1yZWN1cnNvLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUG9wdXBSZWN1cnNvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAT3V0cHV0KCkgcHVibGljIHJlZ3Jlc2FyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHJlY3Vyc29QdW50b0RUTzogUmVjdXJzb1B1bnRvTW9kZWwgPSBuZXcgUmVjdXJzb1B1bnRvTW9kZWw7XG4gIGxsYXZlOiBhbnk7XG4gIGRlc3Rpbm86IFN0cmluZztcbiAgdGlwb1JlY3Vyc287XG4gIG51ZXZvOiBib29sZWFuO1xuICBtb3N0cmFyUG9wdXA6IGJvb2xlYW47XG4gIHJlY3Vyc29zVmFsaWRhcjogUmVjdXJzb1B1bnRvTW9kZWxbXSA9IFtdO1xuICBjcnVjZXM6IENydWNlUmVjdXJzb1B1bnRvTW9kZWxbXSA9IFtdO1xuICBsaXN0YUVudHJhZGE6IGFueVtdID0gW107XG4gIGxpc3RhUHVudG9zUHJvY2VzbzogYW55W10gPSBbXTtcbiAgbGlzdGFBdHJpYnV0b1B1bnRvOiBBdHJpYnV0b1B1bnRvTW9kZWxbXSA9IFtdO1xuICBsaXN0YWRvQXRyaWJ1dG9QdW50bzogYW55W10gPSBbXTtcbiAgbGlzdGFDcnVjZTogQ3J1Y2VSZWN1cnNvUHVudG9Nb2RlbFtdID0gW107XG4gIGNydWNlUmVjdXJzb1B1bnRvOiBDcnVjZVJlY3Vyc29QdW50b01vZGVsID0gbmV3IENydWNlUmVjdXJzb1B1bnRvTW9kZWwoKTtcbiAgdmlzdGFWaXN1YWxpemFyOiBTdHJpbmc7XG4gIHBhZ2luYXRvckNydWNlID0ge1xuICAgIHJvd3M6IDEwLFxuICAgIHRvdGFsUmVjb3JkczogMCxcbiAgfTtcblxuICBcblxuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBnZW5lcmFsU2VydmljZTogR2VuZXJhbFNlcnZpY2UsIHByaXZhdGUgY2FyZ2FyTWFwYXM6IGNhcmdhcm1hcGFzR2xvYmFsLCBwcml2YXRlIG5vdGlmaWNhY2lvbkJ1c1NlcnZpY2U6IFRvYXN0U2VydmljZSwgcHJpdmF0ZSBnZW5lcmFsUGlwZTogR2VuZXJhbFBpcGUsXG4gICAgcHVibGljIHV0aWxzU2VydmljZTogVXRpbHNTZXJ2aWNlLHByaXZhdGUgbm90aWZpY2FjaW9uZXNCdXNTZXJ2aWNlOiBUb2FzdFNlcnZpY2UscHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlKSB7IH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2FyZ2FyTGlzdGFzKCk7XG4gIH1cblxuICBhc3luYyBjYXJnYXJMaXN0YXMoKSB7XG4gICAgdGhpcy5saXN0YVB1bnRvc1Byb2Nlc28gPSBhd2FpdCB0aGlzLmNhcmdhck1hcGFzLmNhcmdhclNlbGVjdEl0ZW1TdHJpbmcoJ2xsYXZlVGFibGEnLCAnZGVzY3JpcGNpb24nLCBuZXcgR2VuZXJhbE1vZGVsKCdQdW50b1Byb2Nlc29EVE8nLCBudWxsLCBmYWxzZSwgbmV3IFB1bnRvUHJvY2Vzb01vZGVsKSk7XG4gIH1cblxuICBhc3luYyBsb2FkQ3J1Y2UoKSB7XG4gICAgdGhpcy5saXN0YUNydWNlID0gYXdhaXQgdGhpcy5nZW5lcmFsU2VydmljZS5xdWVyeUZvckxpc3QobmV3IEdlbmVyYWxNb2RlbCgnQ3J1Y2VSZWN1cnNvUHVudG9EVE8nLCAnQ3J1Y2VSZWN1cnNvUHVudG8uY29uc3VsdGFyQ3J1Y2VQb3JSZWN1cnNvJywgZmFsc2UsIHtyZWN1cnNvUHVudG86IHRoaXMucmVjdXJzb1B1bnRvRFRPLmxsYXZlVGFibGF9KSkudG9Qcm9taXNlKCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgdmVyKHJlY3Vyc29QdW50b0RUTzogUmVjdXJzb1B1bnRvTW9kZWwsIGxsYXZlOiBhbnksIG51ZXZvOiBib29sZWFuLCB0aXBvUmVjdXJzbykge1xuICAgICAgYXdhaXQgdGhpcy5uZ09uSW5pdCgpO1xuICAgICAgdGhpcy5tb3N0cmFyUG9wdXAgPSB0cnVlO1xuICAgICAgdGhpcy5sbGF2ZSA9IGxsYXZlO1xuICAgICAgdGhpcy50aXBvUmVjdXJzbyA9IHRpcG9SZWN1cnNvO1xuICAgICAgdGhpcy5udWV2byA9IG51ZXZvO1xuICAgICAgdGhpcy5yZWN1cnNvUHVudG9EVE8gPSByZWN1cnNvUHVudG9EVE87XG4gICAgICB0aGlzLmNhcmdhclJlY3Vyc29QdW50bygpO1xuICAgICAgdGhpcy5jYXJnYXJFbnRyYWRhcygpO1xuICAgICAgaWYgKCF0aGlzLm51ZXZvKSB7XG4gICAgICAgIHRoaXMubG9hZENydWNlKCk7XG4gICAgICAgIHRoaXMuY2FyZ2FyQXRyaWJ1dG9zKHJlY3Vyc29QdW50b0RUTy5wdW50b1Byb2Nlc28pO1xuICAgICAgfVxuICB9XG5cbiAgZWxpbWluYXIoZXZlbnQpe1xuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgIHRhcmdldDogZXZlbnQudGFyZ2V0LFxuICAgICAgbWVzc2FnZTogdGhpcy5nZW5lcmFsUGlwZS5NRU5TQUpFX0VMSU1JTkFSX0NPTkZJUk1BUixcbiAgICAgIGFjY2VwdExhYmVsOidTaScsXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRSZXNwdWVzdGEoKTtcbiAgICAgIH0sXG4gICAgICByZWplY3Q6ICgpID0+IHtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNldFJlc3B1ZXN0YSgpe1xuICAgIGlmKHRoaXMudmFsaWRhckVsaW1pbmFjaW9uKCkpe1xuICAgIGF3YWl0IHRoaXMuZ2VuZXJhbFNlcnZpY2UuZGVsZXRlKG5ldyBHZW5lcmFsTW9kZWwoJ1JlY3Vyc29QdW50b0RUTycsbnVsbCwgZmFsc2UsIHtsbGF2ZVRhYmxhOiB0aGlzLnJlY3Vyc29QdW50b0RUTy5sbGF2ZVRhYmxhfSkpLnRvUHJvbWlzZSgpO1xuICAgIHRoaXMubm90aWZpY2FjaW9uQnVzU2VydmljZS5zaG93SW5mbyh0aGlzLmdlbmVyYWxQaXBlLk1FTlNBSkVfRUxJTUlOQVIpO1xuICAgIHRoaXMub2N1bHRhcigpO1xuICAgIHJldHVyblxuICAgIH1lbHNlIHtcbiAgICAgIHRoaXMubm90aWZpY2FjaW9uZXNCdXNTZXJ2aWNlLnNob3dXYXJuaW5nKCdEZWJlIGVsaW1pbmFyIGxvcyBjcnVjZXMgcHJpbWVybycpO1xuICAgIH1cbiAgfVxuICBhc3luYyB2YWxpZGFyRWxpbWluYWNpb24oKXtcbiAgICBsZXQgdmFsaWRhZG9yID0gIGF3YWl0IHRoaXMuZ2VuZXJhbFNlcnZpY2UuY2FudGlkYWRSZWdpc3Ryb3MobmV3IEdlbmVyYWxNb2RlbCgnQ3J1Y2VSZWN1cnNvUHVudG9EVE8nLCBudWxsLCBmYWxzZSx7cHVudG9Qcm9jZXNvOiB0aGlzLnJlY3Vyc29QdW50b0RUTy5wdW50b1Byb2Nlc28gLCByZXBvcnRlRnVlbnRlOiB0aGlzLnJlY3Vyc29QdW50b0RUTy5yZXBvcnRlRnVlbnRlfSkpLnRvUHJvbWlzZSgpO1xuICAgIHJldHVybiB0cnVlID8gdmFsaWRhZG9yID09IDAgOiBmYWxzZTtcbiAgfVxuXG4gIGFzeW5jIGNhcmdhclJlY3Vyc29QdW50bygpIHtcbiAgICBsZXQgdmVyaWZpY2FyOiBSZWN1cnNvUHVudG9Nb2RlbCA9IG5ldyBSZWN1cnNvUHVudG9Nb2RlbCgpO1xuICAgIGlmICh0aGlzLnRpcG9SZWN1cnNvID09ICdGJykge1xuICAgICAgdmVyaWZpY2FyLmZ1ZW50ZSA9IHRoaXMubGxhdmU7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRpcG9SZWN1cnNvID09ICdSJykge1xuICAgICAgdmVyaWZpY2FyLnJlcG9ydGVGdWVudGUgPSB0aGlzLmxsYXZlO1xuICAgIH1cbiAgICB0aGlzLnJlY3Vyc29zVmFsaWRhciA9IGF3YWl0IHRoaXMuZ2VuZXJhbFNlcnZpY2UucXVlcnlGb3JMaXN0KG5ldyBHZW5lcmFsTW9kZWwoJ1JlY3Vyc29QdW50b0RUTycsIG51bGwsIGZhbHNlLCB2ZXJpZmljYXIpKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGNhcmdhckVudHJhZGFzKCkge1xuICAgIGlmICh0aGlzLnRpcG9SZWN1cnNvID09ICdGJykge1xuICAgICAgdGhpcy5saXN0YUVudHJhZGEgPSBhd2FpdCB0aGlzLmNhcmdhck1hcGFzLmNhcmdhclNlbGVjdEl0ZW1TdHJpbmcoJ2xsYXZlVGFibGEnLCAnZGVzY3JpcGNpb24nLCBuZXcgR2VuZXJhbE1vZGVsKCdGdWVudGVFbnRyYWRhRFRPJywgbnVsbCwgZmFsc2UsIHsgZnVlbnRlOiB0aGlzLmxsYXZlIH0pKVxuICAgIH0gZWxzZSBpZiAodGhpcy50aXBvUmVjdXJzbyA9PSAnUicpIHtcbiAgICAgIHRoaXMubGlzdGFFbnRyYWRhID0gYXdhaXQgdGhpcy5jYXJnYXJNYXBhcy5jYXJnYXJTZWxlY3RJdGVtU3RyaW5nKCdsbGF2ZVRhYmxhJywgJ2Rlc2NyaXBjaW9uJywgbmV3IEdlbmVyYWxNb2RlbCgnRnVlbnRlRW50cmFkYURUTycsIG51bGwsIGZhbHNlLCB7IHJlcG9ydGVGdWVudGU6IHRoaXMubGxhdmUgfSkpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY2FyZ2FyQ3J1Y2UoKSB7XG4gICAgaWYgKHRoaXMucmVjdXJzb1B1bnRvRFRPLmxsYXZlVGFibGEgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNydWNlcyA9IGF3YWl0IHRoaXMuZ2VuZXJhbFNlcnZpY2UucXVlcnlGb3JMaXN0KG5ldyBHZW5lcmFsTW9kZWwoJ0NydWNlUmVjdXJzb1B1bnRvRFRPJywgJ0NydWNlUmVjdXJzb1B1bnRvLmNvbnN1bHRhckNydWNlUG9yUmVjdXJzbycsIHRydWUsIHsgcmVjdXJzb1B1bnRvOiB0aGlzLnJlY3Vyc29QdW50b0RUTy5sbGF2ZVRhYmxhIH0pKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGNhcmdhckF0cmlidXRvcyhwdW50b1Byb2Nlc28pIHtcbiAgICB0aGlzLmxpc3RhZG9BdHJpYnV0b1B1bnRvID0gYXdhaXQgdGhpcy5jYXJnYXJNYXBhcy5jYXJnYXJTZWxlY3RJdGVtU3RyaW5nKCdsbGF2ZVRhYmxhJywgJ2Rlc2NyaXBjaW9uJywgbmV3IEdlbmVyYWxNb2RlbCgnQXRyaWJ1dG9QdW50b0RUTycsIG51bGwsIGZhbHNlLCB7IHB1bnRvUHJvY2VzbzogcHVudG9Qcm9jZXNvIH0pKTtcbiAgICB0aGlzLmxpc3RhQXRyaWJ1dG9QdW50byA9IGF3YWl0IHRoaXMuZ2VuZXJhbFNlcnZpY2UucXVlcnlGb3JMaXN0KG5ldyBHZW5lcmFsTW9kZWwoJ0F0cmlidXRvUHVudG9EVE8nLCBudWxsLCBmYWxzZSwgeyBwdW50b1Byb2Nlc286IHB1bnRvUHJvY2VzbyB9KSkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBndWFyZGFyKCkge1xuICAgICAgaWYgKHRoaXMudmFsaWRhcigpKSB7XG4gICAgICAgIGlmICh0aGlzLm51ZXZvKSB7XG4gICAgICAgICAgaWYgKHRoaXMudGlwb1JlY3Vyc28gPT0gJ0YnKSB7XG4gICAgICAgICAgICB0aGlzLnJlY3Vyc29QdW50b0RUTy5mdWVudGUgPSB0aGlzLmxsYXZlO1xuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50aXBvUmVjdXJzbyA9PSAnUicpIHtcbiAgICAgICAgICAgIHRoaXMucmVjdXJzb1B1bnRvRFRPLnJlcG9ydGVGdWVudGUgPSB0aGlzLmxsYXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLnJlY3Vyc29QdW50b0RUTy50aXBvID0gdGhpcy50aXBvUmVjdXJzbztcbiAgICAgICAgICB0aGlzLnJlY3Vyc29QdW50b0RUTyA9IGF3YWl0IHRoaXMuZ2VuZXJhbFNlcnZpY2UuY3JlYXJSZWdpc3RybyhuZXcgR2VuZXJhbE1vZGVsKCdSZWN1cnNvUHVudG9EVE8nLCBudWxsLCBmYWxzZSwgdGhpcy5yZWN1cnNvUHVudG9EVE8pKS50b1Byb21pc2UoKTtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhY2lvbkJ1c1NlcnZpY2Uuc2hvd0luZm8odGhpcy5nZW5lcmFsUGlwZS5NRU5TQUpFX0dVQVJEQVIpO1xuICAgICAgICAgIHRoaXMuY2FyZ2FyQXRyaWJ1dG9zKHRoaXMucmVjdXJzb1B1bnRvRFRPLnB1bnRvUHJvY2Vzbyk7XG4gICAgICAgICAgdGhpcy5udWV2byA9IGZhbHNlO1xuICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZWN1cnNvUHVudG9EVE8udGlwbyA9IHRoaXMudGlwb1JlY3Vyc29cbiAgICAgICAgaWYgKChhd2FpdCB0aGlzLmdlbmVyYWxTZXJ2aWNlLnVwZGF0ZShuZXcgR2VuZXJhbE1vZGVsKCdSZWN1cnNvUHVudG9EVE8nLCBudWxsLCBmYWxzZSwgdGhpcy5yZWN1cnNvUHVudG9EVE8pKS50b1Byb21pc2UoKSkgPD0gMCkge1xuICAgICAgICAgIHRoaXMubm90aWZpY2FjaW9uQnVzU2VydmljZS5zaG93SW5mbyh0aGlzLmdlbmVyYWxQaXBlLk1FTlNBSkVfQUNUVUFMSVpBUl9OTyk7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jYXJnYXJBdHJpYnV0b3ModGhpcy5yZWN1cnNvUHVudG9EVE8ucHVudG9Qcm9jZXNvKTtcbiAgICAgICAgdGhpcy5ub3RpZmljYWNpb25CdXNTZXJ2aWNlLnNob3dJbmZvKHRoaXMuZ2VuZXJhbFBpcGUuTUVOU0FKRV9BQ1RVQUxJWkFSKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgbnVldm9DcnVjZSgpIHtcbiAgICB0aGlzLnZpc3RhVmlzdWFsaXphciA9ICdudWV2b0NydWNlJ1xuICB9XG4gIGNhbmNlbGFyQ3J1Y2UoKSB7XG4gICAgdGhpcy52aXN0YVZpc3VhbGl6YXIgPSBudWxsO1xuICB9XG5cbiAgYXN5bmMgYWdyZWdhckNydWNlKGNydWNlPywgbnVldm8/KSB7XG4gICAgICBpZiAobnVldm8pIHtcbiAgICAgICAgaWYgKCF0aGlzLnZhbGlkYXJDcnVjZSgpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3J1Y2VSZWN1cnNvUHVudG8ucmVjdXJzb1B1bnRvID0gdGhpcy5yZWN1cnNvUHVudG9EVE8ubGxhdmVUYWJsYTtcbiAgICAgICAgYXdhaXQgdGhpcy5nZW5lcmFsU2VydmljZS5jcmVhclJlZ2lzdHJvKG5ldyBHZW5lcmFsTW9kZWwoJ0NydWNlUmVjdXJzb1B1bnRvRFRPJywgbnVsbCwgZmFsc2UsIHRoaXMuY3J1Y2VSZWN1cnNvUHVudG8pKS50b1Byb21pc2UoKTtcbiAgICAgICAgdGhpcy5jYXJnYXJDcnVjZSgpO1xuICAgICAgICB0aGlzLmxvYWRDcnVjZSgpO1xuICAgICAgICB0aGlzLm5vdGlmaWNhY2lvbkJ1c1NlcnZpY2Uuc2hvd0luZm8odGhpcy5nZW5lcmFsUGlwZS5NRU5TQUpFX0dVQVJEQVIpO1xuICAgICAgICB0aGlzLnZpc3RhVmlzdWFsaXphciA9IG51bGw7XG4gICAgICAgIHRoaXMuY3J1Y2VSZWN1cnNvUHVudG8gPSBuZXcgQ3J1Y2VSZWN1cnNvUHVudG9Nb2RlbCgpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3J1Y2VSZWN1cnNvUHVudG8gPSBjcnVjZVxuICAgICAgICBpZiAoKGF3YWl0IHRoaXMuZ2VuZXJhbFNlcnZpY2UudXBkYXRlKG5ldyBHZW5lcmFsTW9kZWwoJ0NydWNlUmVjdXJzb1B1bnRvRFRPJywgbnVsbCwgZmFsc2UsIHRoaXMuY3J1Y2VSZWN1cnNvUHVudG8pKS50b1Byb21pc2UoKSkgPD0gMCkge1xuICAgICAgICAgIHRoaXMubm90aWZpY2FjaW9uQnVzU2VydmljZS5zaG93V2FybmluZyh0aGlzLmdlbmVyYWxQaXBlLk1FTlNBSkVfQUNUVUFMSVpBUl9OTyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ub3RpZmljYWNpb25CdXNTZXJ2aWNlLnNob3dTdWNjZXNzKHRoaXMuZ2VuZXJhbFBpcGUuTUVOU0FKRV9BQ1RVQUxJWkFSKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gIH1cbiAgXG4gIGVsaW1pbmFyQ3J1Y2UoZXZlbnQsIGNydWNlKXtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICB0YXJnZXQ6IGV2ZW50LnRhcmdldCxcbiAgICAgIG1lc3NhZ2U6IHRoaXMuZ2VuZXJhbFBpcGUuTUVOU0FKRV9FTElNSU5BUl9DT05GSVJNQVIsXG4gICAgICBhY2NlcHRMYWJlbDogJ1NpJyxcbiAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICB0aGlzLnNldEVsaW1pbmFyQ3J1Y2UoY3J1Y2UpO1xuICAgICAgfSxcbiAgICAgIHJlamVjdDogKCkgPT4ge1xuICAgICAgICB0aGlzLm5vdGlmaWNhY2lvbmVzQnVzU2VydmljZS5zaG93SW5mbygnTm8gc2UgZWxpbWlubyBlbCByZWdpc3RybycpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIGFzeW5jIHNldEVsaW1pbmFyQ3J1Y2UoY3J1Y2Upe1xuICAgIGlmICgoYXdhaXQgdGhpcy5nZW5lcmFsU2VydmljZS5kZWxldGUobmV3IEdlbmVyYWxNb2RlbCgnQ3J1Y2VSZWN1cnNvUHVudG9EVE8nLCBudWxsLCBmYWxzZSwgY3J1Y2UpKS50b1Byb21pc2UoKSkgPD0gMCkge1xuICAgICAgdGhpcy5ub3RpZmljYWNpb25lc0J1c1NlcnZpY2Uuc2hvd1dhcm5pbmcodGhpcy5nZW5lcmFsUGlwZS5NRU5TQUpFX0VMSU1JTkFSX05PKTtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICB0aGlzLm5vdGlmaWNhY2lvbmVzQnVzU2VydmljZS5zaG93SW5mbyh0aGlzLmdlbmVyYWxQaXBlLk1FTlNBSkVfRUxJTUlOQVIpO1xuICAgIHRoaXMubG9hZENydWNlKCk7XG4gIH1cblxuICB2YWxpZGFyKCkge1xuICAgIGxldCB2YWxpZGFyID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5yZWN1cnNvc1ZhbGlkYXIgPT0gbnVsbCB8fCB0aGlzLnJlY3Vyc29zVmFsaWRhci5sZW5ndGggPD0gMCkge1xuICAgICAgcmV0dXJuIHZhbGlkYXI7XG4gICAgfVxuICAgIHRoaXMucmVjdXJzb3NWYWxpZGFyLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICBpZiAoKGVsZW1lbnQubGxhdmVUYWJsYSAhPSB0aGlzLnJlY3Vyc29QdW50b0RUTy5sbGF2ZVRhYmxhKSAmJiBlbGVtZW50LnB1bnRvUHJvY2VzbyA9PSB0aGlzLnJlY3Vyc29QdW50b0RUTy5wdW50b1Byb2Nlc28pIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYWNpb25CdXNTZXJ2aWNlLnNob3dJbmZvKHRoaXMuZ2VuZXJhbFBpcGUuTUVOU0FKRV9QVU5UT19QUk9DRVNPX1JFUEVUSURPKTtcbiAgICAgICAgdmFsaWRhciA9IGZhbHNlXG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHZhbGlkYXI7XG4gIH1cbiAgdmFsaWRhckNydWNlKCkge1xuICAgIGlmKHRoaXMudGlwb1JlY3Vyc28gPT0gbnVsbCl7XG4gICAgICB0aGlzLm5vdGlmaWNhY2lvbkJ1c1NlcnZpY2Uuc2hvd0Vycm9yKCdObyBzZSBlbmN1ZW50cmEgZWwgcmVjdXJzbycpO1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIHRoaXMuY3J1Y2VzLmZvckVhY2goYXN5bmMgZWxlbWVudCA9PiB7XG4gICAgICBpZiAodGhpcy50aXBvUmVjdXJzbyA9PSAnRicgJiYgZWxlbWVudC5mdWVudGVFbnRyYWRhID09IHRoaXMuY3J1Y2VSZWN1cnNvUHVudG8uZnVlbnRlRW50cmFkYSkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhY2lvbkJ1c1NlcnZpY2Uuc2hvd0luZm8odGhpcy5nZW5lcmFsUGlwZS5NRU5TQUpFX1BBUkFNRVRST19SRVBFVElETyk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubm90aWZpY2FjaW9uQnVzU2VydmljZS5zaG93SW5mbyh0aGlzLmdlbmVyYWxQaXBlLk1FTlNBSkVfUEFSQU1FVFJPX1JFUEVUSURPKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cblxuXG4gIHB1YmxpYyBvY3VsdGFyKCkge1xuICAgIHRoaXMubW9zdHJhclBvcHVwID0gZmFsc2U7XG4gICAgdGhpcy5yZWdyZXNhci5lbWl0KCk7XG4gIH1cblxufVxuIiwiPHAtY29uZmlybVBvcHVwPjwvcC1jb25maXJtUG9wdXA+XG48cC1kaWFsb2cgaWQ9J3BvcHVwUmVJbXByaW1pclJlZ3Jlc2lvbicgaGVhZGVyPVwie3sncmVjdXJzbycgfCB0cmFuc2xhdGV9fVwiIFsodmlzaWJsZSldPVwibW9zdHJhclBvcHVwXCJcbiAgICBbYnJlYWtwb2ludHNdPVwieyc5NjBweCc6ICc3NXZ3JywgJzY0MHB4JzogJzEwMHZ3J31cIiBbc3R5bGVdPVwie3dpZHRoOiAnNTB2dyd9XCIgKG9uSGlkZSk9XCJvY3VsdGFyKClcIiBbbW9kYWxdPVwidHJ1ZVwiPlxuICAgIDxwLWFjY29yZGlvbiBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgICA8cC1hY2NvcmRpb25UYWIgW3NlbGVjdGVkXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy1ub3Rlcy0yXCI+PC9pPnt7J3B1bnRvJyB8IHRyYW5zbGF0ZSB9fSB7eydwcm9jZXNvJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtMTIgbGc6Y29sLTEyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIGdyaWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgbWQ6Y29sLTEyIGxnOmNvbC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cImxpc3RhUHVudG9zUHJvY2Vzb1wiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9aSW5kZXhdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cImxhYmVsXCIgb3B0aW9uVmFsdWU9XCJrZXlcIiBbKG5nTW9kZWwpXT1cInJlY3Vyc29QdW50b0RUTy5wdW50b1Byb2Nlc29cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3AtZHJvcGRvd24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtY2VudGVyIG10LTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIGxhYmVsPVwie3snbGlua19ndWFyZGFyJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLWVsZW1lbnQgcC1yaXBwbGUgbWwtMiBwLWJ1dHRvbi1yYWlzZWQgcC1idXR0b24gcC1jb21wb25lbnRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImd1YXJkYXIoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJudWV2b1wiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29ucyBnbHlwaGljb25zLWZsb3BweS1zYXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bztcIj48L3NwYW4+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSBsYWJlbD1cInt7J2xpbmtfYWN0dWFsaXphcicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLTIgcC1idXR0b24tcmFpc2VkXCIgKm5nSWY9XCIhbnVldm9cIiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ3VhcmRhcigpXCI+PHNwYW4gY2xhc3M9XCJnbHlwaGljb25zIGdseXBoaWNvbnMtcmVmcmVzaFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IGF1dG87XCI+PC9zcGFuPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIGxhYmVsPVwie3snbGlua19lbGltaW5hcicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1idXR0b24tb3V0bGluZWQgbWwtMiBtci0ycC1lbGVtZW50IHAtYnV0dG9uIHAtY29tcG9uZW50IGVsaW1pbmFyXCIgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhbnVldm9cIiAoY2xpY2spPVwiZWxpbWluYXIoJGV2ZW50KVwiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29ucyBnbHlwaGljb25zLWJpblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IGF1dG87XCI+PC9zcGFuPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvcC1hY2NvcmRpb25UYWI+XG4gICAgICAgIDxwLWFjY29yZGlvblRhYiAqbmdJZj1cIiFudWV2b1wiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZ2x5cGhpY29ucyBnbHlwaGljb25zLW5vdGVzLTJcIj48L2k+e3snY3J1Y2UnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWNlbnRlciBtYi0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gcEJ1dHRvbiBsYWJlbD1cInt7J2xpbmtfbnVldm8nIHwgdHJhbnNsYXRlfX1cIiAoY2xpY2spPVwibnVldm9DcnVjZSgpXCIgaWNvbj1cInBpIHBpLXBsdXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLXJpcHBsZSBwLWVsZW1lbnQgcC1idXR0b24gcC1jb21wb25lbnQgcC1idXR0b24tc2Vjb25kYXJ5IG1iLTJcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8cC10YWJsZSBpZD1cInRhYmxhX2xpc3RhX3RpcG9fZW50aWRhZFwiIFt2YWx1ZV09XCJsaXN0YUNydWNlXCIgW3Njcm9sbGFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgc2Nyb2xsRGlyZWN0aW9uPVwiYm90aFwiIHNjcm9sbERpcmVjdGlvbj1cImhvcml6b250YWxcIiByZXNwb25zaXZlTGF5b3V0PVwic2Nyb2xsXCJcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsRGlyZWN0aW9uPVwiaG9yaXpvbnRhbFwiIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkXCIgW3Nob3dDdXJyZW50UGFnZVJlcG9ydF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgZWRpdE1vZGU9XCJyb3dcIiBkYXRhS2V5PVwibGxhdmVUYWJsYVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7J2VudHJhZGEnIHwgdHJhbnNsYXRlfX08L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD57eyd2YWxvcicgfCB0cmFuc2xhdGV9fTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPiA8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cIiBUYWJsYU51ZXZvUmVnaXN0cm9cIiAqbmdJZj1cInZpc3RhVmlzdWFsaXphciA9PT0gJ251ZXZvQ3J1Y2UnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBjbGFzcz1cInctZnVsbFwiIFtvcHRpb25zXT1cImxpc3RhRW50cmFkYVwiIG9wdGlvblZhbHVlPVwia2V5XCIgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9aSW5kZXhdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBvcHRpb25MYWJlbD1cImxhYmVsXCIgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjcnVjZVJlY3Vyc29QdW50by5mdWVudGVFbnRyYWRhXCI+PC9wLWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biAgY2xhc3M9XCJ3LWZ1bGxcIiBbb3B0aW9uc109XCJsaXN0YWRvQXRyaWJ1dG9QdW50b1wiIG9wdGlvblZhbHVlPVwia2V5XCIgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9aSW5kZXhdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBvcHRpb25MYWJlbD1cImxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY3J1Y2VSZWN1cnNvUHVudG8uYXRyaWJ1dG9QdW50b1wiIGNsYXNzPVwidy1mdWxsXCI+PC9wLWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSB0eXBlPVwiYnV0dG9uXCIgaWNvbj1cInBpIHBpLWNoZWNrXCIgKGNsaWNrKT1cImFncmVnYXJDcnVjZShudWxsLHRydWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1lbGVtZW50IHAtcmlwcGxlIHAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tc3VjY2VzcyBtci0yIG1iLTIgcC1idXR0b24gcC1jb21wb25lbnQgcC1idXR0b24taWNvbi1vbmx5XCI+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2FuY2VsYXJDcnVjZSgpXCIgaWNvbj1cInBpIHBpLXRpbWVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1lbGVtZW50IHAtcmlwcGxlIHAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tZGFuZ2VyIG1yLTIgbWItMiBwLWJ1dHRvbiBwLWNvbXBvbmVudCBwLWJ1dHRvbi1pY29uLW9ubHlcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1jcnVjZSBsZXQtZWRpdGluZz1cImVkaXRpbmdcIiBsZXQtcmk9XCJyb3dJbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyIFtwRWRpdGFibGVSb3ddPVwiY3J1Y2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ3LTZyZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtY2VsbEVkaXRvcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJpbnB1dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cImxpc3RhRW50cmFkYVwiIG9wdGlvblZhbHVlPVwia2V5XCIgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9aSW5kZXhdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIG9wdGlvbkxhYmVsPVwibGFiZWxcIiBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY3J1Y2UucmVwb3J0ZUVudHJhZGFcIj48L3AtZHJvcGRvd24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cIm91dHB1dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Y3J1Y2UuZGVzY3JpcGNpb25FbnRyYWRhfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1jZWxsRWRpdG9yPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidy02cmVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWNlbGxFZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaW5wdXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJsaXN0YWRvQXRyaWJ1dG9QdW50b1wiIG9wdGlvblZhbHVlPVwia2V5XCIgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9aSW5kZXhdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIG9wdGlvbkxhYmVsPVwibGFiZWxcIiBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY3J1Y2UuYXRyaWJ1dG9QdW50b1wiPjwvcC1kcm9wZG93bj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwib3V0cHV0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tjcnVjZS5hdHJpYnV0b1B1bnRvRGVzY3JpcGNpb259fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wLWNlbGxFZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ3LTZyZW0ganVzdGlmeS1jb250ZW50LWVuZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDSEVDSyBHVUFSREFSIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImVkaXRpbmdcIiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIHBTYXZlRWRpdGFibGVSb3dcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktY2hlY2tcIiAoY2xpY2spPVwiYWdyZWdhckNydWNlKGNydWNlLCBmYWxzZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1lbGVtZW50IHAtcmlwcGxlIHAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tc3VjY2VzcyBtci0yIG1iLTIgcC1idXR0b24gcC1jb21wb25lbnQgcC1idXR0b24taWNvbi1vbmx5XCI+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENBTkNFTEFSIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImVkaXRpbmdcIiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIHBDYW5jZWxFZGl0YWJsZVJvd1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJwaSBwaS10aW1lc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLWVsZW1lbnQgcC1yaXBwbGUgcC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1kYW5nZXIgbXItMiBtYi0yIHAtYnV0dG9uIHAtY29tcG9uZW50IHAtYnV0dG9uLWljb24tb25seVwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBFRElUQVIgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWVkaXRpbmdcIiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIHBJbml0RWRpdGFibGVSb3dcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiZ2x5cGhpY29ucyBnbHlwaGljb25zLXBlbmNpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLWVsZW1lbnQgcC1yaXBwbGUgcC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1zZWNvbmRhcnkgbXItMiBtYi0yIHAtYnV0dG9uIHAtY29tcG9uZW50IHAtYnV0dG9uLWljb24tb25seVwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBFTElNSU5BUiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhZWRpdGluZ1wiIHBCdXR0b24gcFJpcHBsZSB0eXBlPVwiYnV0dG9uXCIgcERlbGV0ZUVkaXRhYmxlUm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLXRyYXNoXCIgKGNsaWNrKT1cImVsaW1pbmFyQ3J1Y2UoJGV2ZW50LGNydWNlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLWVsZW1lbnQgcC1yaXBwbGUgcC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1vdXRsaW5lZCBtci0yIG1iLTIgcC1idXR0b24gcC1jb21wb25lbnQgcC1idXR0b24taWNvbi1vbmx5XCI+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZW1wdHltZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJwLTMgZm9udC1tZWRpdW0gZW1wdHltZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCI1XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J21lbnNhamV0YWJsYXZhY2lhJyB8IHRyYW5zbGF0ZX19IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvcC10YWJsZT5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvcC1hY2NvcmRpb25UYWI+XG4gICAgICAgIDxwLWFjY29yZGlvblRhYiAqbmdJZj1cIiFudWV2b1wiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZ2x5cGhpY29ucyBnbHlwaGljb25zLW5vdGVzLTJcIj48L2k+e3snZmlsdHJvJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCI+XG5cbiAgICAgICAgICAgICAgICA8cC10YWJsZSAgW3ZhbHVlXT1cImxpc3RhQXRyaWJ1dG9QdW50b1wiIHJlc3BvbnNpdmVMYXlvdXQ9XCJzY3JvbGxcIiBbc2Nyb2xsYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsRGlyZWN0aW9uPVwiaG9yaXpvbnRhbFwiIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkXCIgPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidy02cmVtXCI+e3snZGVzY3JpcGNpb24nIHwgdHJhbnNsYXRlfX08L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInctNnJlbVwiPnt7J2NvZGlnbycgfCB0cmFuc2xhdGV9fTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInctNnJlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2VsZW1lbnQuZGVzY3JpcGNpb259fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidy02cmVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZWxlbWVudC5jb2RpZ299fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZW1wdHltZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJwLTMgZm9udC1tZWRpdW0gZW1wdHltZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCI1XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J21lbnNhamV0YWJsYXZhY2lhJyB8IHRyYW5zbGF0ZX19IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvcC10YWJsZT5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgbWQ6Y29sLTEyIGxnOmNvbC0xMlwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvbnQtbWVkaXVtIHctZnVsbFwiIGZvcj1cImRlc2NyaXBjaW9uXCI+e3snZmlsdHJvJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cInctZnVsbFwiIGlkPVwiZmxvYXQtaW5wdXRcIiByb3dzPVwiNVwiIGNvbHM9XCIzMFwiIHBJbnB1dFRleHRhcmVhXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInJlY3Vyc29QdW50b0RUTy5maWx0cm9cIiBhdXRvZm9jdXMgW2F1dG9SZXNpemVdPVwidHJ1ZVwiPiA8L3RleHRhcmVhPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1jb250ZW50LWNlbnRlciBtdC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIGNsYXNzPVwibWwtMiBwLWJ1dHRvbi1yYWlzZWRcIiAoY2xpY2spPVwiZ3VhcmRhcigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJnbHlwaGljb25zIGdseXBoaWNvbnMtcmVmcmVzaFwiIGxhYmVsPVwiQWN0dWFsaXphclwiID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvcC1hY2NvcmRpb25UYWI+XG4gICAgPC9wLWFjY29yZGlvbj5cbjwvcC1kaWFsb2c+XG4iXX0=
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtcmVjdXJzby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3dlYmNvbW1vbi9wb3B1cHMvcG9wdXAtcmVjdXJzby9wb3B1cC1yZWN1cnNvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvd2ViY29tbW9uL3BvcHVwcy9wb3B1cC1yZWN1cnNvL3BvcHVwLXJlY3Vyc28uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdkUsT0FBTyxFQUF1QixjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDekYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFHL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFn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QVcsaW5CQUFFLFdBQVcsaTRFQUFFLG1CQUFtQjs7MkZBTTVKLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDRSxtQkFBbUIsV0FDcEIsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixDQUFDLGNBQzFKLElBQUksYUFDTCxDQUFDLGNBQWMsQ0FBQztnUUFNWixRQUFRO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2VuZXJhbFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9nZW5lcmFsLnBpcGUnO1xuaW1wb3J0IHsgY2FyZ2FybWFwYXNHbG9iYWwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljaW9zL2Nhcmdhci1tYXBhcy5zZXJ2aWNlJztcbmltcG9ydCB7IEdlbmVyYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3NlcnZpY2lvcy9nZW5lcmFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VuZXJhbE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvR2VuZXJhbE1vZGVsJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtBdHJpYnV0b1B1bnRvTW9kZWx9IGZyb20gJy4uLy4uLy4uL3NlZ3VyaWRhZC9tb2RlbG9zL0F0cmlidXRvUHVudG9Nb2RlbCc7XG5pbXBvcnQge0NydWNlUmVjdXJzb1B1bnRvTW9kZWx9IGZyb20gJy4uLy4uLy4uL3NlZ3VyaWRhZC9tb2RlbG9zL0NydWNlUmVjdXJzb1B1bnRvTW9kZWwnO1xuaW1wb3J0IHtQdW50b1Byb2Nlc29Nb2RlbH0gZnJvbSAnLi4vLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvUHVudG9Qcm9jZXNvTW9kZWwnO1xuaW1wb3J0IHtSZWN1cnNvUHVudG9Nb2RlbH0gZnJvbSAnLi4vLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvUmVjdXJzb1B1bnRvTW9kZWwnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNpb3MvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2lvcy91dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZGlhbG9nJztcbmltcG9ydCB7IENvbmZpcm1Qb3B1cE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29uZmlybXBvcHVwJztcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQgeyBBY2NvcmRpb25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2FjY29yZGlvbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQgeyBJbnB1dFRleHRhcmVhTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHRhcmVhJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXBvcHVwLXJlY3Vyc28nLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlLCBDb21tb25Nb2R1bGUsIERpYWxvZ01vZHVsZSwgQ29uZmlybVBvcHVwTW9kdWxlLCBEcm9wZG93bk1vZHVsZSwgQnV0dG9uTW9kdWxlLCBBY2NvcmRpb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBUYWJsZU1vZHVsZSwgSW5wdXRUZXh0YXJlYU1vZHVsZV0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtNZXNzYWdlU2VydmljZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BvcHVwLXJlY3Vyc28uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wb3B1cC1yZWN1cnNvLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUG9wdXBSZWN1cnNvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAT3V0cHV0KCkgcHVibGljIHJlZ3Jlc2FyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHJlY3Vyc29QdW50b0RUTzogUmVjdXJzb1B1bnRvTW9kZWwgPSBuZXcgUmVjdXJzb1B1bnRvTW9kZWw7XG4gIGxsYXZlOiBhbnk7XG4gIGRlc3Rpbm86IFN0cmluZztcbiAgdGlwb1JlY3Vyc287XG4gIG51ZXZvOiBib29sZWFuO1xuICBtb3N0cmFyUG9wdXA6IGJvb2xlYW47XG4gIHJlY3Vyc29zVmFsaWRhcjogUmVjdXJzb1B1bnRvTW9kZWxbXSA9IFtdO1xuICBjcnVjZXM6IENydWNlUmVjdXJzb1B1bnRvTW9kZWxbXSA9IFtdO1xuICBsaXN0YUVudHJhZGE6IGFueVtdID0gW107XG4gIGxpc3RhUHVudG9zUHJvY2VzbzogYW55W10gPSBbXTtcbiAgbGlzdGFBdHJpYnV0b1B1bnRvOiBBdHJpYnV0b1B1bnRvTW9kZWxbXSA9IFtdO1xuICBsaXN0YWRvQXRyaWJ1dG9QdW50bzogYW55W10gPSBbXTtcbiAgbGlzdGFDcnVjZTogQ3J1Y2VSZWN1cnNvUHVudG9Nb2RlbFtdID0gW107XG4gIGNydWNlUmVjdXJzb1B1bnRvOiBDcnVjZVJlY3Vyc29QdW50b01vZGVsID0gbmV3IENydWNlUmVjdXJzb1B1bnRvTW9kZWwoKTtcbiAgdmlzdGFWaXN1YWxpemFyOiBTdHJpbmc7XG4gIHBhZ2luYXRvckNydWNlID0ge1xuICAgIHJvd3M6IDEwLFxuICAgIHRvdGFsUmVjb3JkczogMCxcbiAgfTtcblxuICBcblxuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBnZW5lcmFsU2VydmljZTogR2VuZXJhbFNlcnZpY2UsIHByaXZhdGUgY2FyZ2FyTWFwYXM6IGNhcmdhcm1hcGFzR2xvYmFsLCBwcml2YXRlIG5vdGlmaWNhY2lvbkJ1c1NlcnZpY2U6IFRvYXN0U2VydmljZSwgcHJpdmF0ZSBnZW5lcmFsUGlwZTogR2VuZXJhbFBpcGUsXG4gICAgcHVibGljIHV0aWxzU2VydmljZTogVXRpbHNTZXJ2aWNlLHByaXZhdGUgbm90aWZpY2FjaW9uZXNCdXNTZXJ2aWNlOiBUb2FzdFNlcnZpY2UscHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlKSB7IH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2FyZ2FyTGlzdGFzKCk7XG4gIH1cblxuICBhc3luYyBjYXJnYXJMaXN0YXMoKSB7XG4gICAgdGhpcy5saXN0YVB1bnRvc1Byb2Nlc28gPSBhd2FpdCB0aGlzLmNhcmdhck1hcGFzLmNhcmdhclNlbGVjdEl0ZW1TdHJpbmcoJ2xsYXZlVGFibGEnLCAnZGVzY3JpcGNpb24nLCBuZXcgR2VuZXJhbE1vZGVsKCdQdW50b1Byb2Nlc29EVE8nLCBudWxsLCBmYWxzZSwgbmV3IFB1bnRvUHJvY2Vzb01vZGVsKSk7XG4gIH1cblxuICBhc3luYyBsb2FkQ3J1Y2UoKSB7XG4gICAgdGhpcy5saXN0YUNydWNlID0gYXdhaXQgdGhpcy5nZW5lcmFsU2VydmljZS5xdWVyeUZvckxpc3QobmV3IEdlbmVyYWxNb2RlbCgnQ3J1Y2VSZWN1cnNvUHVudG9EVE8nLCAnQ3J1Y2VSZWN1cnNvUHVudG8uY29uc3VsdGFyQ3J1Y2VQb3JSZWN1cnNvJywgZmFsc2UsIHtyZWN1cnNvUHVudG86IHRoaXMucmVjdXJzb1B1bnRvRFRPLmxsYXZlVGFibGF9KSkudG9Qcm9taXNlKCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgdmVyKHJlY3Vyc29QdW50b0RUTzogUmVjdXJzb1B1bnRvTW9kZWwsIGxsYXZlOiBhbnksIG51ZXZvOiBib29sZWFuLCB0aXBvUmVjdXJzbykge1xuICAgICAgYXdhaXQgdGhpcy5uZ09uSW5pdCgpO1xuICAgICAgdGhpcy5tb3N0cmFyUG9wdXAgPSB0cnVlO1xuICAgICAgdGhpcy5sbGF2ZSA9IGxsYXZlO1xuICAgICAgdGhpcy50aXBvUmVjdXJzbyA9IHRpcG9SZWN1cnNvO1xuICAgICAgdGhpcy5udWV2byA9IG51ZXZvO1xuICAgICAgdGhpcy5yZWN1cnNvUHVudG9EVE8gPSByZWN1cnNvUHVudG9EVE87XG4gICAgICB0aGlzLmNhcmdhclJlY3Vyc29QdW50bygpO1xuICAgICAgdGhpcy5jYXJnYXJFbnRyYWRhcygpO1xuICAgICAgaWYgKCF0aGlzLm51ZXZvKSB7XG4gICAgICAgIHRoaXMubG9hZENydWNlKCk7XG4gICAgICAgIHRoaXMuY2FyZ2FyQXRyaWJ1dG9zKHJlY3Vyc29QdW50b0RUTy5wdW50b1Byb2Nlc28pO1xuICAgICAgfVxuICB9XG5cbiAgZWxpbWluYXIoZXZlbnQpe1xuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgIHRhcmdldDogZXZlbnQudGFyZ2V0LFxuICAgICAgbWVzc2FnZTogdGhpcy5nZW5lcmFsUGlwZS5NRU5TQUpFX0VMSU1JTkFSX0NPTkZJUk1BUixcbiAgICAgIGFjY2VwdExhYmVsOidTaScsXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRSZXNwdWVzdGEoKTtcbiAgICAgIH0sXG4gICAgICByZWplY3Q6ICgpID0+IHtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNldFJlc3B1ZXN0YSgpe1xuICAgIGlmKHRoaXMudmFsaWRhckVsaW1pbmFjaW9uKCkpe1xuICAgIGF3YWl0IHRoaXMuZ2VuZXJhbFNlcnZpY2UuZGVsZXRlKG5ldyBHZW5lcmFsTW9kZWwoJ1JlY3Vyc29QdW50b0RUTycsbnVsbCwgZmFsc2UsIHtsbGF2ZVRhYmxhOiB0aGlzLnJlY3Vyc29QdW50b0RUTy5sbGF2ZVRhYmxhfSkpLnRvUHJvbWlzZSgpO1xuICAgIHRoaXMubm90aWZpY2FjaW9uQnVzU2VydmljZS5zaG93SW5mbyh0aGlzLmdlbmVyYWxQaXBlLk1FTlNBSkVfRUxJTUlOQVIpO1xuICAgIHRoaXMub2N1bHRhcigpO1xuICAgIHJldHVyblxuICAgIH1lbHNlIHtcbiAgICAgIHRoaXMubm90aWZpY2FjaW9uZXNCdXNTZXJ2aWNlLnNob3dXYXJuaW5nKCdEZWJlIGVsaW1pbmFyIGxvcyBjcnVjZXMgcHJpbWVybycpO1xuICAgIH1cbiAgfVxuICBhc3luYyB2YWxpZGFyRWxpbWluYWNpb24oKXtcbiAgICBsZXQgdmFsaWRhZG9yID0gIGF3YWl0IHRoaXMuZ2VuZXJhbFNlcnZpY2UuY2FudGlkYWRSZWdpc3Ryb3MobmV3IEdlbmVyYWxNb2RlbCgnQ3J1Y2VSZWN1cnNvUHVudG9EVE8nLCBudWxsLCBmYWxzZSx7cHVudG9Qcm9jZXNvOiB0aGlzLnJlY3Vyc29QdW50b0RUTy5wdW50b1Byb2Nlc28gLCByZXBvcnRlRnVlbnRlOiB0aGlzLnJlY3Vyc29QdW50b0RUTy5yZXBvcnRlRnVlbnRlfSkpLnRvUHJvbWlzZSgpO1xuICAgIHJldHVybiB0cnVlID8gdmFsaWRhZG9yID09IDAgOiBmYWxzZTtcbiAgfVxuXG4gIGFzeW5jIGNhcmdhclJlY3Vyc29QdW50bygpIHtcbiAgICBsZXQgdmVyaWZpY2FyOiBSZWN1cnNvUHVudG9Nb2RlbCA9IG5ldyBSZWN1cnNvUHVudG9Nb2RlbCgpO1xuICAgIGlmICh0aGlzLnRpcG9SZWN1cnNvID09ICdGJykge1xuICAgICAgdmVyaWZpY2FyLmZ1ZW50ZSA9IHRoaXMubGxhdmU7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRpcG9SZWN1cnNvID09ICdSJykge1xuICAgICAgdmVyaWZpY2FyLnJlcG9ydGVGdWVudGUgPSB0aGlzLmxsYXZlO1xuICAgIH1cbiAgICB0aGlzLnJlY3Vyc29zVmFsaWRhciA9IGF3YWl0IHRoaXMuZ2VuZXJhbFNlcnZpY2UucXVlcnlGb3JMaXN0KG5ldyBHZW5lcmFsTW9kZWwoJ1JlY3Vyc29QdW50b0RUTycsIG51bGwsIGZhbHNlLCB2ZXJpZmljYXIpKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGNhcmdhckVudHJhZGFzKCkge1xuICAgIGlmICh0aGlzLnRpcG9SZWN1cnNvID09ICdGJykge1xuICAgICAgdGhpcy5saXN0YUVudHJhZGEgPSBhd2FpdCB0aGlzLmNhcmdhck1hcGFzLmNhcmdhclNlbGVjdEl0ZW1TdHJpbmcoJ2xsYXZlVGFibGEnLCAnZGVzY3JpcGNpb24nLCBuZXcgR2VuZXJhbE1vZGVsKCdGdWVudGVFbnRyYWRhRFRPJywgbnVsbCwgZmFsc2UsIHsgZnVlbnRlOiB0aGlzLmxsYXZlIH0pKVxuICAgIH0gZWxzZSBpZiAodGhpcy50aXBvUmVjdXJzbyA9PSAnUicpIHtcbiAgICAgIHRoaXMubGlzdGFFbnRyYWRhID0gYXdhaXQgdGhpcy5jYXJnYXJNYXBhcy5jYXJnYXJTZWxlY3RJdGVtU3RyaW5nKCdsbGF2ZVRhYmxhJywgJ2Rlc2NyaXBjaW9uJywgbmV3IEdlbmVyYWxNb2RlbCgnRnVlbnRlRW50cmFkYURUTycsIG51bGwsIGZhbHNlLCB7IHJlcG9ydGVGdWVudGU6IHRoaXMubGxhdmUgfSkpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY2FyZ2FyQ3J1Y2UoKSB7XG4gICAgaWYgKHRoaXMucmVjdXJzb1B1bnRvRFRPLmxsYXZlVGFibGEgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNydWNlcyA9IGF3YWl0IHRoaXMuZ2VuZXJhbFNlcnZpY2UucXVlcnlGb3JMaXN0KG5ldyBHZW5lcmFsTW9kZWwoJ0NydWNlUmVjdXJzb1B1bnRvRFRPJywgJ0NydWNlUmVjdXJzb1B1bnRvLmNvbnN1bHRhckNydWNlUG9yUmVjdXJzbycsIHRydWUsIHsgcmVjdXJzb1B1bnRvOiB0aGlzLnJlY3Vyc29QdW50b0RUTy5sbGF2ZVRhYmxhIH0pKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGNhcmdhckF0cmlidXRvcyhwdW50b1Byb2Nlc28pIHtcbiAgICB0aGlzLmxpc3RhZG9BdHJpYnV0b1B1bnRvID0gYXdhaXQgdGhpcy5jYXJnYXJNYXBhcy5jYXJnYXJTZWxlY3RJdGVtU3RyaW5nKCdsbGF2ZVRhYmxhJywgJ2Rlc2NyaXBjaW9uJywgbmV3IEdlbmVyYWxNb2RlbCgnQXRyaWJ1dG9QdW50b0RUTycsIG51bGwsIGZhbHNlLCB7IHB1bnRvUHJvY2VzbzogcHVudG9Qcm9jZXNvIH0pKTtcbiAgICB0aGlzLmxpc3RhQXRyaWJ1dG9QdW50byA9IGF3YWl0IHRoaXMuZ2VuZXJhbFNlcnZpY2UucXVlcnlGb3JMaXN0KG5ldyBHZW5lcmFsTW9kZWwoJ0F0cmlidXRvUHVudG9EVE8nLCBudWxsLCBmYWxzZSwgeyBwdW50b1Byb2Nlc286IHB1bnRvUHJvY2VzbyB9KSkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBndWFyZGFyKCkge1xuICAgICAgaWYgKHRoaXMudmFsaWRhcigpKSB7XG4gICAgICAgIGlmICh0aGlzLm51ZXZvKSB7XG4gICAgICAgICAgaWYgKHRoaXMudGlwb1JlY3Vyc28gPT0gJ0YnKSB7XG4gICAgICAgICAgICB0aGlzLnJlY3Vyc29QdW50b0RUTy5mdWVudGUgPSB0aGlzLmxsYXZlO1xuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50aXBvUmVjdXJzbyA9PSAnUicpIHtcbiAgICAgICAgICAgIHRoaXMucmVjdXJzb1B1bnRvRFRPLnJlcG9ydGVGdWVudGUgPSB0aGlzLmxsYXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLnJlY3Vyc29QdW50b0RUTy50aXBvID0gdGhpcy50aXBvUmVjdXJzbztcbiAgICAgICAgICB0aGlzLnJlY3Vyc29QdW50b0RUTyA9IGF3YWl0IHRoaXMuZ2VuZXJhbFNlcnZpY2UuY3JlYXJSZWdpc3RybyhuZXcgR2VuZXJhbE1vZGVsKCdSZWN1cnNvUHVudG9EVE8nLCBudWxsLCBmYWxzZSwgdGhpcy5yZWN1cnNvUHVudG9EVE8pKS50b1Byb21pc2UoKTtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhY2lvbkJ1c1NlcnZpY2Uuc2hvd0luZm8odGhpcy5nZW5lcmFsUGlwZS5NRU5TQUpFX0dVQVJEQVIpO1xuICAgICAgICAgIHRoaXMuY2FyZ2FyQXRyaWJ1dG9zKHRoaXMucmVjdXJzb1B1bnRvRFRPLnB1bnRvUHJvY2Vzbyk7XG4gICAgICAgICAgdGhpcy5udWV2byA9IGZhbHNlO1xuICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZWN1cnNvUHVudG9EVE8udGlwbyA9IHRoaXMudGlwb1JlY3Vyc29cbiAgICAgICAgaWYgKChhd2FpdCB0aGlzLmdlbmVyYWxTZXJ2aWNlLnVwZGF0ZShuZXcgR2VuZXJhbE1vZGVsKCdSZWN1cnNvUHVudG9EVE8nLCBudWxsLCBmYWxzZSwgdGhpcy5yZWN1cnNvUHVudG9EVE8pKS50b1Byb21pc2UoKSkgPD0gMCkge1xuICAgICAgICAgIHRoaXMubm90aWZpY2FjaW9uQnVzU2VydmljZS5zaG93SW5mbyh0aGlzLmdlbmVyYWxQaXBlLk1FTlNBSkVfQUNUVUFMSVpBUl9OTyk7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jYXJnYXJBdHJpYnV0b3ModGhpcy5yZWN1cnNvUHVudG9EVE8ucHVudG9Qcm9jZXNvKTtcbiAgICAgICAgdGhpcy5ub3RpZmljYWNpb25CdXNTZXJ2aWNlLnNob3dJbmZvKHRoaXMuZ2VuZXJhbFBpcGUuTUVOU0FKRV9BQ1RVQUxJWkFSKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgbnVldm9DcnVjZSgpIHtcbiAgICB0aGlzLnZpc3RhVmlzdWFsaXphciA9ICdudWV2b0NydWNlJ1xuICB9XG4gIGNhbmNlbGFyQ3J1Y2UoKSB7XG4gICAgdGhpcy52aXN0YVZpc3VhbGl6YXIgPSBudWxsO1xuICB9XG5cbiAgYXN5bmMgYWdyZWdhckNydWNlKGNydWNlPywgbnVldm8/KSB7XG4gICAgICBpZiAobnVldm8pIHtcbiAgICAgICAgaWYgKCF0aGlzLnZhbGlkYXJDcnVjZSgpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3J1Y2VSZWN1cnNvUHVudG8ucmVjdXJzb1B1bnRvID0gdGhpcy5yZWN1cnNvUHVudG9EVE8ubGxhdmVUYWJsYTtcbiAgICAgICAgdGhpcy5jcnVjZVJlY3Vyc29QdW50byA9IGF3YWl0IHRoaXMuZ2VuZXJhbFNlcnZpY2UuY3JlYXJSZWdpc3RybyhuZXcgR2VuZXJhbE1vZGVsKCdDcnVjZVJlY3Vyc29QdW50b0RUTycsIG51bGwsIGZhbHNlLCB0aGlzLmNydWNlUmVjdXJzb1B1bnRvKSkudG9Qcm9taXNlKCk7XG4gICAgICAgIC8vdGhpcy5saXN0YUNydWNlLnB1c2godGhpcy5jcnVjZVJlY3Vyc29QdW50byk7XG4gICAgICAgIGF3YWl0IHRoaXMuY2FyZ2FyQ3J1Y2UoKTtcbiAgICAgICAgYXdhaXQgdGhpcy5sb2FkQ3J1Y2UoKTtcbiAgICAgICAgdGhpcy5ub3RpZmljYWNpb25CdXNTZXJ2aWNlLnNob3dJbmZvKHRoaXMuZ2VuZXJhbFBpcGUuTUVOU0FKRV9HVUFSREFSKTtcbiAgICAgICAgdGhpcy52aXN0YVZpc3VhbGl6YXIgPSBudWxsO1xuICAgICAgICB0aGlzLmNydWNlUmVjdXJzb1B1bnRvID0gbmV3IENydWNlUmVjdXJzb1B1bnRvTW9kZWwoKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNydWNlUmVjdXJzb1B1bnRvID0gY3J1Y2VcbiAgICAgICAgaWYgKChhd2FpdCB0aGlzLmdlbmVyYWxTZXJ2aWNlLnVwZGF0ZShuZXcgR2VuZXJhbE1vZGVsKCdDcnVjZVJlY3Vyc29QdW50b0RUTycsIG51bGwsIGZhbHNlLCB0aGlzLmNydWNlUmVjdXJzb1B1bnRvKSkudG9Qcm9taXNlKCkpIDw9IDApIHtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhY2lvbkJ1c1NlcnZpY2Uuc2hvd1dhcm5pbmcodGhpcy5nZW5lcmFsUGlwZS5NRU5TQUpFX0FDVFVBTElaQVJfTk8pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubm90aWZpY2FjaW9uQnVzU2VydmljZS5zaG93U3VjY2Vzcyh0aGlzLmdlbmVyYWxQaXBlLk1FTlNBSkVfQUNUVUFMSVpBUik7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICB9XG4gIFxuICBlbGltaW5hckNydWNlKGV2ZW50LCBjcnVjZSl7XG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgdGFyZ2V0OiBldmVudC50YXJnZXQsXG4gICAgICBtZXNzYWdlOiB0aGlzLmdlbmVyYWxQaXBlLk1FTlNBSkVfRUxJTUlOQVJfQ09ORklSTUFSLFxuICAgICAgYWNjZXB0TGFiZWw6ICdTaScsXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRFbGltaW5hckNydWNlKGNydWNlKTtcbiAgICAgIH0sXG4gICAgICByZWplY3Q6ICgpID0+IHtcbiAgICAgICAgdGhpcy5ub3RpZmljYWNpb25lc0J1c1NlcnZpY2Uuc2hvd0luZm8oJ05vIHNlIGVsaW1pbm8gZWwgcmVnaXN0cm8nKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBhc3luYyBzZXRFbGltaW5hckNydWNlKGNydWNlKXtcbiAgICBpZiAoKGF3YWl0IHRoaXMuZ2VuZXJhbFNlcnZpY2UuZGVsZXRlKG5ldyBHZW5lcmFsTW9kZWwoJ0NydWNlUmVjdXJzb1B1bnRvRFRPJywgbnVsbCwgZmFsc2UsIGNydWNlKSkudG9Qcm9taXNlKCkpIDw9IDApIHtcbiAgICAgIHRoaXMubm90aWZpY2FjaW9uZXNCdXNTZXJ2aWNlLnNob3dXYXJuaW5nKHRoaXMuZ2VuZXJhbFBpcGUuTUVOU0FKRV9FTElNSU5BUl9OTyk7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5ub3RpZmljYWNpb25lc0J1c1NlcnZpY2Uuc2hvd0luZm8odGhpcy5nZW5lcmFsUGlwZS5NRU5TQUpFX0VMSU1JTkFSKTtcbiAgICB0aGlzLmxvYWRDcnVjZSgpO1xuICB9XG5cbiAgdmFsaWRhcigpIHtcbiAgICBsZXQgdmFsaWRhciA9IHRydWU7XG4gICAgaWYgKHRoaXMucmVjdXJzb3NWYWxpZGFyID09IG51bGwgfHwgdGhpcy5yZWN1cnNvc1ZhbGlkYXIubGVuZ3RoIDw9IDApIHtcbiAgICAgIHJldHVybiB2YWxpZGFyO1xuICAgIH1cbiAgICB0aGlzLnJlY3Vyc29zVmFsaWRhci5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgaWYgKChlbGVtZW50LmxsYXZlVGFibGEgIT0gdGhpcy5yZWN1cnNvUHVudG9EVE8ubGxhdmVUYWJsYSkgJiYgZWxlbWVudC5wdW50b1Byb2Nlc28gPT0gdGhpcy5yZWN1cnNvUHVudG9EVE8ucHVudG9Qcm9jZXNvKSB7XG4gICAgICAgIHRoaXMubm90aWZpY2FjaW9uQnVzU2VydmljZS5zaG93SW5mbyh0aGlzLmdlbmVyYWxQaXBlLk1FTlNBSkVfUFVOVE9fUFJPQ0VTT19SRVBFVElETyk7XG4gICAgICAgIHZhbGlkYXIgPSBmYWxzZVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB2YWxpZGFyO1xuICB9XG4gIHZhbGlkYXJDcnVjZSgpIHtcbiAgICBpZih0aGlzLnRpcG9SZWN1cnNvID09IG51bGwpe1xuICAgICAgdGhpcy5ub3RpZmljYWNpb25CdXNTZXJ2aWNlLnNob3dFcnJvcignTm8gc2UgZW5jdWVudHJhIGVsIHJlY3Vyc28nKTtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICB0aGlzLmNydWNlcy5mb3JFYWNoKGFzeW5jIGVsZW1lbnQgPT4ge1xuICAgICAgaWYgKHRoaXMudGlwb1JlY3Vyc28gPT0gJ0YnICYmIGVsZW1lbnQuZnVlbnRlRW50cmFkYSA9PSB0aGlzLmNydWNlUmVjdXJzb1B1bnRvLmZ1ZW50ZUVudHJhZGEpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYWNpb25CdXNTZXJ2aWNlLnNob3dJbmZvKHRoaXMuZ2VuZXJhbFBpcGUuTUVOU0FKRV9QQVJBTUVUUk9fUkVQRVRJRE8pO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm5vdGlmaWNhY2lvbkJ1c1NlcnZpY2Uuc2hvd0luZm8odGhpcy5nZW5lcmFsUGlwZS5NRU5TQUpFX1BBUkFNRVRST19SRVBFVElETyk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG5cblxuICBwdWJsaWMgb2N1bHRhcigpIHtcbiAgICB0aGlzLm1vc3RyYXJQb3B1cCA9IGZhbHNlO1xuICAgIHRoaXMucmVncmVzYXIuZW1pdCgpO1xuICB9XG5cbn1cbiIsIjxwLWNvbmZpcm1Qb3B1cD48L3AtY29uZmlybVBvcHVwPlxuPHAtZGlhbG9nIGlkPSdwb3B1cFJlSW1wcmltaXJSZWdyZXNpb24nIGhlYWRlcj1cInt7J3JlY3Vyc28nIHwgdHJhbnNsYXRlfX1cIiBbKHZpc2libGUpXT1cIm1vc3RyYXJQb3B1cFwiXG4gICAgW2JyZWFrcG9pbnRzXT1cInsnOTYwcHgnOiAnNzV2dycsICc2NDBweCc6ICcxMDB2dyd9XCIgW3N0eWxlXT1cInt3aWR0aDogJzUwdncnfVwiIChvbkhpZGUpPVwib2N1bHRhcigpXCIgW21vZGFsXT1cInRydWVcIj5cbiAgICA8cC1hY2NvcmRpb24gY2xhc3M9XCJ3LWZ1bGxcIj5cbiAgICAgICAgPHAtYWNjb3JkaW9uVGFiIFtzZWxlY3RlZF09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJnbHlwaGljb25zIGdseXBoaWNvbnMtbm90ZXMtMlwiPjwvaT57eydwdW50bycgfCB0cmFuc2xhdGUgfX0ge3sncHJvY2VzbycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgbWQ6Y29sLTEyIGxnOmNvbC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBncmlkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY29sLTEyIG1kOmNvbC0xMiBsZzpjb2wtMTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJsaXN0YVB1bnRvc1Byb2Nlc29cIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvWkluZGV4XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJsYWJlbFwiIG9wdGlvblZhbHVlPVwia2V5XCIgWyhuZ01vZGVsKV09XCJyZWN1cnNvUHVudG9EVE8ucHVudG9Qcm9jZXNvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wLWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWNlbnRlciBtdC0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSBsYWJlbD1cInt7J2xpbmtfZ3VhcmRhcicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1lbGVtZW50IHAtcmlwcGxlIG1sLTIgcC1idXR0b24tcmFpc2VkIHAtYnV0dG9uIHAtY29tcG9uZW50XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJndWFyZGFyKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibnVldm9cIj48c3BhbiBjbGFzcz1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy1mbG9wcHktc2F2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IGF1dG87XCI+PC9zcGFuPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgbGFiZWw9XCJ7eydsaW5rX2FjdHVhbGl6YXInIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0yIHAtYnV0dG9uLXJhaXNlZFwiICpuZ0lmPVwiIW51ZXZvXCIgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImd1YXJkYXIoKVwiPjxzcGFuIGNsYXNzPVwiZ2x5cGhpY29ucyBnbHlwaGljb25zLXJlZnJlc2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvO1wiPjwvc3Bhbj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gcEJ1dHRvbiBsYWJlbD1cInt7J2xpbmtfZWxpbWluYXInIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLW91dGxpbmVkIG1sLTIgbXItMnAtZWxlbWVudCBwLWJ1dHRvbiBwLWNvbXBvbmVudCBlbGltaW5hclwiIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIW51ZXZvXCIgKGNsaWNrKT1cImVsaW1pbmFyKCRldmVudClcIj48c3BhbiBjbGFzcz1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy1iaW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvO1wiPjwvc3Bhbj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3AtYWNjb3JkaW9uVGFiPlxuICAgICAgICA8cC1hY2NvcmRpb25UYWIgKm5nSWY9XCIhbnVldm9cIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy1ub3Rlcy0yXCI+PC9pPnt7J2NydWNlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1pdGVtcy1jZW50ZXIgbWItM1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHBCdXR0b24gbGFiZWw9XCJ7eydsaW5rX251ZXZvJyB8IHRyYW5zbGF0ZX19XCIgKGNsaWNrKT1cIm51ZXZvQ3J1Y2UoKVwiIGljb249XCJwaSBwaS1wbHVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1yaXBwbGUgcC1lbGVtZW50IHAtYnV0dG9uIHAtY29tcG9uZW50IHAtYnV0dG9uLXNlY29uZGFyeSBtYi0yXCI+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHAtdGFibGUgaWQ9XCJ0YWJsYV9saXN0YV90aXBvX2VudGlkYWRcIiBbdmFsdWVdPVwibGlzdGFDcnVjZVwiIFtzY3JvbGxhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIHNjcm9sbERpcmVjdGlvbj1cImJvdGhcIiBzY3JvbGxEaXJlY3Rpb249XCJob3Jpem9udGFsXCIgcmVzcG9uc2l2ZUxheW91dD1cInNjcm9sbFwiXG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbERpcmVjdGlvbj1cImhvcml6b250YWxcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZFwiIFtzaG93Q3VycmVudFBhZ2VSZXBvcnRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIGVkaXRNb2RlPVwicm93XCIgZGF0YUtleT1cImxsYXZlVGFibGFcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA0MCU7XCI+e3snZW50cmFkYScgfCB0cmFuc2xhdGV9fTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDQwJTtcIj57eyd2YWxvcicgfCB0cmFuc2xhdGV9fTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDEwJTtcIj4gPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCIgVGFibGFOdWV2b1JlZ2lzdHJvXCIgKm5nSWY9XCJ2aXN0YVZpc3VhbGl6YXIgPT09ICdudWV2b0NydWNlJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOiA0MCU7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIGNsYXNzPVwidy1mdWxsXCIgW29wdGlvbnNdPVwibGlzdGFFbnRyYWRhXCIgb3B0aW9uVmFsdWU9XCJrZXlcIiBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b1pJbmRleF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIG9wdGlvbkxhYmVsPVwibGFiZWxcIiBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNydWNlUmVjdXJzb1B1bnRvLmZ1ZW50ZUVudHJhZGFcIj48L3AtZHJvcGRvd24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogNDAlO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biAgY2xhc3M9XCJ3LWZ1bGxcIiBbb3B0aW9uc109XCJsaXN0YWRvQXRyaWJ1dG9QdW50b1wiIG9wdGlvblZhbHVlPVwia2V5XCIgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9aSW5kZXhdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBvcHRpb25MYWJlbD1cImxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY3J1Y2VSZWN1cnNvUHVudG8uYXRyaWJ1dG9QdW50b1wiIGNsYXNzPVwidy1mdWxsXCI+PC9wLWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6IDEwJTtcIiA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBpY29uPVwicGkgcGktY2hlY2tcIiAoY2xpY2spPVwiYWdyZWdhckNydWNlKG51bGwsdHJ1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLWVsZW1lbnQgcC1yaXBwbGUgcC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1zdWNjZXNzIG1yLTIgbWItMiBwLWJ1dHRvbiBwLWNvbXBvbmVudCBwLWJ1dHRvbi1pY29uLW9ubHlcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjYW5jZWxhckNydWNlKClcIiBpY29uPVwicGkgcGktdGltZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLWVsZW1lbnQgcC1yaXBwbGUgcC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1kYW5nZXIgbXItMiBtYi0yIHAtYnV0dG9uIHAtY29tcG9uZW50IHAtYnV0dG9uLWljb24tb25seVwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWNydWNlIGxldC1lZGl0aW5nPVwiZWRpdGluZ1wiIGxldC1yaT1cInJvd0luZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgW3BFZGl0YWJsZVJvd109XCJjcnVjZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOiA0MCU7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWNlbGxFZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaW5wdXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJsaXN0YUVudHJhZGFcIiBvcHRpb25WYWx1ZT1cImtleVwiIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvWkluZGV4XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBvcHRpb25MYWJlbD1cImxhYmVsXCIgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNydWNlLnJlcG9ydGVFbnRyYWRhXCI+PC9wLWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJvdXRwdXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2NydWNlLmRlc2NyaXBjaW9uRW50cmFkYX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3AtY2VsbEVkaXRvcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOiA0MCU7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWNlbGxFZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaW5wdXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJsaXN0YWRvQXRyaWJ1dG9QdW50b1wiIG9wdGlvblZhbHVlPVwia2V5XCIgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9aSW5kZXhdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIG9wdGlvbkxhYmVsPVwibGFiZWxcIiBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY3J1Y2UuYXRyaWJ1dG9QdW50b1wiPjwvcC1kcm9wZG93bj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwib3V0cHV0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tjcnVjZS5hdHJpYnV0b1B1bnRvRGVzY3JpcGNpb259fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wLWNlbGxFZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogMTAlO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWVuZCBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDSEVDSyBHVUFSREFSIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImVkaXRpbmdcIiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIHBTYXZlRWRpdGFibGVSb3dcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktY2hlY2tcIiAoY2xpY2spPVwiYWdyZWdhckNydWNlKGNydWNlLCBmYWxzZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1lbGVtZW50IHAtcmlwcGxlIHAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tc3VjY2VzcyBtci0yIG1iLTIgcC1idXR0b24gcC1jb21wb25lbnQgcC1idXR0b24taWNvbi1vbmx5XCI+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIENBTkNFTEFSIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImVkaXRpbmdcIiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIHBDYW5jZWxFZGl0YWJsZVJvd1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJwaSBwaS10aW1lc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLWVsZW1lbnQgcC1yaXBwbGUgcC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1kYW5nZXIgbXItMiBtYi0yIHAtYnV0dG9uIHAtY29tcG9uZW50IHAtYnV0dG9uLWljb24tb25seVwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBFRElUQVIgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWVkaXRpbmdcIiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIHBJbml0RWRpdGFibGVSb3dcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiZ2x5cGhpY29ucyBnbHlwaGljb25zLXBlbmNpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLWVsZW1lbnQgcC1yaXBwbGUgcC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1zZWNvbmRhcnkgbXItMiBtYi0yIHAtYnV0dG9uIHAtY29tcG9uZW50IHAtYnV0dG9uLWljb24tb25seVwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBFTElNSU5BUiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhZWRpdGluZ1wiIHBCdXR0b24gcFJpcHBsZSB0eXBlPVwiYnV0dG9uXCIgcERlbGV0ZUVkaXRhYmxlUm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpIHBpLXRyYXNoXCIgKGNsaWNrKT1cImVsaW1pbmFyQ3J1Y2UoJGV2ZW50LGNydWNlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLWVsZW1lbnQgcC1yaXBwbGUgcC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1vdXRsaW5lZCBtci0yIG1iLTIgcC1idXR0b24gcC1jb21wb25lbnQgcC1idXR0b24taWNvbi1vbmx5XCI+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZW1wdHltZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJwLTMgZm9udC1tZWRpdW0gZW1wdHltZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCI1XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J21lbnNhamV0YWJsYXZhY2lhJyB8IHRyYW5zbGF0ZX19IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvcC10YWJsZT5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvcC1hY2NvcmRpb25UYWI+XG4gICAgICAgIDxwLWFjY29yZGlvblRhYiAqbmdJZj1cIiFudWV2b1wiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZ2x5cGhpY29ucyBnbHlwaGljb25zLW5vdGVzLTJcIj48L2k+e3snZmlsdHJvJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjb250ZW50XCI+XG5cbiAgICAgICAgICAgICAgICA8cC10YWJsZSAgW3ZhbHVlXT1cImxpc3RhQXRyaWJ1dG9QdW50b1wiIHJlc3BvbnNpdmVMYXlvdXQ9XCJzY3JvbGxcIiBbc2Nyb2xsYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsRGlyZWN0aW9uPVwiaG9yaXpvbnRhbFwiIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkXCIgPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDUwJTtcIj57eydkZXNjcmlwY2lvbicgfCB0cmFuc2xhdGV9fTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDUwJTtcIj57eydjb2RpZ28nIHwgdHJhbnNsYXRlfX08L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogNTAlO1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2VsZW1lbnQuZGVzY3JpcGNpb259fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6IDUwJTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tlbGVtZW50LmNvZGlnb319XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJlbXB0eW1lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cInAtMyBmb250LW1lZGl1bSBlbXB0eW1lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3snbWVuc2FqZXRhYmxhdmFjaWEnIHwgdHJhbnNsYXRlfX0gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9wLXRhYmxlPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtMTIgbGc6Y29sLTEyXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9udC1tZWRpdW0gdy1mdWxsXCIgZm9yPVwiZGVzY3JpcGNpb25cIj57eydmaWx0cm8nIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwidy1mdWxsXCIgaWQ9XCJmbG9hdC1pbnB1dFwiIHJvd3M9XCI1XCIgY29scz1cIjMwXCIgcElucHV0VGV4dGFyZWFcbiAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicmVjdXJzb1B1bnRvRFRPLmZpbHRyb1wiIGF1dG9mb2N1cyBbYXV0b1Jlc2l6ZV09XCJ0cnVlXCI+IDwvdGV4dGFyZWE+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWNvbnRlbnQtY2VudGVyIG10LTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgY2xhc3M9XCJtbC0yIHAtYnV0dG9uLXJhaXNlZFwiIChjbGljayk9XCJndWFyZGFyKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy1yZWZyZXNoXCIgbGFiZWw9XCJBY3R1YWxpemFyXCIgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9wLWFjY29yZGlvblRhYj5cbiAgICA8L3AtYWNjb3JkaW9uPlxuPC9wLWRpYWxvZz5cbiJdfQ==
|