oxpi-nglib 2.0.53 → 2.0.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/cadastros/produtos/produto-form/produto-form.component.mjs +3 -2
- package/esm2022/lib/cadastros/produtos/produtos/produtos.component.mjs +19 -3
- package/esm2022/lib/cadastros/produtos-informacoes-adicionais/produtos-informacoes-adicionais.component.mjs +78 -0
- package/esm2022/lib/models/entidades/produto.mjs +4 -1
- package/esm2022/lib/models/settings/duplicata-search-setting.mjs +1 -1
- package/esm2022/lib/models/settings/ocupacao-search-setting.mjs +1 -1
- package/esm2022/lib/oxpi-nglib.module.mjs +6 -3
- package/esm2022/lib/providers/common-web-service.mjs +11 -1
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/oxpi-nglib.mjs +100 -6
- package/fesm2022/oxpi-nglib.mjs.map +1 -1
- package/lib/cadastros/produtos/produtos/produtos.component.d.ts +1 -0
- package/lib/cadastros/produtos-informacoes-adicionais/produtos-informacoes-adicionais.component.d.ts +25 -0
- package/lib/models/entidades/produto.d.ts +5 -0
- package/lib/models/settings/duplicata-search-setting.d.ts +4 -0
- package/lib/models/settings/ocupacao-search-setting.d.ts +1 -0
- package/lib/oxpi-nglib.module.d.ts +14 -13
- package/lib/providers/common-web-service.d.ts +4 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -16,6 +16,7 @@ export class CommonWebService {
|
|
|
16
16
|
this.FUNCIONARIO_CARGO_BASE_URL = '';
|
|
17
17
|
this.token = '';
|
|
18
18
|
this.PRODUTO_BASE_URL = '';
|
|
19
|
+
this.PRODUTO_INFORMACOES_ADICIONAIS_BASE_URL = '';
|
|
19
20
|
this.PRODUTO_GRUPO_BASE_URL = '';
|
|
20
21
|
this.PRODUTO_SUBGRUPO_BASE_URL = '';
|
|
21
22
|
this.PRODUTO_CATEGORIA_CARDAPIO_BASE_URL = '';
|
|
@@ -39,6 +40,7 @@ export class CommonWebService {
|
|
|
39
40
|
this.FUNCIONARIO_BASE_URL = rootUrl + "Funcionario/";
|
|
40
41
|
this.FUNCIONARIO_CARGO_BASE_URL = rootUrl + "FuncionarioCargo/";
|
|
41
42
|
this.PRODUTO_BASE_URL = rootUrl + "ProdutoFiscal/";
|
|
43
|
+
this.PRODUTO_INFORMACOES_ADICIONAIS_BASE_URL = rootUrl + "ProdutoInformacoesAdicionais/";
|
|
42
44
|
this.PRODUTO_GRUPO_BASE_URL = rootUrl + "ProdutoGrupo/";
|
|
43
45
|
this.PRODUTO_SUBGRUPO_BASE_URL = rootUrl + "ProdutoSubgrupo/";
|
|
44
46
|
this.PRODUTO_CATEGORIA_CARDAPIO_BASE_URL = rootUrl + "ProdutoCategoriaCardapio/";
|
|
@@ -105,6 +107,14 @@ export class CommonWebService {
|
|
|
105
107
|
const url = this.PRODUTO_BASE_URL + produtoId;
|
|
106
108
|
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
107
109
|
}
|
|
110
|
+
saveProdutoInformacoesAdicionais(s) {
|
|
111
|
+
const url = this.PRODUTO_INFORMACOES_ADICIONAIS_BASE_URL;
|
|
112
|
+
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
113
|
+
}
|
|
114
|
+
findProdutoInformacoesAdicionais(produtoId) {
|
|
115
|
+
const url = this.PRODUTO_INFORMACOES_ADICIONAIS_BASE_URL + produtoId;
|
|
116
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
117
|
+
}
|
|
108
118
|
saveProduto(s) {
|
|
109
119
|
const url = this.PRODUTO_BASE_URL;
|
|
110
120
|
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
@@ -347,4 +357,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
347
357
|
providedIn: 'root'
|
|
348
358
|
}]
|
|
349
359
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
350
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXdlYi1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL3Byb3ZpZGVycy9jb21tb24td2ViLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7OztBQWdCdkMsTUFBTSxPQUFPLGdCQUFnQjthQXlCcEIsbUJBQWMsR0FBRyxRQUFRLENBQUM7YUFDMUIscUJBQWdCLEdBQUcsWUFBWSxDQUFDO2FBQ2hDLDRCQUF1QixHQUFHLGdCQUFnQixDQUFDO0lBRWxELFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUE1QnBDLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFFbEIseUJBQW9CLEdBQVcsRUFBRSxDQUFDO1FBQ2xDLCtCQUEwQixHQUFXLEVBQUUsQ0FBQztRQUN4QyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QiwyQkFBc0IsR0FBRyxFQUFFLENBQUM7UUFDNUIsOEJBQXlCLEdBQUcsRUFBRSxDQUFDO1FBQy9CLHdDQUFtQyxHQUFHLEVBQUUsQ0FBQztRQUN6Qyx1Q0FBa0MsR0FBRyxFQUFFLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFakIsNEJBQXVCLEdBQUcsRUFBRSxDQUFDO1FBQzdCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLDZCQUF3QixHQUFHLEVBQUUsQ0FBQztRQUM5QixnQ0FBMkIsR0FBVyxFQUFFLENB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c0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZ1bmNpb25hcmlvLCBGdW5jaW9uYXJpb0NhcmdvIH0gZnJvbSAnLi4vbW9kZWxzL2VudGlkYWRlcy9mdW5jaW9uYXJpbyc7XHJcbmltcG9ydCB7IE9wZXJhZG9yIH0gZnJvbSAnLi4vbW9kZWxzL2VudGlkYWRlcy9vcGVyYWRvcic7XHJcbmltcG9ydCB7IENsaWVudGUsIEZvcm5lY2Vkb3IgfSBmcm9tICcuLi9tb2RlbHMvZW50aWRhZGVzL3Blc3NvYSc7XHJcbmltcG9ydCB7IFByb2R1dG8gfSBmcm9tICcuLi9tb2RlbHMvZW50aWRhZGVzL3Byb2R1dG8nO1xyXG5pbXBvcnQgeyBDb21wb3NpY29lcywgUHJvZHV0b0NvbXBvc2ljYW8gfSBmcm9tICcuLi9tb2RlbHMvZW50aWRhZGVzL3Byb2R1dG8tY29tcG9zaWNhbyc7XHJcbmltcG9ydCB7IFByb2R1dG9DYXRlZ29yaWFDYXJkYXBpbywgUHJvZHV0b0dydXBvLCBQcm9kdXRvU3ViZ3J1cG8sIFByb2R1dG9WZXJpZmljYW9HcnVwbyB9IGZyb20gJy4uL21vZGVscy9lbnRpZGFkZXMvcHJvZHV0by1ncnVwbyc7XHJcbmltcG9ydCB7IE5jbSB9IGZyb20gJy4uL21vZGVscy9lbnRpZGFkZXMvcHJvZHV0by1uY20nO1xyXG5pbXBvcnQgeyBTZXRvckVzdG9xdWUgfSBmcm9tICcuLi9tb2RlbHMvZW50aWRhZGVzL3NldG9yLWVzdG9xdWUnO1xyXG5pbXBvcnQgeyBTdWl0ZUJhc2UgfSBmcm9tICcuLi9tb2RlbHMvZW50aWRhZGVzL3N1aXRlLWJhc2UnO1xyXG5pbXBvcnQgeyBQYWdpbmdSZXN1bHQgfSBmcm9tICcuLi9tb2RlbHMvaW5mcmEvcGFnaW5nLXJlc3VsdCc7XHJcbmltcG9ydCB7IFNlYXJjaFNldHRpbmcgfSBmcm9tICcuLi9tb2RlbHMvc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmcnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbW9uV2ViU2VydmljZSB7XHJcbiAgUk9PVF9VUkw6IHN0cmluZyA9ICcnO1xyXG4gIEdFUkVOQ0lBTF9VUkwgPSAnJztcclxuICBGSU5BTkNBU19VUkwgPSAnJztcclxuXHJcbiAgRlVOQ0lPTkFSSU9fQkFTRV9VUkw6IHN0cmluZyA9ICcnO1xyXG4gIEZVTkNJT05BUklPX0NBUkdPX0JBU0VfVVJMOiBzdHJpbmcgPSAnJztcclxuICB0b2tlbjogc3RyaW5nID0gJyc7XHJcbiAgUFJPRFVUT19CQVNFX1VSTCA9ICcnO1xyXG4gIFBST0RVVE9fR1JVUE9fQkFTRV9VUkwgPSAnJztcclxuICBQUk9EVVRPX1NVQkdSVVBPX0JBU0VfVVJMID0gJyc7XHJcbiAgUFJPRFVUT19DQVRFR09SSUFfQ0FSREFQSU9fQkFTRV9VUkwgPSAnJztcclxuICBQUk9EVVRPX1ZFUklGSUNBQ0FPX0dSVVBPX0JBU0VfVVJMID0gJyc7XHJcbiAgRVNUT1FVRV9VUkwgPSAnJztcclxuICBcclxuICBVUExPQURfQ09OVEVOVF9CQVNFX1VSTCA9ICcnO1xyXG4gIE1FRElBX0JBU0VfVVJMID0gJyc7XHJcbiAgTUVESUFfUFJPRFVUT19JTUFHRU1fVVJMID0gJyc7XHJcbiAgUFJPRFVUT19DT01QT1NJQ0FPX0JBU0VfVVJMOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgRk9STkVDRURPUl9CQVNFX1VSTCA6IHN0cmluZyA9ICcnO1xyXG4gIENMSUVOVEVfQkFTRV9VUkwgOiBzdHJpbmcgPSAnJztcclxuICBPUEVSQURPUl9CQVNFX1VSTCA9ICcnO1xyXG4gIFNVSVRFX0JBU0VfVVJMID0gJyc7XHJcblxyXG4gIHN0YXRpYyBVUkxfUEFSVF9CVVNDQSA9IFwiQnVzY2EvXCI7XHJcbiAgc3RhdGljIFVSTF9QQVJUX05FWFRfSUQgPSBcIkdldE5leHRJZC9cIjtcclxuICBzdGF0aWMgVVJMX1BBUlRfQlVTQ0FfUEFHSU5BREEgPSBcIkJ1c2NhUGFnaW5hZGEvXCI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gIHNldFRva2VuKHRva2VuOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudG9rZW4gPSB0b2tlbjtcclxuICB9XHJcbiAgc3RhcnQocm9vdFVybDogc3RyaW5nLCB1cGxvYWRDb250ZW50VXJsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuUk9PVF9VUkwgPSByb290VXJsO1xyXG4gICAgdGhpcy5QUk9EVVRPX0NPTVBPU0lDQU9fQkFTRV9VUkwgPSByb290VXJsICsgXCJQcm9kdXRvQ29tcG9zaWNhby9cIjtcclxuICAgIHRoaXMuRlVOQ0lPTkFSSU9fQkFTRV9VUkwgPSByb290VXJsICsgXCJGdW5jaW9uYXJpby9cIjtcclxuICAgIHRoaXMuRlVOQ0lPTkFSSU9fQ0FSR09fQkFTRV9VUkwgPSByb290VXJsICsgXCJGdW5jaW9uYXJpb0NhcmdvL1wiO1xyXG4gICAgdGhpcy5QUk9EVVRPX0JBU0VfVVJMID0gcm9vdFVybCArIFwiUHJvZHV0b0Zpc2NhbC9cIjtcclxuICAgIHRoaXMuUFJPRFVUT19HUlVQT19CQVNFX1VSTCA9IHJvb3RVcmwgKyBcIlByb2R1dG9HcnVwby9cIjtcclxuICAgIHRoaXMuUFJPRFVUT19TVUJHUlVQT19CQVNFX1VSTCA9IHJvb3RVcmwgKyBcIlByb2R1dG9TdWJncnVwby9cIjtcclxuICAgIHRoaXMuUFJPRFVUT19DQVRFR09SSUFfQ0FSREFQSU9fQkFTRV9VUkwgPSByb290VXJsICsgXCJQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW8vXCI7XHJcbiAgICB0aGlzLlBST0RVVE9fVkVSSUZJQ0FDQU9fR1JVUE9fQkFTRV9VUkwgPSByb290VXJsICsgXCJQcm9kdXRvVmVyaWZpY2FvR3J1cG8vXCI7XHJcbiAgICB0aGlzLkVTVE9RVUVfVVJMID0gcm9vdFVybCArICdFc3RvcXVlLyc7XHJcbiAgICB0aGlzLkdFUkVOQ0lBTF9VUkwgPSByb290VXJsICsgJ0dlcmVuY2lhbC8nXHJcbiAgICB0aGlzLkZJTkFOQ0FTX1VSTCA9IHJvb3RVcmwgKyAnRmluYW5jYXMvJ1xyXG5cclxuICAgIFxyXG4gICAgdGhpcy5NRURJQV9CQVNFX1VSTCA9IHRoaXMuR0VSRU5DSUFMX1VSTCArIFwiTWVkaWEvXCI7XHJcbiAgICB0aGlzLk1FRElBX1BST0RVVE9fSU1BR0VNX1VSTCA9IHRoaXMuTUVESUFfQkFTRV9VUkwgKyAnR2V0UHJvZHV0b0ltYWdlbS8nO1xyXG4gICAgdGhpcy5GT1JORUNFRE9SX0JBU0VfVVJMID0gdGhpcy5GSU5BTkNBU19VUkwgKyAnRm9ybmVjZWRvci8nOyAgXHJcbiAgICB0aGlzLkNMSUVOVEVfQkFTRV9VUkwgPSB0aGlzLkZJTkFOQ0FTX1VSTCArICdDbGllbnRlLyc7XHJcbiAgICB0aGlzLk9QRVJBRE9SX0JBU0VfVVJMID0gdGhpcy5ST09UX1VSTCArIFwiT3BlcmFkb3IvXCJcclxuICAgIHRoaXMuU1VJVEVfQkFTRV9VUkwgPSB0aGlzLlJPT1RfVVJMICsgXCJTdWl0ZUJhc2UvXCI7XHJcbiAgICB0aGlzLlVQTE9BRF9DT05URU5UX0JBU0VfVVJMID0gdXBsb2FkQ29udGVudFVybDtcclxuICB9XHJcblxyXG4gIGdldEZ1bmNpb25hcmlvcyhleGliZUluYXRpdm8gOiBib29sZWFuID0gZmFsc2UpOiBPYnNlcnZhYmxlPEZ1bmNpb25hcmlvW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRlVOQ0lPTkFSSU9fQkFTRV9VUkw7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAuc2V0KFwiZXhpYmVJbmF0aXZvXCIsICcnICsgZXhpYmVJbmF0aXZvKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEZ1bmNpb25hcmlvW10+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucyhwYXJhbXMpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZ2V0RnVuY2lvbmFyaW9zQ2FyZ29zKCk6IE9ic2VydmFibGU8RnVuY2lvbmFyaW9DYXJnb1tdPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLkZVTkNJT05BUklPX0NBUkdPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RnVuY2lvbmFyaW9DYXJnb1tdPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG5cclxuICBidXNjYUZ1bmNpb25hcmlvKHNldHRpbmc6IFNlYXJjaFNldHRpbmcpOiBPYnNlcnZhYmxlPEZ1bmNpb25hcmlvW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRlVOQ0lPTkFSSU9fQkFTRV9VUkwgKyBDb21tb25XZWJTZXJ2aWNlLlVSTF9QQVJUX0JVU0NBO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEZ1bmNpb25hcmlvW10+KHVybCwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldE5leHRJZEZ1bmNpb25hcmlvKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLkZVTkNJT05BUklPX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9ORVhUX0lEO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8bnVtYmVyPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldEFsbEZ1bmNpb25hcmlvKCk6IE9ic2VydmFibGU8RnVuY2lvbmFyaW9bXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5GVU5DSU9OQVJJT19CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEZ1bmNpb25hcmlvW10+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgc2F2ZUZ1bmNpb25hcmlvKHM6IEZ1bmNpb25hcmlvKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRlVOQ0lPTkFSSU9fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHMpLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBhZGRGdW5jaW9uYXJpbyhwOiBGdW5jaW9uYXJpbyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLkZVTkNJT05BUklPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBkZWxldGVGdW5jaW9uYXJpbyhpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRlVOQ0lPTkFSSU9fQkFTRV9VUkwgKyBpZDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuXHJcbiAgXHJcbiAgYnVzY2FQYWdpbmFkYVByb2R1dG9zKHNldHRpbmcgOiBTZWFyY2hTZXR0aW5nLCBwYWdlIDogbnVtYmVyLCBwYWdlU2l6ZSA6IG51bWJlcik6IE9ic2VydmFibGU8UGFnaW5nUmVzdWx0PFByb2R1dG8+PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fQkFTRV9VUkwgKyBDb21tb25XZWJTZXJ2aWNlLlVSTF9QQVJUX0JVU0NBX1BBR0lOQURBO1xyXG4gICAgY29uc3QgcCA9IHsgc2V0dGluZzogc2V0dGluZywgcGFnZTogcGFnZSwgcGFnZVNpemU6IHBhZ2VTaXplIH07XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UGFnaW5nUmVzdWx0PFByb2R1dG8+Pih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBnZXROZXh0SWRQcm9kdXRvKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fQkFTRV9VUkwgKyBDb21tb25XZWJTZXJ2aWNlLlVSTF9QQVJUX05FWFRfSUQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxudW1iZXI+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZ2V0UHJvZHV0b0hpc3RvcnkoaWQgOiBudW1iZXIpOiBPYnNlcnZhYmxlPFByb2R1dG9bXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0JBU0VfVVJMICsgJ0dldEhpc3RvcnkvJyArIGlkO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UHJvZHV0b1tdPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGZpbmRQcm9kdXRvKHByb2R1dG9JZCA6IG51bWJlcik6IE9ic2VydmFibGU8UHJvZHV0bz4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0JBU0VfVVJMICsgcHJvZHV0b0lkO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UHJvZHV0bz4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBzYXZlUHJvZHV0byhzOiBQcm9kdXRvKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGFkZFByb2R1dG8ocCA6IFByb2R1dG8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBkZWxldGVQcm9kdXRvKGlkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19CQVNFX1VSTCArIGlkO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8YW55Pih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG5cclxuICBidXNjYVByb2R1dG9HcnVwbyhzZXR0aW5nIDogU2VhcmNoU2V0dGluZyk6IE9ic2VydmFibGU8UHJvZHV0b0dydXBvW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19HUlVQT19CQVNFX1VSTCArIENvbW1vbldlYlNlcnZpY2UuVVJMX1BBUlRfQlVTQ0E7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UHJvZHV0b0dydXBvW10+KHVybCwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfSAgXHJcbiAgZ2V0QWxsUHJvZHV0b0dydXBvKCk6IE9ic2VydmFibGU8UHJvZHV0b0dydXBvW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19HUlVQT19CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFByb2R1dG9HcnVwb1tdPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldE5leHRJZFByb2R1dG9HcnVwbygpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0dSVVBPX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9ORVhUX0lEO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8bnVtYmVyPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIHNhdmVQcm9kdXRvR3J1cG8oczogUHJvZHV0b0dydXBvKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19HUlVQT19CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIHRyYW5zZmVyZVByb2R1dG9HcnVwbyhncnVwb0lkIDogbnVtYmVyLCBub3ZvR3J1cG9JZCA6IG51bWJlcik6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fQkFTRV9VUkwgKyAnQWx0ZXJhR3J1cG8nO1xyXG4gICAgY29uc3QgcCA9IHsgb2xkSWQ6IGdydXBvSWQsIG5ld0lkOiBub3ZvR3J1cG9JZCB9O1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bWJlcj4odXJsLCBKU09OLnN0cmluZ2lmeShwKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgYWRkUHJvZHV0b0dydXBvKHAgOiBQcm9kdXRvR3J1cG8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0dSVVBPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBkZWxldGVQcm9kdXRvR3J1cG8oaWQgOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0dSVVBPX0JBU0VfVVJMICsgaWQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcblxyXG4gIFxyXG4gIGJ1c2NhTmNtKG5jbSA6IHN0cmluZyk6IE9ic2VydmFibGU8TmNtW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19CQVNFX1VSTCArICdCdXNjYU5DTS8nO1xyXG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgLnNldChcIm5jbVwiLCAnJyArIG5jbSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOY21bXT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKHBhcmFtcykpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBcclxuICBmaW5kTmNtKG5jbSA6IHN0cmluZyk6IE9ic2VydmFibGU8TmNtIHwgbnVsbD4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0JBU0VfVVJMICsgJ0ZpbmROQ00vJztcclxuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcclxuICAgIC5zZXQoXCJuY21cIiwgJycgKyBuY20pO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TmNtIHwgbnVsbD4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKHBhcmFtcykpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuXHJcblxyXG4gIGJ1c2NhUHJvZHV0b1N1YmdydXBvKHNldHRpbmcgOiBTZWFyY2hTZXR0aW5nKTogT2JzZXJ2YWJsZTxQcm9kdXRvU3ViZ3J1cG9bXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX1NVQkdSVVBPX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9CVVNDQTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxQcm9kdXRvU3ViZ3J1cG9bXT4odXJsLCBKU09OLnN0cmluZ2lmeShzZXR0aW5nKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZ2V0TmV4dElkUHJvZHV0b1N1YmdydXBvKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fU1VCR1JVUE9fQkFTRV9VUkwgKyBDb21tb25XZWJTZXJ2aWNlLlVSTF9QQVJUX05FWFRfSUQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxudW1iZXI+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgc2F2ZVByb2R1dG9TdWJncnVwbyhzOiBQcm9kdXRvU3ViZ3J1cG8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX1NVQkdSVVBPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBKU09OLnN0cmluZ2lmeShzKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgYWRkUHJvZHV0b1N1YmdydXBvKHAgOiBQcm9kdXRvU3ViZ3J1cG8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX1NVQkdSVVBPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBkZWxldGVQcm9kdXRvU3ViZ3J1cG8oaWQgOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX1NVQkdSVVBPX0JBU0VfVVJMICsgaWQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcblxyXG4gIFxyXG4gIGJ1c2NhUHJvZHV0b0NhdGVnb3JpYUNhcmRhcGlvKHNldHRpbmcgOiBTZWFyY2hTZXR0aW5nKTogT2JzZXJ2YWJsZTxQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW9bXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0NBVEVHT1JJQV9DQVJEQVBJT19CQVNFX1VSTCArIENvbW1vbldlYlNlcnZpY2UuVVJMX1BBUlRfQlVTQ0E7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UHJvZHV0b0NhdGVnb3JpYUNhcmRhcGlvW10+KHVybCwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldE5leHRJZFByb2R1dG9DYXRlZ29yaWFDYXJkYXBpbygpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0NBVEVHT1JJQV9DQVJEQVBJT19CQVNFX1VSTCArIENvbW1vbldlYlNlcnZpY2UuVVJMX1BBUlRfTkVYVF9JRDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PG51bWJlcj4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBzYXZlUHJvZHV0b0NhdGVnb3JpYUNhcmRhcGlvKHM6IFByb2R1dG9DYXRlZ29yaWFDYXJkYXBpbyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fQ0FURUdPUklBX0NBUkRBUElPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBKU09OLnN0cmluZ2lmeShzKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgYWRkUHJvZHV0b0NhdGVnb3JpYUNhcmRhcGlvKHAgOiBQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0NBVEVHT1JJQV9DQVJEQVBJT19CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PGFueT4odXJsLCBKU09OLnN0cmluZ2lmeShwKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZGVsZXRlUHJvZHV0b0NhdGVnb3JpYUNhcmRhcGlvKGlkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19DQVRFR09SSUFfQ0FSREFQSU9fQkFTRV9VUkwgKyBpZDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBcclxuXHJcbiAgYnVzY2FQcm9kdXRvR3J1cG9WZXJpZmljYWNhbyhzZXR0aW5nIDogU2VhcmNoU2V0dGluZyk6IE9ic2VydmFibGU8UHJvZHV0b1ZlcmlmaWNhb0dydXBvW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19WRVJJRklDQUNBT19HUlVQT19CQVNFX1VSTCArIENvbW1vbldlYlNlcnZpY2UuVVJMX1BBUlRfQlVTQ0E7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UHJvZHV0b1ZlcmlmaWNhb0dydXBvW10+KHVybCwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldE5leHRJZFByb2R1dG9HcnVwb1ZlcmlmaWNhY2FvKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fVkVSSUZJQ0FDQU9fR1JVUE9fQkFTRV9VUkwgKyBDb21tb25XZWJTZXJ2aWNlLlVSTF9QQVJUX05FWFRfSUQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxudW1iZXI+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgc2F2ZVByb2R1dG9HcnVwb1ZlcmlmaWNhY2FvKHM6IFByb2R1dG9WZXJpZmljYW9HcnVwbyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fVkVSSUZJQ0FDQU9fR1JVUE9fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHMpLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBhZGRQcm9kdXRvR3J1cG9WZXJpZmljYWNhbyhwIDogUHJvZHV0b1ZlcmlmaWNhb0dydXBvKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19WRVJJRklDQUNBT19HUlVQT19CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PGFueT4odXJsLCBKU09OLnN0cmluZ2lmeShwKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZGVsZXRlUHJvZHV0b0dydXBvVmVyaWZpY2FjYW8oaWQgOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX1ZFUklGSUNBQ0FPX0dSVVBPX0JBU0VfVVJMICsgaWQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcblxyXG4gIGdldEFsbFNldG9yZXMoKTogT2JzZXJ2YWJsZTxTZXRvckVzdG9xdWVbXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5FU1RPUVVFX1VSTCArICdTZXRvci8nO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2V0b3JFc3RvcXVlW10+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcblxyXG4gIGdldFByb2R1dG9Db21wb3NpY2FvKHByb2R1dG9JZCA6IG51bWJlcik6IE9ic2VydmFibGU8Q29tcG9zaWNvZXM+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19DT01QT1NJQ0FPX0JBU0VfVVJMICsgcHJvZHV0b0lkO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q29tcG9zaWNvZXM+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9ICBcclxuICBzYXZlUHJvZHV0b0NvbXBvc2ljYW8oczogUHJvZHV0b0NvbXBvc2ljYW8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0NPTVBPU0lDQU9fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHMpLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBhZGRQcm9kdXRvQ29tcG9zaWNhbyhwIDogUHJvZHV0b0NvbXBvc2ljYW8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0NPTVBPU0lDQU9fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocCksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGRlbGV0ZVByb2R1dG9Db21wb3NpY2FvKGlkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19DT01QT1NJQ0FPX0JBU0VfVVJMICsgaWQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcblxyXG5cclxuICBidXNjYUNsaWVudGUoc2V0dGluZyA6IFNlYXJjaFNldHRpbmcpOiBPYnNlcnZhYmxlPENsaWVudGVbXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5DTElFTlRFX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9CVVNDQTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDbGllbnRlW10+KHVybCwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldEFsbENsaWVudGUoKTogT2JzZXJ2YWJsZTxDbGllbnRlW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuQ0xJRU5URV9CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENsaWVudGVbXT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBzYXZlQ2xpZW50ZShzOiBDbGllbnRlKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuQ0xJRU5URV9CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGFkZENsaWVudGUocCA6IENsaWVudGUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5DTElFTlRFX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBkZWxldGVDbGllbnRlKGlkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuQ0xJRU5URV9CQVNFX1VSTCArIGlkO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8YW55Pih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG5cclxuICBidXNjYUZvcm5lY2Vkb3Ioc2V0dGluZyA6IFNlYXJjaFNldHRpbmcpOiBPYnNlcnZhYmxlPEZvcm5lY2Vkb3JbXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5GT1JORUNFRE9SX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9CVVNDQTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxGb3JuZWNlZG9yW10+KHVybCwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldEFsbEZvcm5lY2Vkb3IoKTogT2JzZXJ2YWJsZTxGb3JuZWNlZG9yW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRk9STkVDRURPUl9CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEZvcm5lY2Vkb3JbXT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBzYXZlRm9ybmVjZWRvcihzOiBGb3JuZWNlZG9yKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRk9STkVDRURPUl9CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGFkZEZvcm5lY2Vkb3IocCA6IEZvcm5lY2Vkb3IpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5GT1JORUNFRE9SX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBkZWxldGVGb3JuZWNlZG9yKGlkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRk9STkVDRURPUl9CQVNFX1VSTCArIGlkO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8YW55Pih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0T3BlcmFkb3JlcygpOiBPYnNlcnZhYmxlPE9wZXJhZG9yW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuT1BFUkFET1JfQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxPcGVyYWRvcltdPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGJ1c2NhT3BlcmFkb3Ioc2V0dGluZyA6IFNlYXJjaFNldHRpbmcpOiBPYnNlcnZhYmxlPE9wZXJhZG9yW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuT1BFUkFET1JfQkFTRV9VUkwgKyBDb21tb25XZWJTZXJ2aWNlLlVSTF9QQVJUX0JVU0NBO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE9wZXJhZG9yW10+KHVybCwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldE5leHRJZE9wZXJhZG9yKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLk9QRVJBRE9SX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9ORVhUX0lEO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8bnVtYmVyPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIHNhdmVPcGVyYWRvcihzOiBPcGVyYWRvcik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLk9QRVJBRE9SX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBKU09OLnN0cmluZ2lmeShzKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgYWRkT3BlcmFkb3IocCA6IE9wZXJhZG9yKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuT1BFUkFET1JfQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocCksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGRlbGV0ZU9wZXJhZG9yKGlkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuT1BFUkFET1JfQkFTRV9VUkwgKyBpZDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3VpdGVzKCk6IE9ic2VydmFibGU8U3VpdGVCYXNlW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuU1VJVEVfQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTdWl0ZUJhc2VbXT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SHR0cE9wdGlvbnMocGFyYW1ldGVycz86IEh0dHBQYXJhbXMpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICBcIkFjY2VwdFwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICBcIkF1dGhvcml6YXRpb25cIjogJ3Rva2VuICcgKyB0aGlzLnRva2VuLFxyXG4gICAgICB9KSxcclxuICAgICAgcGFyYW1zOiBwYXJhbWV0ZXJzXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRFeGNlbE9wdGlvbnMocGFyYW1ldGVycz86IEh0dHBQYXJhbXMpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICBcIkFjY2VwdFwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICBcIkF1dGhvcml6YXRpb25cIjogJ3Rva2VuICcgKyB0aGlzLnRva2VuLFxyXG4gICAgICB9KSxcclxuICAgICAgcGFyYW1zOiBwYXJhbWV0ZXJzLFxyXG4gICAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgYXMgJ2pzb24nLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldEh0bWxPcHRpb25zKHBhcmFtZXRlcnM/OiBIdHRwUGFyYW1zKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICAgXCJBY2NlcHRcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgICAgICAgXCJBdXRob3JpemF0aW9uXCI6ICd0b2tlbiAnICsgdGhpcy50b2tlbixcclxuICAgICAgfSksXHJcbiAgICAgIHBhcmFtczogcGFyYW1ldGVycyxcclxuICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcgYXMgJ2pzb24nLFxyXG4gICAgfTtcclxuICB9XHJcbn0iXX0=
|
|
360
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXdlYi1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3hwaS1uZ2xpYi9zcmMvbGliL3Byb3ZpZGVycy9jb21tb24td2ViLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7OztBQWdCdkMsTUFBTSxPQUFPLGdCQUFnQjthQTBCcEIsbUJBQWMsR0FBRyxRQUFRLENBQUM7YUFDMUIscUJBQWdCLEdBQUcsWUFBWSxDQUFDO2FBQ2hDLDRCQUF1QixHQUFHLGdCQUFnQixDQUFDO0lBRWxELFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUE3QnBDLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFFbEIseUJBQW9CLEdBQVcsRUFBRSxDQUFDO1FBQ2xDLCtCQUEwQixHQUFXLEVBQUUsQ0FBQztRQUN4QyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0Qiw0Q0FBdUMsR0FBRyxFQUFFLENBQUM7UUFDN0MsMkJBQXNCLEdBQUcsRUFBRSxDQUFDO1FBQzVCLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQix3Q0FBbUMsR0FBRyxFQUFFLENBQUM7UUFDekMsdUNBQWtDLEdBQUcsRUFBRSxDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRWpCLDRCQUF1QixHQUFHLEVBQUUsQ0FBQztRQUM3QixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQiw2QkFBd0IsR0FBRyxFQUFFLENBQUM7UUFDOUIsZ0NBQTJCLEdBQVcsRUFBRSxDQUFDO1FBRXpDLHdCQUFtQixHQUFZLEVBQUUsQ0FBQztRQUNsQyxxQkFBZ0IsR0FBWSxFQUFFLENBQUM7UUFDL0Isc0JBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO0lBTW9CLENBQUM7SUFFekMsUUFBUSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUNELEtBQUssQ0FBQyxPQUFlLEVBQUUsZ0JBQXdCO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQywyQkFBMkIsR0FBRyxPQUFPLEdBQUcsb0JBQW9CLENBQUM7UUFDbEUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sR0FBRyxjQUFjLENBQUM7UUFDckQsSUFBSSxDQUFDLDBCQUEwQixHQUFHLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQztRQUNoRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxHQUFHLGdCQUFnQixDQUFDO1FBQ25ELElBQUksQ0FBQyx1Q0FBdUMsR0FBRyxPQUFPLEdBQUcsK0JBQStCLENBQUM7UUFDekYsSUFBSSxDQUFDLHNCQUFzQixHQUFHLE9BQU8sR0FBRyxlQUFlLENBQUM7UUFDeEQsSUFBSSxDQUFDLHlCQUF5QixHQUFHLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQztRQUM5RCxJQUFJLENBQUMsbUNBQW1DLEdBQUcsT0FBTyxHQUFHLDJCQUEyQixDQUFDO1FBQ2pGLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxPQUFPLEdBQUcsd0JBQXdCLENBQUM7UUFDN0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxHQUFHLFlBQVksQ0FBQTtRQUMzQyxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sR0FBRyxXQUFXLENBQUE7UUFHekMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQztRQUNwRCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQztRQUMxRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUM7UUFDN0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQTtRQUNwRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDO1FBQ25ELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxnQkFBZ0IsQ0FBQztJQUNsRCxDQUFDO0lBRUQsZUFBZSxDQUFDLGVBQXlCLEtBQUs7UUFDNUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFO2FBQzlCLEdBQUcsQ0FBQyxjQUFjLEVBQUUsRUFBRSxHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWdCLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUNELHFCQUFxQjtRQUNuQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBcUIsR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFzQjtRQUNyQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUMsY0FBYyxDQUFDO1FBQ3hFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWdCLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFDRCxvQkFBb0I7UUFDbEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDO1FBQzFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVMsR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFDRCxpQkFBaUI7UUFDZixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBZ0IsR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFDRCxlQUFlLENBQUMsQ0FBYztRQUM1QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBQ0QsY0FBYyxDQUFDLENBQWM7UUFDM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUNELGlCQUFpQixDQUFDLEVBQVU7UUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFNLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBR0QscUJBQXFCLENBQUMsT0FBdUIsRUFBRSxJQUFhLEVBQUUsUUFBaUI7UUFDN0UsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDO1FBQzdFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUMvRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUF3QixHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0SCxDQUFDO0lBQ0QsZ0JBQWdCO1FBQ2QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVMsR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFXO1FBQzNCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVksR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFDRCxXQUFXLENBQUMsU0FBa0I7UUFDNUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFVLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBQ0QsZ0NBQWdDLENBQUMsQ0FBK0I7UUFDOUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLHVDQUF1QyxDQUFDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUNELGdDQUFnQyxDQUFDLFNBQWtCO1FBQ2pELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyx1Q0FBdUMsR0FBRyxTQUFTLENBQUM7UUFDckUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBK0IsR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFDRCxXQUFXLENBQUMsQ0FBVTtRQUNwQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBQ0QsVUFBVSxDQUFDLENBQVc7UUFDcEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUNELGFBQWEsQ0FBQyxFQUFXO1FBQ3ZCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBTSxHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELGlCQUFpQixDQUFDLE9BQXVCO1FBQ3ZDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7UUFDMUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBaUIsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUNELGtCQUFrQjtRQUNoQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUIsR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFDRCxxQkFBcUI7UUFDbkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDO1FBQzVFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVMsR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxDQUFlO1FBQzlCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxPQUFnQixFQUFFLFdBQW9CO1FBQzFELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7UUFDbEQsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFTLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7SUFDRCxlQUFlLENBQUMsQ0FBZ0I7UUFDOUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUNELGtCQUFrQixDQUFDLEVBQVc7UUFDNUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztRQUM3QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFNLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBR0QsUUFBUSxDQUFDLEdBQVk7UUFDbkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQztRQUNoRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRTthQUM5QixHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFRLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFZO1FBQ2xCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUM7UUFDL0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUU7YUFDOUIsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYSxHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFHRCxvQkFBb0IsQ0FBQyxPQUF1QjtRQUMxQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMseUJBQXlCLEdBQUcsZ0JBQWdCLENBQUMsY0FBYyxDQUFDO1FBQzdFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQW9CLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hILENBQUM7SUFDRCx3QkFBd0I7UUFDdEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDO1FBQy9FLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVMsR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxDQUFrQjtRQUNwQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsQ0FBbUI7UUFDcEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUNELHFCQUFxQixDQUFDLEVBQVc7UUFDL0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUNoRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFNLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBR0QsNkJBQTZCLENBQUMsT0FBdUI7UUFDbkQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQztRQUN2RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUE2QixHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqSSxDQUFDO0lBQ0QsaUNBQWlDO1FBQy9CLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFTLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBQ0QsNEJBQTRCLENBQUMsQ0FBMkI7UUFDdEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLG1DQUFtQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUNELDJCQUEyQixDQUFDLENBQTRCO1FBQ3RELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFDRCw4QkFBOEIsQ0FBQyxFQUFXO1FBQ3hDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxFQUFFLENBQUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBTSxHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUdELDRCQUE0QixDQUFDLE9BQXVCO1FBQ2xELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7UUFDdEYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBMEIsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUgsQ0FBQztJQUNELGdDQUFnQztRQUM5QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsa0NBQWtDLEdBQUcsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUM7UUFDeEYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUyxHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUNELDJCQUEyQixDQUFDLENBQXdCO1FBQ2xELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQztRQUNwRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFDRCwwQkFBMEIsQ0FBQyxDQUF5QjtRQUNsRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsa0NBQWtDLENBQUM7UUFDcEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBQ0QsNkJBQTZCLENBQUMsRUFBVztRQUN2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsa0NBQWtDLEdBQUcsRUFBRSxDQUFDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQU0sR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUIsR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxTQUFrQjtRQUNyQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsU0FBUyxDQUFDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWMsR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxDQUFvQjtRQUN4QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBQ0Qsb0JBQW9CLENBQUMsQ0FBcUI7UUFDeEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUNELHVCQUF1QixDQUFDLEVBQVc7UUFDakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEVBQUUsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFNLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBR0QsWUFBWSxDQUFDLE9BQXVCO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7UUFDcEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBWSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoSCxDQUFDO0lBQ0QsYUFBYTtRQUNYLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFZLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBQ0QsV0FBVyxDQUFDLENBQVU7UUFDcEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUNELFVBQVUsQ0FBQyxDQUFXO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFDRCxhQUFhLENBQUMsRUFBVztRQUN2QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQU0sR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBdUI7UUFDckMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQztRQUN2RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFlLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25ILENBQUM7SUFDRCxnQkFBZ0I7UUFDZCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBZSxHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUNELGNBQWMsQ0FBQyxDQUFhO1FBQzFCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFDRCxhQUFhLENBQUMsQ0FBYztRQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsRUFBVztRQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQU0sR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFHRCxhQUFhO1FBQ1gsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWEsR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFDRCxhQUFhLENBQUMsT0FBdUI7UUFDbkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQztRQUNyRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFhLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pILENBQUM7SUFDRCxpQkFBaUI7UUFDZixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUM7UUFDdkUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUyxHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUNELFlBQVksQ0FBQyxDQUFXO1FBQ3RCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFDRCxXQUFXLENBQUMsQ0FBWTtRQUN0QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBQ0QsY0FBYyxDQUFDLEVBQVc7UUFDeEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFNLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYyxHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVELGNBQWMsQ0FBQyxVQUF1QjtRQUNwQyxPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUN2QixjQUFjLEVBQUUsa0JBQWtCO2dCQUNsQyxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixlQUFlLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLO2FBQ3ZDLENBQUM7WUFDRixNQUFNLEVBQUUsVUFBVTtTQUNuQixDQUFBO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxVQUF1QjtRQUNyQyxPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUN2QixjQUFjLEVBQUUsa0JBQWtCO2dCQUNsQyxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixlQUFlLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLO2FBQ3ZDLENBQUM7WUFDRixNQUFNLEVBQUUsVUFBVTtZQUNsQixZQUFZLEVBQUUsYUFBdUI7U0FDdEMsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjLENBQUMsVUFBdUI7UUFDcEMsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDdkIsY0FBYyxFQUFFLGtCQUFrQjtnQkFDbEMsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsZUFBZSxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSzthQUN2QyxDQUFDO1lBQ0YsTUFBTSxFQUFFLFVBQVU7WUFDbEIsWUFBWSxFQUFFLE1BQWdCO1NBQy9CLENBQUM7SUFDSixDQUFDOzhHQXZYVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQixjQUZmLE1BQU07OzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRnVuY2lvbmFyaW8sIEZ1bmNpb25hcmlvQ2FyZ28gfSBmcm9tICcuLi9tb2RlbHMvZW50aWRhZGVzL2Z1bmNpb25hcmlvJztcclxuaW1wb3J0IHsgT3BlcmFkb3IgfSBmcm9tICcuLi9tb2RlbHMvZW50aWRhZGVzL29wZXJhZG9yJztcclxuaW1wb3J0IHsgQ2xpZW50ZSwgRm9ybmVjZWRvciB9IGZyb20gJy4uL21vZGVscy9lbnRpZGFkZXMvcGVzc29hJztcclxuaW1wb3J0IHsgUHJvZHV0bywgUHJvZHV0b0luZm9ybWFjb2VzQWRpY2lvbmFpcyB9IGZyb20gJy4uL21vZGVscy9lbnRpZGFkZXMvcHJvZHV0byc7XHJcbmltcG9ydCB7IENvbXBvc2ljb2VzLCBQcm9kdXRvQ29tcG9zaWNhbyB9IGZyb20gJy4uL21vZGVscy9lbnRpZGFkZXMvcHJvZHV0by1jb21wb3NpY2FvJztcclxuaW1wb3J0IHsgUHJvZHV0b0NhdGVnb3JpYUNhcmRhcGlvLCBQcm9kdXRvR3J1cG8sIFByb2R1dG9TdWJncnVwbywgUHJvZHV0b1ZlcmlmaWNhb0dydXBvIH0gZnJvbSAnLi4vbW9kZWxzL2VudGlkYWRlcy9wcm9kdXRvLWdydXBvJztcclxuaW1wb3J0IHsgTmNtIH0gZnJvbSAnLi4vbW9kZWxzL2VudGlkYWRlcy9wcm9kdXRvLW5jbSc7XHJcbmltcG9ydCB7IFNldG9yRXN0b3F1ZSB9IGZyb20gJy4uL21vZGVscy9lbnRpZGFkZXMvc2V0b3ItZXN0b3F1ZSc7XHJcbmltcG9ydCB7IFN1aXRlQmFzZSB9IGZyb20gJy4uL21vZGVscy9lbnRpZGFkZXMvc3VpdGUtYmFzZSc7XHJcbmltcG9ydCB7IFBhZ2luZ1Jlc3VsdCB9IGZyb20gJy4uL21vZGVscy9pbmZyYS9wYWdpbmctcmVzdWx0JztcclxuaW1wb3J0IHsgU2VhcmNoU2V0dGluZyB9IGZyb20gJy4uL21vZGVscy9zZXR0aW5ncy9zZWFyY2gtc2V0dGluZyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21tb25XZWJTZXJ2aWNlIHtcclxuICBST09UX1VSTDogc3RyaW5nID0gJyc7XHJcbiAgR0VSRU5DSUFMX1VSTCA9ICcnO1xyXG4gIEZJTkFOQ0FTX1VSTCA9ICcnO1xyXG5cclxuICBGVU5DSU9OQVJJT19CQVNFX1VSTDogc3RyaW5nID0gJyc7XHJcbiAgRlVOQ0lPTkFSSU9fQ0FSR09fQkFTRV9VUkw6IHN0cmluZyA9ICcnO1xyXG4gIHRva2VuOiBzdHJpbmcgPSAnJztcclxuICBQUk9EVVRPX0JBU0VfVVJMID0gJyc7XHJcbiAgUFJPRFVUT19JTkZPUk1BQ09FU19BRElDSU9OQUlTX0JBU0VfVVJMID0gJyc7XHJcbiAgUFJPRFVUT19HUlVQT19CQVNFX1VSTCA9ICcnO1xyXG4gIFBST0RVVE9fU1VCR1JVUE9fQkFTRV9VUkwgPSAnJztcclxuICBQUk9EVVRPX0NBVEVHT1JJQV9DQVJEQVBJT19CQVNFX1VSTCA9ICcnO1xyXG4gIFBST0RVVE9fVkVSSUZJQ0FDQU9fR1JVUE9fQkFTRV9VUkwgPSAnJztcclxuICBFU1RPUVVFX1VSTCA9ICcnO1xyXG4gIFxyXG4gIFVQTE9BRF9DT05URU5UX0JBU0VfVVJMID0gJyc7XHJcbiAgTUVESUFfQkFTRV9VUkwgPSAnJztcclxuICBNRURJQV9QUk9EVVRPX0lNQUdFTV9VUkwgPSAnJztcclxuICBQUk9EVVRPX0NPTVBPU0lDQU9fQkFTRV9VUkw6IHN0cmluZyA9ICcnO1xyXG5cclxuICBGT1JORUNFRE9SX0JBU0VfVVJMIDogc3RyaW5nID0gJyc7XHJcbiAgQ0xJRU5URV9CQVNFX1VSTCA6IHN0cmluZyA9ICcnO1xyXG4gIE9QRVJBRE9SX0JBU0VfVVJMID0gJyc7XHJcbiAgU1VJVEVfQkFTRV9VUkwgPSAnJztcclxuXHJcbiAgc3RhdGljIFVSTF9QQVJUX0JVU0NBID0gXCJCdXNjYS9cIjtcclxuICBzdGF0aWMgVVJMX1BBUlRfTkVYVF9JRCA9IFwiR2V0TmV4dElkL1wiO1xyXG4gIHN0YXRpYyBVUkxfUEFSVF9CVVNDQV9QQUdJTkFEQSA9IFwiQnVzY2FQYWdpbmFkYS9cIjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgc2V0VG9rZW4odG9rZW46IHN0cmluZykge1xyXG4gICAgdGhpcy50b2tlbiA9IHRva2VuO1xyXG4gIH1cclxuICBzdGFydChyb290VXJsOiBzdHJpbmcsIHVwbG9hZENvbnRlbnRVcmw6IHN0cmluZykge1xyXG4gICAgdGhpcy5ST09UX1VSTCA9IHJvb3RVcmw7XHJcbiAgICB0aGlzLlBST0RVVE9fQ09NUE9TSUNBT19CQVNFX1VSTCA9IHJvb3RVcmwgKyBcIlByb2R1dG9Db21wb3NpY2FvL1wiO1xyXG4gICAgdGhpcy5GVU5DSU9OQVJJT19CQVNFX1VSTCA9IHJvb3RVcmwgKyBcIkZ1bmNpb25hcmlvL1wiO1xyXG4gICAgdGhpcy5GVU5DSU9OQVJJT19DQVJHT19CQVNFX1VSTCA9IHJvb3RVcmwgKyBcIkZ1bmNpb25hcmlvQ2FyZ28vXCI7XHJcbiAgICB0aGlzLlBST0RVVE9fQkFTRV9VUkwgPSByb290VXJsICsgXCJQcm9kdXRvRmlzY2FsL1wiO1xyXG4gICAgdGhpcy5QUk9EVVRPX0lORk9STUFDT0VTX0FESUNJT05BSVNfQkFTRV9VUkwgPSByb290VXJsICsgXCJQcm9kdXRvSW5mb3JtYWNvZXNBZGljaW9uYWlzL1wiO1xyXG4gICAgdGhpcy5QUk9EVVRPX0dSVVBPX0JBU0VfVVJMID0gcm9vdFVybCArIFwiUHJvZHV0b0dydXBvL1wiO1xyXG4gICAgdGhpcy5QUk9EVVRPX1NVQkdSVVBPX0JBU0VfVVJMID0gcm9vdFVybCArIFwiUHJvZHV0b1N1YmdydXBvL1wiO1xyXG4gICAgdGhpcy5QUk9EVVRPX0NBVEVHT1JJQV9DQVJEQVBJT19CQVNFX1VSTCA9IHJvb3RVcmwgKyBcIlByb2R1dG9DYXRlZ29yaWFDYXJkYXBpby9cIjtcclxuICAgIHRoaXMuUFJPRFVUT19WRVJJRklDQUNBT19HUlVQT19CQVNFX1VSTCA9IHJvb3RVcmwgKyBcIlByb2R1dG9WZXJpZmljYW9HcnVwby9cIjtcclxuICAgIHRoaXMuRVNUT1FVRV9VUkwgPSByb290VXJsICsgJ0VzdG9xdWUvJztcclxuICAgIHRoaXMuR0VSRU5DSUFMX1VSTCA9IHJvb3RVcmwgKyAnR2VyZW5jaWFsLydcclxuICAgIHRoaXMuRklOQU5DQVNfVVJMID0gcm9vdFVybCArICdGaW5hbmNhcy8nXHJcblxyXG4gICAgXHJcbiAgICB0aGlzLk1FRElBX0JBU0VfVVJMID0gdGhpcy5HRVJFTkNJQUxfVVJMICsgXCJNZWRpYS9cIjtcclxuICAgIHRoaXMuTUVESUFfUFJPRFVUT19JTUFHRU1fVVJMID0gdGhpcy5NRURJQV9CQVNFX1VSTCArICdHZXRQcm9kdXRvSW1hZ2VtLyc7XHJcbiAgICB0aGlzLkZPUk5FQ0VET1JfQkFTRV9VUkwgPSB0aGlzLkZJTkFOQ0FTX1VSTCArICdGb3JuZWNlZG9yLyc7ICBcclxuICAgIHRoaXMuQ0xJRU5URV9CQVNFX1VSTCA9IHRoaXMuRklOQU5DQVNfVVJMICsgJ0NsaWVudGUvJztcclxuICAgIHRoaXMuT1BFUkFET1JfQkFTRV9VUkwgPSB0aGlzLlJPT1RfVVJMICsgXCJPcGVyYWRvci9cIlxyXG4gICAgdGhpcy5TVUlURV9CQVNFX1VSTCA9IHRoaXMuUk9PVF9VUkwgKyBcIlN1aXRlQmFzZS9cIjtcclxuICAgIHRoaXMuVVBMT0FEX0NPTlRFTlRfQkFTRV9VUkwgPSB1cGxvYWRDb250ZW50VXJsO1xyXG4gIH1cclxuXHJcbiAgZ2V0RnVuY2lvbmFyaW9zKGV4aWJlSW5hdGl2byA6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8RnVuY2lvbmFyaW9bXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5GVU5DSU9OQVJJT19CQVNFX1VSTDtcclxuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcclxuICAgIC5zZXQoXCJleGliZUluYXRpdm9cIiwgJycgKyBleGliZUluYXRpdm8pO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RnVuY2lvbmFyaW9bXT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKHBhcmFtcykpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBnZXRGdW5jaW9uYXJpb3NDYXJnb3MoKTogT2JzZXJ2YWJsZTxGdW5jaW9uYXJpb0NhcmdvW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRlVOQ0lPTkFSSU9fQ0FSR09fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxGdW5jaW9uYXJpb0NhcmdvW10+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcblxyXG4gIGJ1c2NhRnVuY2lvbmFyaW8oc2V0dGluZzogU2VhcmNoU2V0dGluZyk6IE9ic2VydmFibGU8RnVuY2lvbmFyaW9bXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5GVU5DSU9OQVJJT19CQVNFX1VSTCArIENvbW1vbldlYlNlcnZpY2UuVVJMX1BBUlRfQlVTQ0E7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RnVuY2lvbmFyaW9bXT4odXJsLCBKU09OLnN0cmluZ2lmeShzZXR0aW5nKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZ2V0TmV4dElkRnVuY2lvbmFyaW8oKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRlVOQ0lPTkFSSU9fQkFTRV9VUkwgKyBDb21tb25XZWJTZXJ2aWNlLlVSTF9QQVJUX05FWFRfSUQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxudW1iZXI+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZ2V0QWxsRnVuY2lvbmFyaW8oKTogT2JzZXJ2YWJsZTxGdW5jaW9uYXJpb1tdPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLkZVTkNJT05BUklPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RnVuY2lvbmFyaW9bXT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBzYXZlRnVuY2lvbmFyaW8oczogRnVuY2lvbmFyaW8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5GVU5DSU9OQVJJT19CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGFkZEZ1bmNpb25hcmlvKHA6IEZ1bmNpb25hcmlvKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRlVOQ0lPTkFSSU9fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocCksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGRlbGV0ZUZ1bmNpb25hcmlvKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5GVU5DSU9OQVJJT19CQVNFX1VSTCArIGlkO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8YW55Pih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG5cclxuICBcclxuICBidXNjYVBhZ2luYWRhUHJvZHV0b3Moc2V0dGluZyA6IFNlYXJjaFNldHRpbmcsIHBhZ2UgOiBudW1iZXIsIHBhZ2VTaXplIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxQYWdpbmdSZXN1bHQ8UHJvZHV0bz4+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19CQVNFX1VSTCArIENvbW1vbldlYlNlcnZpY2UuVVJMX1BBUlRfQlVTQ0FfUEFHSU5BREE7XHJcbiAgICBjb25zdCBwID0geyBzZXR0aW5nOiBzZXR0aW5nLCBwYWdlOiBwYWdlLCBwYWdlU2l6ZTogcGFnZVNpemUgfTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxQYWdpbmdSZXN1bHQ8UHJvZHV0bz4+KHVybCwgSlNPTi5zdHJpbmdpZnkocCksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldE5leHRJZFByb2R1dG8oKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19CQVNFX1VSTCArIENvbW1vbldlYlNlcnZpY2UuVVJMX1BBUlRfTkVYVF9JRDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PG51bWJlcj4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBnZXRQcm9kdXRvSGlzdG9yeShpZCA6IG51bWJlcik6IE9ic2VydmFibGU8UHJvZHV0b1tdPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fQkFTRV9VUkwgKyAnR2V0SGlzdG9yeS8nICsgaWQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxQcm9kdXRvW10+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZmluZFByb2R1dG8ocHJvZHV0b0lkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxQcm9kdXRvPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fQkFTRV9VUkwgKyBwcm9kdXRvSWQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxQcm9kdXRvPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIHNhdmVQcm9kdXRvSW5mb3JtYWNvZXNBZGljaW9uYWlzKHM6IFByb2R1dG9JbmZvcm1hY29lc0FkaWNpb25haXMpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0lORk9STUFDT0VTX0FESUNJT05BSVNfQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHMpLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBmaW5kUHJvZHV0b0luZm9ybWFjb2VzQWRpY2lvbmFpcyhwcm9kdXRvSWQgOiBudW1iZXIpOiBPYnNlcnZhYmxlPFByb2R1dG9JbmZvcm1hY29lc0FkaWNpb25haXM+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19JTkZPUk1BQ09FU19BRElDSU9OQUlTX0JBU0VfVVJMICsgcHJvZHV0b0lkO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UHJvZHV0b0luZm9ybWFjb2VzQWRpY2lvbmFpcz4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBzYXZlUHJvZHV0byhzOiBQcm9kdXRvKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGFkZFByb2R1dG8ocCA6IFByb2R1dG8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBkZWxldGVQcm9kdXRvKGlkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19CQVNFX1VSTCArIGlkO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8YW55Pih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG5cclxuICBidXNjYVByb2R1dG9HcnVwbyhzZXR0aW5nIDogU2VhcmNoU2V0dGluZyk6IE9ic2VydmFibGU8UHJvZHV0b0dydXBvW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19HUlVQT19CQVNFX1VSTCArIENvbW1vbldlYlNlcnZpY2UuVVJMX1BBUlRfQlVTQ0E7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UHJvZHV0b0dydXBvW10+KHVybCwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfSAgXHJcbiAgZ2V0QWxsUHJvZHV0b0dydXBvKCk6IE9ic2VydmFibGU8UHJvZHV0b0dydXBvW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19HUlVQT19CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFByb2R1dG9HcnVwb1tdPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldE5leHRJZFByb2R1dG9HcnVwbygpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0dSVVBPX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9ORVhUX0lEO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8bnVtYmVyPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIHNhdmVQcm9kdXRvR3J1cG8oczogUHJvZHV0b0dydXBvKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19HUlVQT19CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIHRyYW5zZmVyZVByb2R1dG9HcnVwbyhncnVwb0lkIDogbnVtYmVyLCBub3ZvR3J1cG9JZCA6IG51bWJlcik6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fQkFTRV9VUkwgKyAnQWx0ZXJhR3J1cG8nO1xyXG4gICAgY29uc3QgcCA9IHsgb2xkSWQ6IGdydXBvSWQsIG5ld0lkOiBub3ZvR3J1cG9JZCB9O1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bWJlcj4odXJsLCBKU09OLnN0cmluZ2lmeShwKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgYWRkUHJvZHV0b0dydXBvKHAgOiBQcm9kdXRvR3J1cG8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0dSVVBPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBkZWxldGVQcm9kdXRvR3J1cG8oaWQgOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0dSVVBPX0JBU0VfVVJMICsgaWQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcblxyXG4gIFxyXG4gIGJ1c2NhTmNtKG5jbSA6IHN0cmluZyk6IE9ic2VydmFibGU8TmNtW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19CQVNFX1VSTCArICdCdXNjYU5DTS8nO1xyXG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgLnNldChcIm5jbVwiLCAnJyArIG5jbSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOY21bXT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKHBhcmFtcykpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBcclxuICBmaW5kTmNtKG5jbSA6IHN0cmluZyk6IE9ic2VydmFibGU8TmNtIHwgbnVsbD4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0JBU0VfVVJMICsgJ0ZpbmROQ00vJztcclxuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcclxuICAgIC5zZXQoXCJuY21cIiwgJycgKyBuY20pO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TmNtIHwgbnVsbD4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKHBhcmFtcykpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuXHJcblxyXG4gIGJ1c2NhUHJvZHV0b1N1YmdydXBvKHNldHRpbmcgOiBTZWFyY2hTZXR0aW5nKTogT2JzZXJ2YWJsZTxQcm9kdXRvU3ViZ3J1cG9bXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX1NVQkdSVVBPX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9CVVNDQTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxQcm9kdXRvU3ViZ3J1cG9bXT4odXJsLCBKU09OLnN0cmluZ2lmeShzZXR0aW5nKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZ2V0TmV4dElkUHJvZHV0b1N1YmdydXBvKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fU1VCR1JVUE9fQkFTRV9VUkwgKyBDb21tb25XZWJTZXJ2aWNlLlVSTF9QQVJUX05FWFRfSUQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxudW1iZXI+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgc2F2ZVByb2R1dG9TdWJncnVwbyhzOiBQcm9kdXRvU3ViZ3J1cG8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX1NVQkdSVVBPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBKU09OLnN0cmluZ2lmeShzKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgYWRkUHJvZHV0b1N1YmdydXBvKHAgOiBQcm9kdXRvU3ViZ3J1cG8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX1NVQkdSVVBPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBkZWxldGVQcm9kdXRvU3ViZ3J1cG8oaWQgOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX1NVQkdSVVBPX0JBU0VfVVJMICsgaWQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcblxyXG4gIFxyXG4gIGJ1c2NhUHJvZHV0b0NhdGVnb3JpYUNhcmRhcGlvKHNldHRpbmcgOiBTZWFyY2hTZXR0aW5nKTogT2JzZXJ2YWJsZTxQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW9bXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0NBVEVHT1JJQV9DQVJEQVBJT19CQVNFX1VSTCArIENvbW1vbldlYlNlcnZpY2UuVVJMX1BBUlRfQlVTQ0E7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UHJvZHV0b0NhdGVnb3JpYUNhcmRhcGlvW10+KHVybCwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldE5leHRJZFByb2R1dG9DYXRlZ29yaWFDYXJkYXBpbygpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0NBVEVHT1JJQV9DQVJEQVBJT19CQVNFX1VSTCArIENvbW1vbldlYlNlcnZpY2UuVVJMX1BBUlRfTkVYVF9JRDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PG51bWJlcj4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBzYXZlUHJvZHV0b0NhdGVnb3JpYUNhcmRhcGlvKHM6IFByb2R1dG9DYXRlZ29yaWFDYXJkYXBpbyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fQ0FURUdPUklBX0NBUkRBUElPX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBKU09OLnN0cmluZ2lmeShzKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgYWRkUHJvZHV0b0NhdGVnb3JpYUNhcmRhcGlvKHAgOiBQcm9kdXRvQ2F0ZWdvcmlhQ2FyZGFwaW8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0NBVEVHT1JJQV9DQVJEQVBJT19CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PGFueT4odXJsLCBKU09OLnN0cmluZ2lmeShwKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZGVsZXRlUHJvZHV0b0NhdGVnb3JpYUNhcmRhcGlvKGlkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19DQVRFR09SSUFfQ0FSREFQSU9fQkFTRV9VUkwgKyBpZDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBcclxuXHJcbiAgYnVzY2FQcm9kdXRvR3J1cG9WZXJpZmljYWNhbyhzZXR0aW5nIDogU2VhcmNoU2V0dGluZyk6IE9ic2VydmFibGU8UHJvZHV0b1ZlcmlmaWNhb0dydXBvW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19WRVJJRklDQUNBT19HUlVQT19CQVNFX1VSTCArIENvbW1vbldlYlNlcnZpY2UuVVJMX1BBUlRfQlVTQ0E7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UHJvZHV0b1ZlcmlmaWNhb0dydXBvW10+KHVybCwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldE5leHRJZFByb2R1dG9HcnVwb1ZlcmlmaWNhY2FvKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fVkVSSUZJQ0FDQU9fR1JVUE9fQkFTRV9VUkwgKyBDb21tb25XZWJTZXJ2aWNlLlVSTF9QQVJUX05FWFRfSUQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxudW1iZXI+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgc2F2ZVByb2R1dG9HcnVwb1ZlcmlmaWNhY2FvKHM6IFByb2R1dG9WZXJpZmljYW9HcnVwbyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLlBST0RVVE9fVkVSSUZJQ0FDQU9fR1JVUE9fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHMpLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBhZGRQcm9kdXRvR3J1cG9WZXJpZmljYWNhbyhwIDogUHJvZHV0b1ZlcmlmaWNhb0dydXBvKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19WRVJJRklDQUNBT19HUlVQT19CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PGFueT4odXJsLCBKU09OLnN0cmluZ2lmeShwKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgZGVsZXRlUHJvZHV0b0dydXBvVmVyaWZpY2FjYW8oaWQgOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX1ZFUklGSUNBQ0FPX0dSVVBPX0JBU0VfVVJMICsgaWQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcblxyXG4gIGdldEFsbFNldG9yZXMoKTogT2JzZXJ2YWJsZTxTZXRvckVzdG9xdWVbXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5FU1RPUVVFX1VSTCArICdTZXRvci8nO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2V0b3JFc3RvcXVlW10+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcblxyXG4gIGdldFByb2R1dG9Db21wb3NpY2FvKHByb2R1dG9JZCA6IG51bWJlcik6IE9ic2VydmFibGU8Q29tcG9zaWNvZXM+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19DT01QT1NJQ0FPX0JBU0VfVVJMICsgcHJvZHV0b0lkO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q29tcG9zaWNvZXM+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9ICBcclxuICBzYXZlUHJvZHV0b0NvbXBvc2ljYW8oczogUHJvZHV0b0NvbXBvc2ljYW8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0NPTVBPU0lDQU9fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHMpLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBhZGRQcm9kdXRvQ29tcG9zaWNhbyhwIDogUHJvZHV0b0NvbXBvc2ljYW8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5QUk9EVVRPX0NPTVBPU0lDQU9fQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocCksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGRlbGV0ZVByb2R1dG9Db21wb3NpY2FvKGlkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuUFJPRFVUT19DT01QT1NJQ0FPX0JBU0VfVVJMICsgaWQ7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KHVybCwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcblxyXG5cclxuICBidXNjYUNsaWVudGUoc2V0dGluZyA6IFNlYXJjaFNldHRpbmcpOiBPYnNlcnZhYmxlPENsaWVudGVbXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5DTElFTlRFX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9CVVNDQTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDbGllbnRlW10+KHVybCwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldEFsbENsaWVudGUoKTogT2JzZXJ2YWJsZTxDbGllbnRlW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuQ0xJRU5URV9CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENsaWVudGVbXT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBzYXZlQ2xpZW50ZShzOiBDbGllbnRlKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuQ0xJRU5URV9CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGFkZENsaWVudGUocCA6IENsaWVudGUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5DTElFTlRFX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBkZWxldGVDbGllbnRlKGlkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuQ0xJRU5URV9CQVNFX1VSTCArIGlkO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8YW55Pih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG5cclxuICBidXNjYUZvcm5lY2Vkb3Ioc2V0dGluZyA6IFNlYXJjaFNldHRpbmcpOiBPYnNlcnZhYmxlPEZvcm5lY2Vkb3JbXT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5GT1JORUNFRE9SX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9CVVNDQTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxGb3JuZWNlZG9yW10+KHVybCwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldEFsbEZvcm5lY2Vkb3IoKTogT2JzZXJ2YWJsZTxGb3JuZWNlZG9yW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRk9STkVDRURPUl9CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEZvcm5lY2Vkb3JbXT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBzYXZlRm9ybmVjZWRvcihzOiBGb3JuZWNlZG9yKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRk9STkVDRURPUl9CQVNFX1VSTDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGFkZEZvcm5lY2Vkb3IocCA6IEZvcm5lY2Vkb3IpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5GT1JORUNFRE9SX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih1cmwsIEpTT04uc3RyaW5naWZ5KHApLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuICBkZWxldGVGb3JuZWNlZG9yKGlkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuRk9STkVDRURPUl9CQVNFX1VSTCArIGlkO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8YW55Pih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0T3BlcmFkb3JlcygpOiBPYnNlcnZhYmxlPE9wZXJhZG9yW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuT1BFUkFET1JfQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxPcGVyYWRvcltdPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGJ1c2NhT3BlcmFkb3Ioc2V0dGluZyA6IFNlYXJjaFNldHRpbmcpOiBPYnNlcnZhYmxlPE9wZXJhZG9yW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuT1BFUkFET1JfQkFTRV9VUkwgKyBDb21tb25XZWJTZXJ2aWNlLlVSTF9QQVJUX0JVU0NBO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE9wZXJhZG9yW10+KHVybCwgSlNPTi5zdHJpbmdpZnkoc2V0dGluZyksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGdldE5leHRJZE9wZXJhZG9yKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLk9QRVJBRE9SX0JBU0VfVVJMICsgQ29tbW9uV2ViU2VydmljZS5VUkxfUEFSVF9ORVhUX0lEO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8bnVtYmVyPih1cmwsIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIHNhdmVPcGVyYWRvcihzOiBPcGVyYWRvcik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLk9QRVJBRE9SX0JBU0VfVVJMO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBKU09OLnN0cmluZ2lmeShzKSwgdGhpcy5nZXRIdHRwT3B0aW9ucygpKS5waXBlKG1hcChkYXRhID0+IGRhdGEpKTtcclxuICB9XHJcbiAgYWRkT3BlcmFkb3IocCA6IE9wZXJhZG9yKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuT1BFUkFET1JfQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxhbnk+KHVybCwgSlNPTi5zdHJpbmdpZnkocCksIHRoaXMuZ2V0SHR0cE9wdGlvbnMoKSkucGlwZShtYXAoZGF0YSA9PiBkYXRhKSk7XHJcbiAgfVxyXG4gIGRlbGV0ZU9wZXJhZG9yKGlkIDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuT1BFUkFET1JfQkFTRV9VUkwgKyBpZDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3VpdGVzKCk6IE9ic2VydmFibGU8U3VpdGVCYXNlW10+IHtcclxuICAgIGNvbnN0IHVybCA9IHRoaXMuU1VJVEVfQkFTRV9VUkw7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTdWl0ZUJhc2VbXT4odXJsLCB0aGlzLmdldEh0dHBPcHRpb25zKCkpLnBpcGUobWFwKGRhdGEgPT4gZGF0YSkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SHR0cE9wdGlvbnMocGFyYW1ldGVycz86IEh0dHBQYXJhbXMpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICBcIkFjY2VwdFwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICBcIkF1dGhvcml6YXRpb25cIjogJ3Rva2VuICcgKyB0aGlzLnRva2VuLFxyXG4gICAgICB9KSxcclxuICAgICAgcGFyYW1zOiBwYXJhbWV0ZXJzXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRFeGNlbE9wdGlvbnMocGFyYW1ldGVycz86IEh0dHBQYXJhbXMpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICBcIkFjY2VwdFwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICBcIkF1dGhvcml6YXRpb25cIjogJ3Rva2VuICcgKyB0aGlzLnRva2VuLFxyXG4gICAgICB9KSxcclxuICAgICAgcGFyYW1zOiBwYXJhbWV0ZXJzLFxyXG4gICAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgYXMgJ2pzb24nLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldEh0bWxPcHRpb25zKHBhcmFtZXRlcnM/OiBIdHRwUGFyYW1zKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICAgXCJBY2NlcHRcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgICAgICAgXCJBdXRob3JpemF0aW9uXCI6ICd0b2tlbiAnICsgdGhpcy50b2tlbixcclxuICAgICAgfSksXHJcbiAgICAgIHBhcmFtczogcGFyYW1ldGVycyxcclxuICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcgYXMgJ2pzb24nLFxyXG4gICAgfTtcclxuICB9XHJcbn0iXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -33,6 +33,7 @@ export * from './lib/cadastros/produtos-subgrupos/produtos-subgrupos/produtos-su
|
|
|
33
33
|
export * from './lib/cadastros/produtos-subgrupos/produto-subgrupo-selecao-dialog/produto-subgrupo-selecao-dialog.component';
|
|
34
34
|
export * from './lib/cadastros/produtos/produto-composicao/produto-composicao.component';
|
|
35
35
|
export * from './lib/cadastros/produtos/produto-composicao-add-dialog/produto-composicao-add-dialog.component';
|
|
36
|
+
export * from './lib/cadastros/produtos-informacoes-adicionais/produtos-informacoes-adicionais.component';
|
|
36
37
|
export * from './lib/cadastros/produtos-history/produtos-history.component';
|
|
37
38
|
export * from './lib/cadastros/clientes/clientes/clientes-form.component';
|
|
38
39
|
export * from './lib/cadastros/clientes/clientes/clientes.component';
|
|
@@ -98,4 +99,4 @@ export * from './lib/providers/focus.service';
|
|
|
98
99
|
export * from './lib/providers/preference.service';
|
|
99
100
|
export * from './lib/providers/safe-html.pipe';
|
|
100
101
|
export * from './lib/providers/screen-helper.service';
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL294cGktbmdsaWIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCwyQ0FBMkM7QUFDM0MsY0FBYyxzRkFBc0YsQ0FBQztBQUNyRyxjQUFjLHdGQUF3RixDQUFDO0FBQ3ZHLGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYyxrRUFBa0UsQ0FBQztBQUVqRixjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsOEZBQThGLENBQUM7QUFDN0csY0FBYyw0RUFBNEUsQ0FBQztBQUMzRixjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxrRkFBa0YsQ0FBQztBQUVqRyxjQUFjLG1JQUFtSSxDQUFDO0FBQ2xKLGNBQWMscUlBQXFJLENBQUM7QUFDcEosY0FBYywySUFBMkksQ0FBQztBQUMxSixjQUFjLGlIQUFpSCxDQUFDO0FBRWhJLGNBQWMsZ0lBQWdJLENBQUM7QUFDL0ksY0FBYyxrSUFBa0ksQ0FBQztBQUNqSixjQUFjLHdJQUF3SSxDQUFDO0FBQ3ZKLGNBQWMsNEdBQTRHLENBQUM7QUFFM0gsY0FBYyxpRkFBaUYsQ0FBQztBQUNoRyxjQUFjLDZGQUE2RixDQUFDO0FBQzVHLGNBQWMsK0ZBQStGLENBQUM7QUFDOUcsY0FBYyxpRkFBaUYsQ0FBQztBQUNoRyxjQUFjLHFHQUFxRyxDQUFDO0FBQ3BILGNBQWMsMkVBQTJFLENBQUM7QUFFMUYsY0FBYyxtRUFBbUUsQ0FBQztBQUVsRixjQUFjLHNHQUFzRyxDQUFDO0FBQ3JILGNBQWMsd0dBQXdHLENBQUM7QUFDdkgsY0FBYyxvRkFBb0YsQ0FBQztBQUNuRyxjQUFjLDhHQUE4RyxDQUFDO0FBRTdILGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYyxnR0FBZ0csQ0FBQztBQUUvRyxjQUFjLDZEQUE2RCxDQUFDO0FBRTVFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDRFQUE0RSxDQUFDO0FBQzNGLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYyxrRkFBa0YsQ0FBQztBQUVqRyxjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyx3RkFBd0YsQ0FBQztBQUN2RyxjQUFjLDBGQUEwRixDQUFDO0FBQ3pHLGNBQWMsNEZBQTRGLENBQUM7QUFFM0csY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLG9EQUFvRCxDQUFDO0FBRW5FLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsa0NBQWtDLENBQUM7QUFHakQsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RCxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxtREFBbUQsQ0FBQztBQUVsRSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG94cGktbmdsaWJcbiAqL1xuXG4vL2V4cG9ydCAqIGZyb20gJy4vbGliL294cGktbmdsaWIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvZnVuY2lvbmFyaW9zL2Z1bmNpb25hcmlvLWFkZC1kaWFsb2cvZnVuY2lvbmFyaW8tYWRkLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL2Z1bmNpb25hcmlvcy9mdW5jaW9uYXJpby1lZGl0LWRpYWxvZy9mdW5jaW9uYXJpby1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL2Z1bmNpb25hcmlvcy9mdW5jaW9uYXJpby1mb3JtL2Z1bmNpb25hcmlvLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9mdW5jaW9uYXJpb3MvZnVuY2lvbmFyaW9zL2Z1bmNpb25hcmlvcy5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MvcHJvZHV0by1hZGQtZGlhbG9nL3Byb2R1dG8tYWRkLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG8tYnVzY2EtZmlsdHJvcy1kaWFsb2cvcHJvZHV0by1idXNjYS1maWx0cm9zLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG8tZWRpdC1kaWFsb2cvcHJvZHV0by1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG8tZm9ybS9wcm9kdXRvLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9wcm9kdXRvcy9wcm9kdXRvcy9wcm9kdXRvcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG8tc2VsZWNhby1kaWFsb2cvcHJvZHV0by1zZWxlY2FvLWRpYWxvZy5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MtY2F0ZWdvcmlhLWNhcmRhcGlvL3Byb2R1dG8tY2F0ZWdvcmlhLWNhcmRhcGlvLWFkZC1kaWFsb2cvcHJvZHV0by1jYXRlZ29yaWEtY2FyZGFwaW8tYWRkLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLWNhdGVnb3JpYS1jYXJkYXBpby9wcm9kdXRvLWNhdGVnb3JpYS1jYXJkYXBpby1lZGl0LWRpYWxvZy9wcm9kdXRvLWNhdGVnb3JpYS1jYXJkYXBpby1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLWNhdGVnb3JpYS1jYXJkYXBpby9wcm9kdXRvLWNhdGVnb3JpYS1jYXJkYXBpby1zZWxlY2FvLWRpYWxvZy9wcm9kdXRvLWNhdGVnb3JpYS1jYXJkYXBpby1zZWxlY2FvLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLWNhdGVnb3JpYS1jYXJkYXBpby9wcm9kdXRvcy1jYXRlZ29yaWFzLWNhcmRhcGlvL3Byb2R1dG9zLWNhdGVnb3JpYXMtY2FyZGFwaW8uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLXZlcmlmaWNhY2FvLWdydXBvL3Byb2R1dG8tdmVyaWZpY2FjYW8tZ3J1cG8tYWRkLWRpYWxvZy9wcm9kdXRvLXZlcmlmaWNhY2FvLWdydXBvLWFkZC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9wcm9kdXRvcy12ZXJpZmljYWNhby1ncnVwby9wcm9kdXRvLXZlcmlmaWNhY2FvLWdydXBvLWVkaXQtZGlhbG9nL3Byb2R1dG8tdmVyaWZpY2FjYW8tZ3J1cG8tZWRpdC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9wcm9kdXRvcy12ZXJpZmljYWNhby1ncnVwby9wcm9kdXRvLXZlcmlmaWNhY2FvLWdydXBvLXNlbGVjYW8tZGlhbG9nL3Byb2R1dG8tdmVyaWZpY2FjYW8tZ3J1cG8tc2VsZWNhby1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9wcm9kdXRvcy12ZXJpZmljYWNhby1ncnVwby9wcm9kdXRvcy12ZXJpZmljYWNhby1ncnVwby9wcm9kdXRvcy12ZXJpZmljYWNhby1ncnVwby5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MtZ3J1cG9zL21vdmVyLWdydXBvLWRpYWxvZy9tb3Zlci1ncnVwby1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9wcm9kdXRvcy1ncnVwb3MvcHJvZHV0by1ncnVwby1hZGQtZGlhbG9nL3Byb2R1dG8tZ3J1cG8tYWRkLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLWdydXBvcy9wcm9kdXRvLWdydXBvLWVkaXQtZGlhbG9nL3Byb2R1dG8tZ3J1cG8tZWRpdC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9wcm9kdXRvcy1ncnVwb3MvcHJvZHV0by1ncnVwby1mb3JtL3Byb2R1dG8tZ3J1cG8tZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLWdydXBvcy9wcm9kdXRvLWdydXBvLXNlbGVjYW8tZGlhbG9nL3Byb2R1dG8tZ3J1cG8tc2VsZWNhby1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9wcm9kdXRvcy1ncnVwb3MvcHJvZHV0b3MtZ3J1cG9zL3Byb2R1dG9zLWdydXBvcy5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MtbmNtLWRpYWxvZy9wcm9kdXRvcy1uY20tZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9wcm9kdXRvcy1zdWJncnVwb3MvcHJvZHV0by1zdWJncnVwby1hZGQtZGlhbG9nL3Byb2R1dG8tc3ViZ3J1cG8tYWRkLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLXN1YmdydXBvcy9wcm9kdXRvLXN1YmdydXBvLWVkaXQtZGlhbG9nL3Byb2R1dG8tc3ViZ3J1cG8tZWRpdC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9wcm9kdXRvcy1zdWJncnVwb3MvcHJvZHV0b3Mtc3ViZ3J1cG9zL3Byb2R1dG9zLXN1YmdydXBvcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLXN1YmdydXBvcy9wcm9kdXRvLXN1YmdydXBvLXNlbGVjYW8tZGlhbG9nL3Byb2R1dG8tc3ViZ3J1cG8tc2VsZWNhby1kaWFsb2cuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG8tY29tcG9zaWNhby9wcm9kdXRvLWNvbXBvc2ljYW8uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9wcm9kdXRvcy9wcm9kdXRvLWNvbXBvc2ljYW8tYWRkLWRpYWxvZy9wcm9kdXRvLWNvbXBvc2ljYW8tYWRkLWRpYWxvZy5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MtaGlzdG9yeS9wcm9kdXRvcy1oaXN0b3J5LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9jbGllbnRlcy9jbGllbnRlcy9jbGllbnRlcy1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvY2xpZW50ZXMvY2xpZW50ZXMvY2xpZW50ZXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9jbGllbnRlcy9jbGllbnRlcy1hZGQtZGlhbG9nL2NsaWVudGVzLWFkZC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9jbGllbnRlcy9jbGllbnRlcy1lZGl0LWRpYWxvZy9jbGllbnRlcy1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL2NsaWVudGVzL3NlbGVjYW8tY2xpZW50ZS1kaWFsb2cvc2VsZWNhby1jbGllbnRlLWRpYWxvZy5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvZm9ybmVjZWRvcmVzL2Zvcm5lY2Vkb3Jlcy9mb3JuZWNlZG9yZXMtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL2Zvcm5lY2Vkb3Jlcy9mb3JuZWNlZG9yZXMvZm9ybmVjZWRvcmVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvZm9ybmVjZWRvcmVzL2Zvcm5lY2Vkb3Jlcy1hZGQtZGlhbG9nL2Zvcm5lY2Vkb3Jlcy1hZGQtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvZm9ybmVjZWRvcmVzL2Zvcm5lY2Vkb3Jlcy1lZGl0LWRpYWxvZy9mb3JuZWNlZG9yZXMtZWRpdC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9mb3JuZWNlZG9yZXMvc2VsZWNhby1mb3JuZWNlZG9yLWRpYWxvZy9zZWxlY2FvLWZvcm5lY2Vkb3ItZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL2J1c3ktaW5kaWNhdG9yL2J1c3ktaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9scy9jaGVjay1idXR0b24vY2hlY2stYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9scy9pbWFnZS12aWV3ZXIvaW1hZ2Utdmlld2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9scy9tb250aC15ZWFyLXBpY2tlci9tb250aC15ZWFyLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbHMvbnVtZXJpYy1waWNrZXIvbnVtZXJpYy1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL3JhZGlvLWJ1dHRvbi1ncm91cC9yYWRpby1idXR0b24tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL2l0ZW0tY2FyZC9pdGVtLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL3Byb2R1dG8tY2FyZC9wcm9kdXRvLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL3NlbGVjYW8tbGlzdC1pdGVtL3NlbGVjYW8tbGlzdC1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9scy9hbGVydC1kaWFsb2cvYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL294cGktbmdsaWIubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VudGlkYWRlcy9pZC1ub21lLW1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9lbnRpZGFkZXMvbG9naW4taXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW50aWRhZGVzL2xvZ2luLXJlc3VsdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW50aWRhZGVzL3Blcm1pc3NvZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VudGlkYWRlcy9zZW5zb3Jlcy1kZWYnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VudGlkYWRlcy91c3VhcmlvJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9lbnRpZGFkZXMvcHJvZHV0by1ncnVwbyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW50aWRhZGVzL3Byb2R1dG8tbmNtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9lbnRpZGFkZXMvcHJvZHV0byc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW50aWRhZGVzL3NldG9yLWVzdG9xdWUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VudGlkYWRlcy9wcm9kdXRvLWNvbXBvc2ljYW8nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VudGlkYWRlcy9wZXNzb2EnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VudGlkYWRlcy9vcGVyYWRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW50aWRhZGVzL3N1aXRlLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VudGlkYWRlcy9vd25lcnNoaXAnO1xuXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90dXBsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmZyYS9idXN5LXN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmZyYS9sYXp5LXRyaWdnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luZnJhL251bWJlci1wYXJzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luZnJhL29yZGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmZyYS9wYWdpbmctcmVzdWx0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmZyYS91dGlscy1tZXRob2RzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmZyYS92YWxpZGF0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5mcmEvc2VsZWNhby11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5mcmEvY29udmVydC1zZXR0aW5nLXRvLXN0cmluZyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2FuaW1hdGlvbnMvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXR0aW5ncy9QYWdhbWVudG9SZWNlYmltZW50b1NlYXJjaFNldHRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NldHRpbmdzL2NvbnN1bW8tcHJvZHV0by1zZWFyY2gtc2V0dGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2V0dGluZ3MvZHVwbGljYXRhLXNlYXJjaC1zZXR0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXR0aW5ncy9vY3VwYWNhby1maWx0ZXItc2V0dGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2V0dGluZ3Mvb2N1cGFjYW8tc2VhcmNoLXNldHRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NldHRpbmdzL3NlYXJjaC1zZXR0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXR0aW5ncy9wcm9kdXRvLXNlYXJjaC1zZXR0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXR0aW5ncy9zdWl0ZXMtaW50ZXJ2ZW5jb2VzLXNldHRpbmcnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm92aWRlcnMvZXhwb3J0LmZpbGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm92aWRlcnMvYXV0aC1kYXRhLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvdmlkZXJzL2NvbW1vbi13ZWItc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm92aWRlcnMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvdmlkZXJzL2ZvY3VzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvdmlkZXJzL3ByZWZlcmVuY2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm92aWRlcnMvc2FmZS1odG1sLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvdmlkZXJzL3NjcmVlbi1oZWxwZXIuc2VydmljZSc7Il19
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL294cGktbmdsaWIvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCwyQ0FBMkM7QUFDM0MsY0FBYyxzRkFBc0YsQ0FBQztBQUNyRyxjQUFjLHdGQUF3RixDQUFDO0FBQ3ZHLGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYyxrRUFBa0UsQ0FBQztBQUVqRixjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsOEZBQThGLENBQUM7QUFDN0csY0FBYyw0RUFBNEUsQ0FBQztBQUMzRixjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxrRkFBa0YsQ0FBQztBQUVqRyxjQUFjLG1JQUFtSSxDQUFDO0FBQ2xKLGNBQWMscUlBQXFJLENBQUM7QUFDcEosY0FBYywySUFBMkksQ0FBQztBQUMxSixjQUFjLGlIQUFpSCxDQUFDO0FBRWhJLGNBQWMsZ0lBQWdJLENBQUM7QUFDL0ksY0FBYyxrSUFBa0ksQ0FBQztBQUNqSixjQUFjLHdJQUF3SSxDQUFDO0FBQ3ZKLGNBQWMsNEdBQTRHLENBQUM7QUFFM0gsY0FBYyxpRkFBaUYsQ0FBQztBQUNoRyxjQUFjLDZGQUE2RixDQUFDO0FBQzVHLGNBQWMsK0ZBQStGLENBQUM7QUFDOUcsY0FBYyxpRkFBaUYsQ0FBQztBQUNoRyxjQUFjLHFHQUFxRyxDQUFDO0FBQ3BILGNBQWMsMkVBQTJFLENBQUM7QUFFMUYsY0FBYyxtRUFBbUUsQ0FBQztBQUVsRixjQUFjLHNHQUFzRyxDQUFDO0FBQ3JILGNBQWMsd0dBQXdHLENBQUM7QUFDdkgsY0FBYyxvRkFBb0YsQ0FBQztBQUNuRyxjQUFjLDhHQUE4RyxDQUFDO0FBRTdILGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYyxnR0FBZ0csQ0FBQztBQUMvRyxjQUFjLDJGQUEyRixDQUFDO0FBQzFHLGNBQWMsNkRBQTZELENBQUM7QUFFNUUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsNEVBQTRFLENBQUM7QUFDM0YsY0FBYyw4RUFBOEUsQ0FBQztBQUM3RixjQUFjLGtGQUFrRixDQUFDO0FBRWpHLGNBQWMsdUVBQXVFLENBQUM7QUFDdEYsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLHdGQUF3RixDQUFDO0FBQ3ZHLGNBQWMsMEZBQTBGLENBQUM7QUFDekcsY0FBYyw0RkFBNEYsQ0FBQztBQUUzRyxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsb0RBQW9ELENBQUM7QUFFbkUsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUdqRCxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDhDQUE4QyxDQUFDO0FBRTdELGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG1EQUFtRCxDQUFDO0FBRWxFLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygb3hwaS1uZ2xpYlxuICovXG5cbi8vZXhwb3J0ICogZnJvbSAnLi9saWIvb3hwaS1uZ2xpYi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9mdW5jaW9uYXJpb3MvZnVuY2lvbmFyaW8tYWRkLWRpYWxvZy9mdW5jaW9uYXJpby1hZGQtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvZnVuY2lvbmFyaW9zL2Z1bmNpb25hcmlvLWVkaXQtZGlhbG9nL2Z1bmNpb25hcmlvLWVkaXQtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvZnVuY2lvbmFyaW9zL2Z1bmNpb25hcmlvLWZvcm0vZnVuY2lvbmFyaW8tZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL2Z1bmNpb25hcmlvcy9mdW5jaW9uYXJpb3MvZnVuY2lvbmFyaW9zLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9wcm9kdXRvcy9wcm9kdXRvLWFkZC1kaWFsb2cvcHJvZHV0by1hZGQtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MvcHJvZHV0by1idXNjYS1maWx0cm9zLWRpYWxvZy9wcm9kdXRvLWJ1c2NhLWZpbHRyb3MtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MvcHJvZHV0by1lZGl0LWRpYWxvZy9wcm9kdXRvLWVkaXQtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MvcHJvZHV0by1mb3JtL3Byb2R1dG8tZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG9zL3Byb2R1dG9zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MvcHJvZHV0by1zZWxlY2FvLWRpYWxvZy9wcm9kdXRvLXNlbGVjYW8tZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9wcm9kdXRvcy1jYXRlZ29yaWEtY2FyZGFwaW8vcHJvZHV0by1jYXRlZ29yaWEtY2FyZGFwaW8tYWRkLWRpYWxvZy9wcm9kdXRvLWNhdGVnb3JpYS1jYXJkYXBpby1hZGQtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MtY2F0ZWdvcmlhLWNhcmRhcGlvL3Byb2R1dG8tY2F0ZWdvcmlhLWNhcmRhcGlvLWVkaXQtZGlhbG9nL3Byb2R1dG8tY2F0ZWdvcmlhLWNhcmRhcGlvLWVkaXQtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MtY2F0ZWdvcmlhLWNhcmRhcGlvL3Byb2R1dG8tY2F0ZWdvcmlhLWNhcmRhcGlvLXNlbGVjYW8tZGlhbG9nL3Byb2R1dG8tY2F0ZWdvcmlhLWNhcmRhcGlvLXNlbGVjYW8tZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MtY2F0ZWdvcmlhLWNhcmRhcGlvL3Byb2R1dG9zLWNhdGVnb3JpYXMtY2FyZGFwaW8vcHJvZHV0b3MtY2F0ZWdvcmlhcy1jYXJkYXBpby5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MtdmVyaWZpY2FjYW8tZ3J1cG8vcHJvZHV0by12ZXJpZmljYWNhby1ncnVwby1hZGQtZGlhbG9nL3Byb2R1dG8tdmVyaWZpY2FjYW8tZ3J1cG8tYWRkLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLXZlcmlmaWNhY2FvLWdydXBvL3Byb2R1dG8tdmVyaWZpY2FjYW8tZ3J1cG8tZWRpdC1kaWFsb2cvcHJvZHV0by12ZXJpZmljYWNhby1ncnVwby1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLXZlcmlmaWNhY2FvLWdydXBvL3Byb2R1dG8tdmVyaWZpY2FjYW8tZ3J1cG8tc2VsZWNhby1kaWFsb2cvcHJvZHV0by12ZXJpZmljYWNhby1ncnVwby1zZWxlY2FvLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLXZlcmlmaWNhY2FvLWdydXBvL3Byb2R1dG9zLXZlcmlmaWNhY2FvLWdydXBvL3Byb2R1dG9zLXZlcmlmaWNhY2FvLWdydXBvLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9wcm9kdXRvcy1ncnVwb3MvbW92ZXItZ3J1cG8tZGlhbG9nL21vdmVyLWdydXBvLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLWdydXBvcy9wcm9kdXRvLWdydXBvLWFkZC1kaWFsb2cvcHJvZHV0by1ncnVwby1hZGQtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MtZ3J1cG9zL3Byb2R1dG8tZ3J1cG8tZWRpdC1kaWFsb2cvcHJvZHV0by1ncnVwby1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLWdydXBvcy9wcm9kdXRvLWdydXBvLWZvcm0vcHJvZHV0by1ncnVwby1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MtZ3J1cG9zL3Byb2R1dG8tZ3J1cG8tc2VsZWNhby1kaWFsb2cvcHJvZHV0by1ncnVwby1zZWxlY2FvLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLWdydXBvcy9wcm9kdXRvcy1ncnVwb3MvcHJvZHV0b3MtZ3J1cG9zLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9wcm9kdXRvcy1uY20tZGlhbG9nL3Byb2R1dG9zLW5jbS1kaWFsb2cuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLXN1YmdydXBvcy9wcm9kdXRvLXN1YmdydXBvLWFkZC1kaWFsb2cvcHJvZHV0by1zdWJncnVwby1hZGQtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3Mtc3ViZ3J1cG9zL3Byb2R1dG8tc3ViZ3J1cG8tZWRpdC1kaWFsb2cvcHJvZHV0by1zdWJncnVwby1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zLXN1YmdydXBvcy9wcm9kdXRvcy1zdWJncnVwb3MvcHJvZHV0b3Mtc3ViZ3J1cG9zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3Mtc3ViZ3J1cG9zL3Byb2R1dG8tc3ViZ3J1cG8tc2VsZWNhby1kaWFsb2cvcHJvZHV0by1zdWJncnVwby1zZWxlY2FvLWRpYWxvZy5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MvcHJvZHV0by1jb21wb3NpY2FvL3Byb2R1dG8tY29tcG9zaWNhby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL3Byb2R1dG9zL3Byb2R1dG8tY29tcG9zaWNhby1hZGQtZGlhbG9nL3Byb2R1dG8tY29tcG9zaWNhby1hZGQtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MtaW5mb3JtYWNvZXMtYWRpY2lvbmFpcy9wcm9kdXRvcy1pbmZvcm1hY29lcy1hZGljaW9uYWlzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvcHJvZHV0b3MtaGlzdG9yeS9wcm9kdXRvcy1oaXN0b3J5LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9jbGllbnRlcy9jbGllbnRlcy9jbGllbnRlcy1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvY2xpZW50ZXMvY2xpZW50ZXMvY2xpZW50ZXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9jbGllbnRlcy9jbGllbnRlcy1hZGQtZGlhbG9nL2NsaWVudGVzLWFkZC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9jbGllbnRlcy9jbGllbnRlcy1lZGl0LWRpYWxvZy9jbGllbnRlcy1lZGl0LWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL2NsaWVudGVzL3NlbGVjYW8tY2xpZW50ZS1kaWFsb2cvc2VsZWNhby1jbGllbnRlLWRpYWxvZy5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvZm9ybmVjZWRvcmVzL2Zvcm5lY2Vkb3Jlcy9mb3JuZWNlZG9yZXMtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FkYXN0cm9zL2Zvcm5lY2Vkb3Jlcy9mb3JuZWNlZG9yZXMvZm9ybmVjZWRvcmVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvZm9ybmVjZWRvcmVzL2Zvcm5lY2Vkb3Jlcy1hZGQtZGlhbG9nL2Zvcm5lY2Vkb3Jlcy1hZGQtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWRhc3Ryb3MvZm9ybmVjZWRvcmVzL2Zvcm5lY2Vkb3Jlcy1lZGl0LWRpYWxvZy9mb3JuZWNlZG9yZXMtZWRpdC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhZGFzdHJvcy9mb3JuZWNlZG9yZXMvc2VsZWNhby1mb3JuZWNlZG9yLWRpYWxvZy9zZWxlY2FvLWZvcm5lY2Vkb3ItZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL2J1c3ktaW5kaWNhdG9yL2J1c3ktaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9scy9jaGVjay1idXR0b24vY2hlY2stYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9scy9pbWFnZS12aWV3ZXIvaW1hZ2Utdmlld2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9scy9tb250aC15ZWFyLXBpY2tlci9tb250aC15ZWFyLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29udHJvbHMvbnVtZXJpYy1waWNrZXIvbnVtZXJpYy1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL3JhZGlvLWJ1dHRvbi1ncm91cC9yYWRpby1idXR0b24tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL2l0ZW0tY2FyZC9pdGVtLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL3Byb2R1dG8tY2FyZC9wcm9kdXRvLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL3NlbGVjYW8tbGlzdC1pdGVtL3NlbGVjYW8tbGlzdC1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9scy9hbGVydC1kaWFsb2cvYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL294cGktbmdsaWIubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VudGlkYWRlcy9pZC1ub21lLW1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9lbnRpZGFkZXMvbG9naW4taXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW50aWRhZGVzL2xvZ2luLXJlc3VsdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW50aWRhZGVzL3Blcm1pc3NvZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VudGlkYWRlcy9zZW5zb3Jlcy1kZWYnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VudGlkYWRlcy91c3VhcmlvJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9lbnRpZGFkZXMvcHJvZHV0by1ncnVwbyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW50aWRhZGVzL3Byb2R1dG8tbmNtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9lbnRpZGFkZXMvcHJvZHV0byc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW50aWRhZGVzL3NldG9yLWVzdG9xdWUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VudGlkYWRlcy9wcm9kdXRvLWNvbXBvc2ljYW8nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VudGlkYWRlcy9wZXNzb2EnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VudGlkYWRlcy9vcGVyYWRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZW50aWRhZGVzL3N1aXRlLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2VudGlkYWRlcy9vd25lcnNoaXAnO1xuXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90dXBsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmZyYS9idXN5LXN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmZyYS9sYXp5LXRyaWdnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luZnJhL251bWJlci1wYXJzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2luZnJhL29yZGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmZyYS9wYWdpbmctcmVzdWx0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmZyYS91dGlscy1tZXRob2RzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9pbmZyYS92YWxpZGF0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5mcmEvc2VsZWNhby11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvaW5mcmEvY29udmVydC1zZXR0aW5nLXRvLXN0cmluZyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2FuaW1hdGlvbnMvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXR0aW5ncy9QYWdhbWVudG9SZWNlYmltZW50b1NlYXJjaFNldHRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NldHRpbmdzL2NvbnN1bW8tcHJvZHV0by1zZWFyY2gtc2V0dGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2V0dGluZ3MvZHVwbGljYXRhLXNlYXJjaC1zZXR0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXR0aW5ncy9vY3VwYWNhby1maWx0ZXItc2V0dGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2V0dGluZ3Mvb2N1cGFjYW8tc2VhcmNoLXNldHRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NldHRpbmdzL3NlYXJjaC1zZXR0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXR0aW5ncy9wcm9kdXRvLXNlYXJjaC1zZXR0aW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXR0aW5ncy9zdWl0ZXMtaW50ZXJ2ZW5jb2VzLXNldHRpbmcnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm92aWRlcnMvZXhwb3J0LmZpbGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm92aWRlcnMvYXV0aC1kYXRhLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvdmlkZXJzL2NvbW1vbi13ZWItc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm92aWRlcnMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvdmlkZXJzL2ZvY3VzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvdmlkZXJzL3ByZWZlcmVuY2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm92aWRlcnMvc2FmZS1odG1sLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvdmlkZXJzL3NjcmVlbi1oZWxwZXIuc2VydmljZSc7Il19
|
package/fesm2022/oxpi-nglib.mjs
CHANGED
|
@@ -167,6 +167,7 @@ class CommonWebService {
|
|
|
167
167
|
this.FUNCIONARIO_CARGO_BASE_URL = '';
|
|
168
168
|
this.token = '';
|
|
169
169
|
this.PRODUTO_BASE_URL = '';
|
|
170
|
+
this.PRODUTO_INFORMACOES_ADICIONAIS_BASE_URL = '';
|
|
170
171
|
this.PRODUTO_GRUPO_BASE_URL = '';
|
|
171
172
|
this.PRODUTO_SUBGRUPO_BASE_URL = '';
|
|
172
173
|
this.PRODUTO_CATEGORIA_CARDAPIO_BASE_URL = '';
|
|
@@ -190,6 +191,7 @@ class CommonWebService {
|
|
|
190
191
|
this.FUNCIONARIO_BASE_URL = rootUrl + "Funcionario/";
|
|
191
192
|
this.FUNCIONARIO_CARGO_BASE_URL = rootUrl + "FuncionarioCargo/";
|
|
192
193
|
this.PRODUTO_BASE_URL = rootUrl + "ProdutoFiscal/";
|
|
194
|
+
this.PRODUTO_INFORMACOES_ADICIONAIS_BASE_URL = rootUrl + "ProdutoInformacoesAdicionais/";
|
|
193
195
|
this.PRODUTO_GRUPO_BASE_URL = rootUrl + "ProdutoGrupo/";
|
|
194
196
|
this.PRODUTO_SUBGRUPO_BASE_URL = rootUrl + "ProdutoSubgrupo/";
|
|
195
197
|
this.PRODUTO_CATEGORIA_CARDAPIO_BASE_URL = rootUrl + "ProdutoCategoriaCardapio/";
|
|
@@ -256,6 +258,14 @@ class CommonWebService {
|
|
|
256
258
|
const url = this.PRODUTO_BASE_URL + produtoId;
|
|
257
259
|
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
258
260
|
}
|
|
261
|
+
saveProdutoInformacoesAdicionais(s) {
|
|
262
|
+
const url = this.PRODUTO_INFORMACOES_ADICIONAIS_BASE_URL;
|
|
263
|
+
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
264
|
+
}
|
|
265
|
+
findProdutoInformacoesAdicionais(produtoId) {
|
|
266
|
+
const url = this.PRODUTO_INFORMACOES_ADICIONAIS_BASE_URL + produtoId;
|
|
267
|
+
return this.http.get(url, this.getHttpOptions()).pipe(map(data => data));
|
|
268
|
+
}
|
|
259
269
|
saveProduto(s) {
|
|
260
270
|
const url = this.PRODUTO_BASE_URL;
|
|
261
271
|
return this.http.post(url, JSON.stringify(s), this.getHttpOptions()).pipe(map(data => data));
|
|
@@ -1520,6 +1530,9 @@ function validaProduto(item, focus) {
|
|
|
1520
1530
|
}*/
|
|
1521
1531
|
}
|
|
1522
1532
|
return null;
|
|
1533
|
+
}
|
|
1534
|
+
function validaProdutoInformacoesAdicionais(item, focus) {
|
|
1535
|
+
return null;
|
|
1523
1536
|
}
|
|
1524
1537
|
|
|
1525
1538
|
class NumberParser {
|
|
@@ -2676,7 +2689,8 @@ class ProdutoFormComponent {
|
|
|
2676
2689
|
this.tabs = [
|
|
2677
2690
|
{ name: "Campos Gerais", value: 0 },
|
|
2678
2691
|
{ name: "Campos Fiscais", value: 1 },
|
|
2679
|
-
{ name: "Cardápio Digital", value: 2 }
|
|
2692
|
+
{ name: "Cardápio Digital", value: 2 },
|
|
2693
|
+
{ name: "Informações Adicionais", value: 3 },
|
|
2680
2694
|
];
|
|
2681
2695
|
this.selectedTab = 0;
|
|
2682
2696
|
this.setores = [];
|
|
@@ -3556,6 +3570,69 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
3556
3570
|
args: [MAT_DIALOG_DATA]
|
|
3557
3571
|
}] }, { type: CommonWebService }, { type: NotificationService }, { type: ScreenHelperService }]; } });
|
|
3558
3572
|
|
|
3573
|
+
class ProdutosInformacoesAdicionaisComponent {
|
|
3574
|
+
constructor(ws, dataDialog, http, dialogRef, auth, notification) {
|
|
3575
|
+
this.ws = ws;
|
|
3576
|
+
this.dataDialog = dataDialog;
|
|
3577
|
+
this.http = http;
|
|
3578
|
+
this.dialogRef = dialogRef;
|
|
3579
|
+
this.auth = auth;
|
|
3580
|
+
this.notification = notification;
|
|
3581
|
+
this.model = null;
|
|
3582
|
+
this.isBusy = false;
|
|
3583
|
+
this.focus = new FocusService();
|
|
3584
|
+
}
|
|
3585
|
+
ngOnInit() {
|
|
3586
|
+
this.load();
|
|
3587
|
+
}
|
|
3588
|
+
load() {
|
|
3589
|
+
if (!this.dataDialog)
|
|
3590
|
+
return;
|
|
3591
|
+
this.isBusy = true;
|
|
3592
|
+
this.ws.findProdutoInformacoesAdicionais(this.dataDialog.id)
|
|
3593
|
+
.subscribe({
|
|
3594
|
+
next: r => {
|
|
3595
|
+
this.isBusy = false;
|
|
3596
|
+
this.model = r;
|
|
3597
|
+
}, error: err => {
|
|
3598
|
+
this.isBusy = false;
|
|
3599
|
+
this.notification.showMsg(err.error);
|
|
3600
|
+
}
|
|
3601
|
+
});
|
|
3602
|
+
}
|
|
3603
|
+
salvar() {
|
|
3604
|
+
if (!this.model)
|
|
3605
|
+
return;
|
|
3606
|
+
const valMsg = validaProdutoInformacoesAdicionais(this.model, this.focus);
|
|
3607
|
+
if (valMsg) {
|
|
3608
|
+
this.notification.showMsgError(valMsg);
|
|
3609
|
+
return;
|
|
3610
|
+
}
|
|
3611
|
+
this.isBusy = true;
|
|
3612
|
+
this.ws.saveProdutoInformacoesAdicionais(this.model)
|
|
3613
|
+
.subscribe({
|
|
3614
|
+
next: r => {
|
|
3615
|
+
this.isBusy = false;
|
|
3616
|
+
this.notification.showMsg("Salvo com sucesso.");
|
|
3617
|
+
if (this.dialogRef)
|
|
3618
|
+
this.dialogRef.close(true);
|
|
3619
|
+
}, error: err => {
|
|
3620
|
+
this.isBusy = false;
|
|
3621
|
+
this.notification.showMsg(err.error);
|
|
3622
|
+
}
|
|
3623
|
+
});
|
|
3624
|
+
}
|
|
3625
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ProdutosInformacoesAdicionaisComponent, deps: [{ token: CommonWebService }, { token: MAT_DIALOG_DATA }, { token: i1.HttpClient }, { token: i3.MatDialogRef }, { token: AuthDataService }, { token: NotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3626
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ProdutosInformacoesAdicionaisComponent, selector: "lib-produtos-informacoes-adicionais", ngImport: i0, template: "<div class=\"ox-header\">\n <h2 class=\"titulo\">Informa\u00E7\u00F5es Adicionais</h2>\n <button mat-icon-button [mat-dialog-close]>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<div class=\"dialog-content\"> \n <div class=\"form-group\" *ngIf=\"model\">\n <label>Modo Preparo</label>\n <textarea id=\"modo_preparo\" [(ngModel)]=\"model.modoPreparo\" cols=\"40\" rows=\"5\" class=\"form-control input-300\"\n tabindex=\"2\"></textarea>\n </div>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button color=\"primary\" (click)=\"salvar()\" tabindex=\"9\">SALVAR</button>\n <button mat-button [mat-dialog-close]>VOLTAR</button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }] }); }
|
|
3627
|
+
}
|
|
3628
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ProdutosInformacoesAdicionaisComponent, decorators: [{
|
|
3629
|
+
type: Component,
|
|
3630
|
+
args: [{ selector: 'lib-produtos-informacoes-adicionais', template: "<div class=\"ox-header\">\n <h2 class=\"titulo\">Informa\u00E7\u00F5es Adicionais</h2>\n <button mat-icon-button [mat-dialog-close]>\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<div class=\"dialog-content\"> \n <div class=\"form-group\" *ngIf=\"model\">\n <label>Modo Preparo</label>\n <textarea id=\"modo_preparo\" [(ngModel)]=\"model.modoPreparo\" cols=\"40\" rows=\"5\" class=\"form-control input-300\"\n tabindex=\"2\"></textarea>\n </div>\n</div>\n<div class=\"dialog-footer\">\n <button mat-button color=\"primary\" (click)=\"salvar()\" tabindex=\"9\">SALVAR</button>\n <button mat-button [mat-dialog-close]>VOLTAR</button>\n</div>\n<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>", styles: [":host{background:#fafafa;display:flex;flex-direction:column;height:100%;max-height:99vh}\n"] }]
|
|
3631
|
+
}], ctorParameters: function () { return [{ type: CommonWebService }, { type: undefined, decorators: [{
|
|
3632
|
+
type: Inject,
|
|
3633
|
+
args: [MAT_DIALOG_DATA]
|
|
3634
|
+
}] }, { type: i1.HttpClient }, { type: i3.MatDialogRef }, { type: AuthDataService }, { type: NotificationService }]; } });
|
|
3635
|
+
|
|
3559
3636
|
class ProdutoCardComponent {
|
|
3560
3637
|
get ownership() {
|
|
3561
3638
|
return this._ownership;
|
|
@@ -3793,6 +3870,21 @@ class ProdutosComponent {
|
|
|
3793
3870
|
this.atualiza();
|
|
3794
3871
|
});
|
|
3795
3872
|
}
|
|
3873
|
+
verInformacoesAdicionais() {
|
|
3874
|
+
let height = (window.innerHeight * 0.95) + 'px';
|
|
3875
|
+
let width = 700 + 'px';
|
|
3876
|
+
if (this.mobile) {
|
|
3877
|
+
width = (window.innerWidth * 0.99) + 'px';
|
|
3878
|
+
height = (window.innerHeight * 0.99) + 'px';
|
|
3879
|
+
}
|
|
3880
|
+
this.dialog.open(ProdutosInformacoesAdicionaisComponent, {
|
|
3881
|
+
width: width,
|
|
3882
|
+
height: height,
|
|
3883
|
+
data: this.selectedItem,
|
|
3884
|
+
maxWidth: '100%',
|
|
3885
|
+
panelClass: 'dialog-app',
|
|
3886
|
+
});
|
|
3887
|
+
}
|
|
3796
3888
|
verHistorico() {
|
|
3797
3889
|
let height = (window.innerHeight * 0.95) + 'px';
|
|
3798
3890
|
let width = 700 + 'px';
|
|
@@ -3809,11 +3901,11 @@ class ProdutosComponent {
|
|
|
3809
3901
|
});
|
|
3810
3902
|
}
|
|
3811
3903
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ProdutosComponent, deps: [{ token: CommonWebService }, { token: NotificationService }, { token: i3.MatDialog }, { token: AuthDataService }, { token: i5$1.ActivatedRoute }, { token: ScreenHelperService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3812
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ProdutosComponent, selector: "ox-produtos", ngImport: i0, template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n </div>\n </div>\n</div>\n<div class=\"result-container\" *ngIf=\"items\">\n <div class=\"cards-container cards-container-shadow\" *ngIf=\"mobile\">\n <ox-item-card [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div> \n <div class=\"hbox\" *ngIf=\"mobile\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Produtos</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n\n <ox-produto-card [ownership]=\"i\" [produto]=\"i\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i;\"></ox-produto-card>\n\n </div>\n <div class=\"hbox\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n <div class=\"total-qtd\">Exibindo {{result.inicioQtd}}-{{result.finalQtd}} de {{result.quantidade}}</div>\n \n </div>\n </div>\n <div class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\">Selecione um produto no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <ox-produto-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\" [editMode]=\"true\">\n </ox-produto-form>\n </div>\n\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-raised-button color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">Salvar</button>\n <button (click)=\"composicao()\" mat-raised-button *ngIf=\"selectedItem && usaEstoqueOnline\" tabindex=\"21\">Composi\u00E7\u00E3o</button>\n <button *ngIf=\"selectedItem && selectedItem?.isHistorico !== true\" mat-button (click)=\"verHistorico()\" tabindex=\"29\">\n <i class=\"material-icons\">history</i
|
|
3904
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ProdutosComponent, selector: "ox-produtos", ngImport: i0, template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n </div>\n </div>\n</div>\n<div class=\"result-container\" *ngIf=\"items\">\n <div class=\"cards-container cards-container-shadow\" *ngIf=\"mobile\">\n <ox-item-card [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div> \n <div class=\"hbox\" *ngIf=\"mobile\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Produtos</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n\n <ox-produto-card [ownership]=\"i\" [produto]=\"i\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i;\"></ox-produto-card>\n\n </div>\n <div class=\"hbox\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n <div class=\"total-qtd\">Exibindo {{result.inicioQtd}}-{{result.finalQtd}} de {{result.quantidade}}</div>\n \n </div>\n </div>\n <div class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\">Selecione um produto no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <ox-produto-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\" [editMode]=\"true\">\n </ox-produto-form>\n </div>\n\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-raised-button color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">Salvar</button>\n <button (click)=\"composicao()\" mat-raised-button *ngIf=\"selectedItem && usaEstoqueOnline\" tabindex=\"21\">Composi\u00E7\u00E3o</button>\n <button (click)=\"verInformacoesAdicionais()\" mat-raised-button *ngIf=\"selectedItem\" tabindex=\"21\">Informa\u00E7\u00F5es Adicionais</button>\n <button *ngIf=\"selectedItem && selectedItem?.isHistorico !== true\" mat-button (click)=\"verHistorico()\" tabindex=\"29\">\n <i class=\"material-icons\">history</i>\n </button>\n \n </div>\n </div>\n </div>\n</div>", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#F0F0F0}:host{background-color:#fdfdfd}.total-qtd{align-self:center;font-size:small}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: BusyIndicatorComponent, selector: "ox-busy-indicator", inputs: ["isBusy"] }, { kind: "component", type: PaginatorComponent, selector: "ox-paginator", inputs: ["pageSize", "paginaAtual", "totalPaginas"], outputs: ["paginaAtualChange", "totalPaginasChange", "change"] }, { kind: "component", type: ItemCardComponent, selector: "ox-item-card", inputs: ["nome", "codigo", "star", "cloud", "desativado", "ownership"] }, { kind: "component", type: ProdutoFormComponent, selector: "ox-produto-form", inputs: ["editMode", "model"], outputs: ["nextIdClick"] }, { kind: "component", type: ProdutoCardComponent, selector: "ox-produto-card", inputs: ["produto", "ownership"] }, { kind: "pipe", type: i6.UpperCasePipe, name: "uppercase" }], animations: [fadeAnimation] }); }
|
|
3813
3905
|
}
|
|
3814
3906
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ProdutosComponent, decorators: [{
|
|
3815
3907
|
type: Component,
|
|
3816
|
-
args: [{ selector: 'ox-produtos', animations: [fadeAnimation], template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n </div>\n </div>\n</div>\n<div class=\"result-container\" *ngIf=\"items\">\n <div class=\"cards-container cards-container-shadow\" *ngIf=\"mobile\">\n <ox-item-card [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div> \n <div class=\"hbox\" *ngIf=\"mobile\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Produtos</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n\n <ox-produto-card [ownership]=\"i\" [produto]=\"i\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i;\"></ox-produto-card>\n\n </div>\n <div class=\"hbox\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n <div class=\"total-qtd\">Exibindo {{result.inicioQtd}}-{{result.finalQtd}} de {{result.quantidade}}</div>\n \n </div>\n </div>\n <div class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\">Selecione um produto no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <ox-produto-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\" [editMode]=\"true\">\n </ox-produto-form>\n </div>\n\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-raised-button color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">Salvar</button>\n <button (click)=\"composicao()\" mat-raised-button *ngIf=\"selectedItem && usaEstoqueOnline\" tabindex=\"21\">Composi\u00E7\u00E3o</button>\n <button *ngIf=\"selectedItem && selectedItem?.isHistorico !== true\" mat-button (click)=\"verHistorico()\" tabindex=\"29\">\n <i class=\"material-icons\">history</i
|
|
3908
|
+
args: [{ selector: 'ox-produtos', animations: [fadeAnimation], template: "<ox-busy-indicator [isBusy]=\"isBusy\"></ox-busy-indicator>\n<div class=\"tool-panel\" *ngIf=\"mobile\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo Grupo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir Grupo\">delete</mat-icon>\n </button>\n </div>\n </div>\n</div>\n<div class=\"result-container\" *ngIf=\"items\">\n <div class=\"cards-container cards-container-shadow\" *ngIf=\"mobile\">\n <ox-item-card [desativado]=\"!i.isAtivo\" [cloud]=\"i.enviadoPC\" [nome]=\"i.nome\" *ngFor=\"let i of items\" (click)=\"abreCadastro(i)\"></ox-item-card>\n </div> \n <div class=\"hbox\" *ngIf=\"mobile\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n </div>\n <div class=\"listagem-desktop-grid\" *ngIf=\"!mobile\">\n <div class=\"listagem-column-container listagem-list-column\">\n <h3>Produtos</h3>\n <div class=\"tool-panel tool-panel-float\">\n <div class=\"tool-section\">\n <label>Pesquisa</label>\n <div class=\"search-input-container\">\n <input [(ngModel)]=\"setting.frase\" placeholder=\"Digite um termo de busca...\" (input)=\"lazyTrigger.fire()\">\n <button mat-icon-button (click)=\"filtros()\">\n <mat-icon aria-label=\"Filtros\">manage_search</mat-icon>\n </button>\n </div>\n </div>\n <div class=\"tool-section ordem-sm2\">\n <label>A\u00E7\u00F5es</label>\n <div class=\"tool-row\">\n <button mat-icon-button (click)=\"atualiza()\">\n <mat-icon aria-label=\"Atualizar\">refresh</mat-icon>\n </button>\n <button mat-icon-button (click)=\"novo()\" *ngIf=\"allowAdd\">\n <mat-icon aria-label=\"Novo\">add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"excluir()\" *ngIf=\"selectedItem && allowExcluir\" [@fade]>\n <mat-icon aria-label=\"Excluir\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"listagem-list-container\">\n <h4 *ngIf=\"items.length === 0\" class=\"nenhum-item-msg\">A busca n\u00E3o retornou resultados</h4>\n\n <ox-produto-card [ownership]=\"i\" [produto]=\"i\" *ngFor=\"let i of items\" [class.selected]=\"i === selectedItem\"\n (click)=\"selectedItem = i;\"></ox-produto-card>\n\n </div>\n <div class=\"hbox\">\n <ox-paginator (change)=\"trocaPagina()\" [(paginaAtual)]=\"paginaAtual\" [(totalPaginas)]=\"result.totalPaginas\">\n </ox-paginator>\n <div class=\"total-qtd\">Exibindo {{result.inicioQtd}}-{{result.finalQtd}} de {{result.quantidade}}</div>\n \n </div>\n </div>\n <div class=\"listagem-column-container listagem-column-form\">\n <h3 *ngIf=\"!selectedItem\">Selecione um produto no lado direito</h3>\n <h3 *ngIf=\"selectedItem\">{{selectedItem.nome | uppercase}}</h3>\n <div class=\"listagem-form-container\">\n <ox-produto-form [@fade] [model]=\"selectedItem\" *ngIf=\"selectedItem\" [editMode]=\"true\">\n </ox-produto-form>\n </div>\n\n <div class=\"listagem-form-acoes\">\n <button (click)=\"salvar()\" mat-raised-button color=\"primary\" *ngIf=\"selectedItem\" tabindex=\"20\">Salvar</button>\n <button (click)=\"composicao()\" mat-raised-button *ngIf=\"selectedItem && usaEstoqueOnline\" tabindex=\"21\">Composi\u00E7\u00E3o</button>\n <button (click)=\"verInformacoesAdicionais()\" mat-raised-button *ngIf=\"selectedItem\" tabindex=\"21\">Informa\u00E7\u00F5es Adicionais</button>\n <button *ngIf=\"selectedItem && selectedItem?.isHistorico !== true\" mat-button (click)=\"verHistorico()\" tabindex=\"29\">\n <i class=\"material-icons\">history</i>\n </button>\n \n </div>\n </div>\n </div>\n</div>", styles: [":host{height:calc(100% - 48px);display:flex;flex-grow:1;flex-direction:column;background:#F0F0F0}:host{background-color:#fdfdfd}.total-qtd{align-self:center;font-size:small}\n"] }]
|
|
3817
3909
|
}], ctorParameters: function () { return [{ type: CommonWebService }, { type: NotificationService }, { type: i3.MatDialog }, { type: AuthDataService }, { type: i5$1.ActivatedRoute }, { type: ScreenHelperService }]; } });
|
|
3818
3910
|
|
|
3819
3911
|
class ProdutosCategoriasCardapioComponent {
|
|
@@ -5703,7 +5795,8 @@ class OxpiNglibModule {
|
|
|
5703
5795
|
SelecaoFornecedorDialogComponent,
|
|
5704
5796
|
ProdutosHistoryComponent,
|
|
5705
5797
|
ProdutoCardComponent,
|
|
5706
|
-
SelecaoListItemComponent
|
|
5798
|
+
SelecaoListItemComponent,
|
|
5799
|
+
ProdutosInformacoesAdicionaisComponent], imports: [BrowserModule,
|
|
5707
5800
|
BrowserAnimationsModule,
|
|
5708
5801
|
FormsModule,
|
|
5709
5802
|
MatButtonModule,
|
|
@@ -5795,7 +5888,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
5795
5888
|
SelecaoFornecedorDialogComponent,
|
|
5796
5889
|
ProdutosHistoryComponent,
|
|
5797
5890
|
ProdutoCardComponent,
|
|
5798
|
-
SelecaoListItemComponent
|
|
5891
|
+
SelecaoListItemComponent,
|
|
5892
|
+
ProdutosInformacoesAdicionaisComponent
|
|
5799
5893
|
],
|
|
5800
5894
|
imports: [
|
|
5801
5895
|
BrowserModule,
|
|
@@ -6051,5 +6145,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
6051
6145
|
* Generated bundle index. Do not edit.
|
|
6052
6146
|
*/
|
|
6053
6147
|
|
|
6054
|
-
export { AlertDialogComponent, AuthDataService, BusyIndicatorComponent, BusyState, CheckButtonComponent, ClientesAddDialogComponent, ClientesComponent, ClientesEditDialogComponent, ClientesFormComponent, CommonWebService, ConsumoProdutoSearchSetting, DuplicataSearchSetting, ExportFileService, FocusService, FornecedoresAddDialogComponent, FornecedoresComponent, FornecedoresEditDialogComponent, FornecedoresFormComponent, FuncionarioAddDialogComponent, FuncionarioEditDialogComponent, FuncionarioFormComponent, FuncionariosComponent, ImageViewerComponent, ItemCardComponent, LazyTrigger, MonthYearPickerComponent, MoverGrupoDialogComponent, NavegacaoSelecaoDialogUtil, NotificationService, NumberParser, NumericPickerComponent, OcupacaoConducao, OcupacaoFilterSetting, OcupacaoSearchDateField, OcupacaoSearchSetting, OcupacaoSearchTipoEntrada, Ordem, Ownership, OxpiNglibModule, PagamentoRecebimentoSearchSetting, PaginatorComponent, PorOcupacaoTipo, Preferences, ProdutoAddDialogComponent, ProdutoBuscaFiltrosDialogComponent, ProdutoCardComponent, ProdutoCategoriaCardapioAddDialogComponent, ProdutoCategoriaCardapioEditDialogComponent, ProdutoCategoriaCardapioSelecaoDialogComponent, ProdutoComposicaoAddDialogComponent, ProdutoComposicaoComponent, ProdutoEditDialogComponent, ProdutoFormComponent, ProdutoGrupoAddDialogComponent, ProdutoGrupoEditDialogComponent, ProdutoGrupoFormComponent, ProdutoGrupoSelecaoDialogComponent, ProdutoSearchSetting, ProdutoSelecaoDialogComponent, ProdutoSubgrupoAddDialogComponent, ProdutoSubgrupoEditDialogComponent, ProdutoSubgrupoSelecaoDialogComponent, ProdutoVerificaoGrupoAddDialogComponent, ProdutoVerificaoGrupoEditDialogComponent, ProdutoVerificaoGrupoSelecaoDialogComponent, ProdutosCategoriasCardapioComponent, ProdutosComponent, ProdutosGruposComponent, ProdutosHistoryComponent, ProdutosNcmDialogComponent, ProdutosSubgruposComponent, ProdutosVerificacaoGrupoComponent, RadioButtonGroupComponent, SafeHtmlPipe, ScreenHelperService, SearchMode, SearchSetting, SelecaoClienteDialogComponent, SelecaoFornecedorDialogComponent, SelecaoListItemComponent, SuitesIntervencoesSetting, confirmaExclusao, convertToStringArquivo, createProduct, fadeAnimation, formatCpfCnpj, formatDayMonthYear, geraNomeArquivo, isNotNullOrUndefined, isNullOrUndefined, lateralAnimation, menuLateralAnimation, printHtml, printTxt, selectText, setOwnershipLogin, valNumberEmpty, valNumberMin, valTextEmpty, valTextMax, validCpf, valida, validaCnpj, validaPessoa, validaProduto, validaProdutoComposicao, validaProdutoGrupo, validaSetorEstoque };
|
|
6148
|
+
export { AlertDialogComponent, AuthDataService, BusyIndicatorComponent, BusyState, CheckButtonComponent, ClientesAddDialogComponent, ClientesComponent, ClientesEditDialogComponent, ClientesFormComponent, CommonWebService, ConsumoProdutoSearchSetting, DuplicataSearchSetting, ExportFileService, FocusService, FornecedoresAddDialogComponent, FornecedoresComponent, FornecedoresEditDialogComponent, FornecedoresFormComponent, FuncionarioAddDialogComponent, FuncionarioEditDialogComponent, FuncionarioFormComponent, FuncionariosComponent, ImageViewerComponent, ItemCardComponent, LazyTrigger, MonthYearPickerComponent, MoverGrupoDialogComponent, NavegacaoSelecaoDialogUtil, NotificationService, NumberParser, NumericPickerComponent, OcupacaoConducao, OcupacaoFilterSetting, OcupacaoSearchDateField, OcupacaoSearchSetting, OcupacaoSearchTipoEntrada, Ordem, Ownership, OxpiNglibModule, PagamentoRecebimentoSearchSetting, PaginatorComponent, PorOcupacaoTipo, Preferences, ProdutoAddDialogComponent, ProdutoBuscaFiltrosDialogComponent, ProdutoCardComponent, ProdutoCategoriaCardapioAddDialogComponent, ProdutoCategoriaCardapioEditDialogComponent, ProdutoCategoriaCardapioSelecaoDialogComponent, ProdutoComposicaoAddDialogComponent, ProdutoComposicaoComponent, ProdutoEditDialogComponent, ProdutoFormComponent, ProdutoGrupoAddDialogComponent, ProdutoGrupoEditDialogComponent, ProdutoGrupoFormComponent, ProdutoGrupoSelecaoDialogComponent, ProdutoSearchSetting, ProdutoSelecaoDialogComponent, ProdutoSubgrupoAddDialogComponent, ProdutoSubgrupoEditDialogComponent, ProdutoSubgrupoSelecaoDialogComponent, ProdutoVerificaoGrupoAddDialogComponent, ProdutoVerificaoGrupoEditDialogComponent, ProdutoVerificaoGrupoSelecaoDialogComponent, ProdutosCategoriasCardapioComponent, ProdutosComponent, ProdutosGruposComponent, ProdutosHistoryComponent, ProdutosInformacoesAdicionaisComponent, ProdutosNcmDialogComponent, ProdutosSubgruposComponent, ProdutosVerificacaoGrupoComponent, RadioButtonGroupComponent, SafeHtmlPipe, ScreenHelperService, SearchMode, SearchSetting, SelecaoClienteDialogComponent, SelecaoFornecedorDialogComponent, SelecaoListItemComponent, SuitesIntervencoesSetting, confirmaExclusao, convertToStringArquivo, createProduct, fadeAnimation, formatCpfCnpj, formatDayMonthYear, geraNomeArquivo, isNotNullOrUndefined, isNullOrUndefined, lateralAnimation, menuLateralAnimation, printHtml, printTxt, selectText, setOwnershipLogin, valNumberEmpty, valNumberMin, valTextEmpty, valTextMax, validCpf, valida, validaCnpj, validaPessoa, validaProduto, validaProdutoComposicao, validaProdutoGrupo, validaProdutoInformacoesAdicionais, validaSetorEstoque };
|
|
6055
6149
|
//# sourceMappingURL=oxpi-nglib.mjs.map
|