@senior-gestao-empresarial/erpx-components 4.16.0 → 4.17.1-develop-5b4a01dc
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/bundles/senior-gestao-empresarial-erpx-components.umd.js +2223 -498
- package/bundles/senior-gestao-empresarial-erpx-components.umd.js.map +1 -1
- package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js +2 -2
- package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js.map +1 -1
- package/components/tributos/erp-tributos.component.d.ts +1 -0
- package/components/tributos/erp-tributos.types.d.ts +3 -0
- package/components/tributos/rules/calculation/rules/taxable-base-calculation-rule.d.ts +1 -1
- package/components/tributos/rules/status/registries/incoming-invoice-status-rules.registry.d.ts +5 -1
- package/components/tributos/rules/status/registries/purchase-order-status-rules.registry.d.ts +5 -1
- package/components/tributos/rules/status/rules/tax-rate-status-rule.d.ts +5 -0
- package/components/tributos/rules/status/rules/taxable-base-status-rule.d.ts +5 -0
- package/components/tributos/rules/types/schemas/incoming-invoice.schema.d.ts +30 -0
- package/components/tributos/rules/types/schemas/purchase-order.schema.d.ts +3 -0
- package/esm2015/components/tributos/erp-tributos.component.js +53 -5
- package/esm2015/components/tributos/erp-tributos.types.js +4 -1
- package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/incoming-invoice-calculation-rules.registry.js +421 -1
- package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/purchase-order-calculation-rules.registry.js +43 -1
- package/esm2015/components/tributos/rules/calculation/rules/tax-amount-calculation-rule.js +4 -1
- package/esm2015/components/tributos/rules/calculation/rules/tax-rate-calculation-rule.js +37 -1
- package/esm2015/components/tributos/rules/calculation/rules/taxable-base-calculation-rule.js +39 -2
- package/esm2015/components/tributos/rules/status/registries/incoming-invoice-status-rules.registry.js +312 -4
- package/esm2015/components/tributos/rules/status/registries/purchase-order-status-rules.registry.js +48 -4
- package/esm2015/components/tributos/rules/status/rules/tax-rate-status-rule.js +61 -0
- package/esm2015/components/tributos/rules/status/rules/taxable-base-status-rule.js +65 -0
- package/esm2015/components/tributos/rules/types/schemas/incoming-invoice.schema.js +211 -1
- package/esm2015/components/tributos/rules/types/schemas/purchase-order.schema.js +22 -1
- package/esm2015/components/tributos/rules/validation/registries/incoming-invoice-validation-rules.registry.js +421 -1
- package/esm2015/components/tributos/rules/validation/registries/purchase-order-validation-rules.registry.js +43 -1
- package/esm2015/components/tributos/rules/validation/rules/required/tax-amount-required-validation-rule.js +70 -14
- package/esm2015/components/tributos/rules/validation/rules/required/tax-rate-required-validation-rule.js +64 -2
- package/esm2015/components/tributos/rules/validation/rules/required/taxable-base-required-validation-rule.js +61 -1
- package/esm2015/components/tributos/tax-reform-utilities.js +4 -1
- package/esm2015/senior-gestao-empresarial-erpx-components.js +45 -43
- package/esm5/components/tributos/erp-tributos.component.js +202 -155
- package/esm5/components/tributos/erp-tributos.types.js +4 -1
- package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/incoming-invoice-calculation-rules.registry.js +421 -1
- package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/purchase-order-calculation-rules.registry.js +43 -1
- package/esm5/components/tributos/rules/calculation/rules/tax-amount-calculation-rule.js +4 -1
- package/esm5/components/tributos/rules/calculation/rules/tax-rate-calculation-rule.js +45 -1
- package/esm5/components/tributos/rules/calculation/rules/taxable-base-calculation-rule.js +45 -2
- package/esm5/components/tributos/rules/status/registries/incoming-invoice-status-rules.registry.js +312 -4
- package/esm5/components/tributos/rules/status/registries/purchase-order-status-rules.registry.js +49 -4
- package/esm5/components/tributos/rules/status/rules/tax-rate-status-rule.js +68 -0
- package/esm5/components/tributos/rules/status/rules/taxable-base-status-rule.js +72 -0
- package/esm5/components/tributos/rules/types/schemas/incoming-invoice.schema.js +211 -1
- package/esm5/components/tributos/rules/types/schemas/purchase-order.schema.js +22 -1
- package/esm5/components/tributos/rules/validation/registries/incoming-invoice-validation-rules.registry.js +421 -1
- package/esm5/components/tributos/rules/validation/registries/purchase-order-validation-rules.registry.js +43 -1
- package/esm5/components/tributos/rules/validation/rules/required/tax-amount-required-validation-rule.js +74 -14
- package/esm5/components/tributos/rules/validation/rules/required/tax-rate-required-validation-rule.js +68 -2
- package/esm5/components/tributos/rules/validation/rules/required/taxable-base-required-validation-rule.js +65 -1
- package/esm5/components/tributos/tax-reform-utilities.js +4 -1
- package/esm5/senior-gestao-empresarial-erpx-components.js +45 -43
- package/fesm2015/senior-gestao-empresarial-erpx-components.js +1898 -215
- package/fesm2015/senior-gestao-empresarial-erpx-components.js.map +1 -1
- package/fesm5/senior-gestao-empresarial-erpx-components.js +2180 -457
- package/fesm5/senior-gestao-empresarial-erpx-components.js.map +1 -1
- package/package.json +1 -1
- package/senior-gestao-empresarial-erpx-components.d.ts +44 -42
- package/senior-gestao-empresarial-erpx-components.metadata.json +1 -1
|
@@ -50,6 +50,20 @@ var PurchaseOrderCalculationRulesRegistry = /** @class */ (function () {
|
|
|
50
50
|
rule: this.manualTaxCalculationRule
|
|
51
51
|
}
|
|
52
52
|
],
|
|
53
|
+
_a[EnumTipoTributo.CBS_A_APROPRIAR] = [
|
|
54
|
+
{
|
|
55
|
+
field: EnumCampoTributo.BaseCalculo,
|
|
56
|
+
rule: this.taxableBaseCalculationRule
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
field: EnumCampoTributo.Aliquota,
|
|
60
|
+
rule: this.taxRateCalculationRule
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
field: EnumCampoTributo.Valor,
|
|
64
|
+
rule: this.taxAmountCalculationRule
|
|
65
|
+
}
|
|
66
|
+
],
|
|
53
67
|
_a[EnumTipoTributo.CBS_DIFERIDO] = [
|
|
54
68
|
{
|
|
55
69
|
field: EnumCampoTributo.BaseCalculo,
|
|
@@ -112,6 +126,20 @@ var PurchaseOrderCalculationRulesRegistry = /** @class */ (function () {
|
|
|
112
126
|
rule: this.manualTaxCalculationRule
|
|
113
127
|
}
|
|
114
128
|
],
|
|
129
|
+
_a[EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR] = [
|
|
130
|
+
{
|
|
131
|
+
field: EnumCampoTributo.BaseCalculo,
|
|
132
|
+
rule: this.taxableBaseCalculationRule
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
field: EnumCampoTributo.Aliquota,
|
|
136
|
+
rule: this.taxRateCalculationRule
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
field: EnumCampoTributo.Valor,
|
|
140
|
+
rule: this.taxAmountCalculationRule
|
|
141
|
+
}
|
|
142
|
+
],
|
|
115
143
|
_a[EnumTipoTributo.IBS_ESTADUAL_DIFERIDO] = [
|
|
116
144
|
{
|
|
117
145
|
field: EnumCampoTributo.BaseCalculo,
|
|
@@ -168,6 +196,20 @@ var PurchaseOrderCalculationRulesRegistry = /** @class */ (function () {
|
|
|
168
196
|
rule: this.manualTaxCalculationRule
|
|
169
197
|
}
|
|
170
198
|
],
|
|
199
|
+
_a[EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR] = [
|
|
200
|
+
{
|
|
201
|
+
field: EnumCampoTributo.BaseCalculo,
|
|
202
|
+
rule: this.taxableBaseCalculationRule
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
field: EnumCampoTributo.Aliquota,
|
|
206
|
+
rule: this.taxRateCalculationRule
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
field: EnumCampoTributo.Valor,
|
|
210
|
+
rule: this.taxAmountCalculationRule
|
|
211
|
+
}
|
|
212
|
+
],
|
|
171
213
|
_a[EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO] = [
|
|
172
214
|
{
|
|
173
215
|
field: EnumCampoTributo.BaseCalculo,
|
|
@@ -241,4 +283,4 @@ var PurchaseOrderCalculationRulesRegistry = /** @class */ (function () {
|
|
|
241
283
|
return PurchaseOrderCalculationRulesRegistry;
|
|
242
284
|
}());
|
|
243
285
|
export { PurchaseOrderCalculationRulesRegistry };
|
|
244
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyY2hhc2Utb3JkZXItY2FsY3VsYXRpb24tcnVsZXMucmVnaXN0cnkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9lcnB4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RyaWJ1dG9zL3J1bGVzL2NhbGN1bGF0aW9uL3JlZ2lzdHJpZXMvY2FsY3VsYXRpb24tcnVsZXMtcmVnaXN0cmllcy9wdXJjaGFzZS1vcmRlci1jYWxjdWxhdGlvbi1ydWxlcy5yZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDbEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUt4QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN2RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7O0FBR3ZGO0lBb01JLCtDQUNxQiwwQkFBc0QsRUFDdEQsc0JBQThDLEVBQzlDLCtCQUFnRSxFQUNoRSx3QkFBa0QsRUFDbEQsMEJBQXNELEVBQ3RELGlDQUFvRSxFQUNwRSx3QkFBa0Q7O1FBTmxELCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDdEQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxvQ0FBK0IsR0FBL0Is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QUs7d0JBQzdCLElBQUksRUFBRSxJQUFJLENBQUMsd0JBQXdCO3FCQUN0QztpQkFDSjtnQkFDRCxHQUFDLGVBQWUsQ0FBQyxxQkFBcUIsSUFBRztvQkFDckM7d0JBQ0ksS0FBSyxFQUFFLGdCQUFnQixDQUFDLFdBQVc7d0JBQ25DLElBQUksRUFBRSxJQUFJLENBQUMsMEJBQTBCO3FCQUN4QztvQkFDRDt3QkFDSSxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsS0FBSzt3QkFDN0IsSUFBSSxFQUFFLElBQUksQ0FBQyx3QkFBd0I7cUJBQ3RDO2lCQUNKO2dCQUNELEdBQUMsZUFBZSxDQUFDLEVBQUUsSUFBRztvQkFDbEI7d0JBQ0ksS0FBSyxFQUFFLGdCQUFnQixDQUFDLEtBQUs7d0JBQzdCLElBQUksRUFBRSxJQUFJLENBQUMsd0JBQXdCO3FCQUN0QztpQkFDSjttQkFDSjtTQUNKLENBQUM7SUFVQyxDQUFDO0lBRUosbURBQUcsR0FBSCxVQUNJLElBQXVCLEVBQ3ZCLE9BQXdCOztRQUV4QixtQkFBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQywwQ0FBRyxPQUFPLG9DQUFLLEVBQUUsQ0FBQztJQUNsRCxDQUFDOztnQkFkZ0QsMEJBQTBCO2dCQUM5QixzQkFBc0I7Z0JBQ2IsK0JBQStCO2dCQUN0Qyx3QkFBd0I7Z0JBQ3RCLDBCQUEwQjtnQkFDbkIsaUNBQWlDO2dCQUMxQyx3QkFBd0I7OztJQTNNOUQscUNBQXFDO1FBRGpELFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztPQUN0QixxQ0FBcUMsQ0FvTmpEO2dEQXRPRDtDQXNPQyxBQXBORCxJQW9OQztTQXBOWSxxQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEVudW1DYW1wb1RyaWJ1dG8sXG4gICAgRW51bVRpcG9UcmlidXRvXG59IGZyb20gJy4uLy4uLy4uLy4uL2VycC10cmlidXRvcy50eXBlcyc7XG5pbXBvcnQgeyBQdXJjaGFzZU9yZGVyVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzL3B1cmNoYXNlLW9yZGVyLXR5cGUnO1xuaW1wb3J0IHsgRmllbGRDYWxjdWxhdGlvblJ1bGVNYXBwaW5nIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvZmllbGQtY2FsY3VsYXRpb24tcnVsZS1tYXBwaW5nJztcbmltcG9ydCB7IFNjaGVtYSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3NjaGVtYXMvcHVyY2hhc2Utb3JkZXIuc2NoZW1hJztcbmltcG9ydCB7IFN0cmF0ZWdpZXMgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9zdHJhdGVnaWVzJztcbmltcG9ydCB7IEVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGUgfSBmcm9tICcuLi8uLi9ydWxlcy9lZmZlY3RpdmUtdGF4LXJhdGUtY2FsY3VsYXRpb24tcnVsZSc7XG5pbXBvcnQgeyBHcm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZSB9IGZyb20gJy4uLy4uL3J1bGVzL2dyb3NzLWFtb3VudC1jYWxjdWxhdGlvbi1ydWxlJztcbmltcG9ydCB7IE1hbnVhbFRheENhbGN1bGF0aW9uUnVsZSB9IGZyb20gJy4uLy4uL3J1bGVzL21hbnVhbC10YXgtY2FsY3VsYXRpb24tcnVsZSc7XG5pbXBvcnQgeyBUYXhBbW91bnRDYWxjdWxhdGlvblJ1bGUgfSBmcm9tICcuLi8uLi9ydWxlcy90YXgtYW1vdW50LWNhbGN1bGF0aW9uLXJ1bGUnO1xuaW1wb3J0IHsgVGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlIH0gZnJvbSAnLi4vLi4vcnVsZXMvdGF4LWNhbGN1bGF0aW9uLXR5cGUtY2FsY3VsYXRpb24tcnVsZSc7XG5pbXBvcnQgeyBUYXhSYXRlQ2FsY3VsYXRpb25SdWxlIH0gZnJvbSAnLi4vLi4vcnVsZXMvdGF4LXJhdGUtY2FsY3VsYXRpb24tcnVsZSc7XG5pbXBvcnQgeyBUYXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZSB9IGZyb20gJy4uLy4uL3J1bGVzL3RheGFibGUtYmFzZS1jYWxjdWxhdGlvbi1ydWxlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQdXJjaGFzZU9yZGVyQ2FsY3VsYXRpb25SdWxlc1JlZ2lzdHJ5IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0cmF0ZWdpZXM6IFN0cmF0ZWdpZXM8U2NoZW1hPiA9IHtcbiAgICAgICAgJ1B1cmNoYXNlIE9yZGVyJzoge1xuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YUVmZXRpdmEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvckJydXRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmdyb3NzQW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5UaXBvQ2FsY3Vsb0ltcG9zdG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkltcG9zdG9NYW51YWwsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMubWFudWFsVGF4Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0RJRkVSSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19HT1ZFUk5BTUVOVEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YUVmZXRpdmEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvckJydXRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmdyb3NzQW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5UaXBvQ2FsY3Vsb0ltcG9zdG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkltcG9zdG9NYW51YWwsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMubWFudWFsVGF4Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0RJRkVSSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9HT1ZFUk5BTUVOVEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGFFZmV0aXZhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3JCcnV0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5ncm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVGlwb0NhbGN1bG9JbXBvc3RvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5JbXBvc3RvTWFudWFsLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLm1hbnVhbFRheENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfRElGRVJJRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0dPVkVSTkFNRU5UQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSVNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGU6IFRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRheFJhdGVDYWxjdWxhdGlvblJ1bGU6IFRheFJhdGVDYWxjdWxhdGlvblJ1bGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZTogRWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YXhBbW91bnRDYWxjdWxhdGlvblJ1bGU6IFRheEFtb3VudENhbGN1bGF0aW9uUnVsZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBncm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZTogR3Jvc3NBbW91bnRDYWxjdWxhdGlvblJ1bGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlOiBUYXhDYWxjdWxhdGlvblR5cGVDYWxjdWxhdGlvblJ1bGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWFudWFsVGF4Q2FsY3VsYXRpb25SdWxlOiBNYW51YWxUYXhDYWxjdWxhdGlvblJ1bGVcbiAgICApIHt9XG5cbiAgICBnZXQoXG4gICAgICAgIHR5cGU6IFB1cmNoYXNlT3JkZXJUeXBlLFxuICAgICAgICB0YXhUeXBlOiBFbnVtVGlwb1RyaWJ1dG9cbiAgICApOiBGaWVsZENhbGN1bGF0aW9uUnVsZU1hcHBpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0cmF0ZWdpZXNbdHlwZV0/Llt0YXhUeXBlXSA/PyBbXTtcbiAgICB9XG59XG4iXX0=
|
|
286
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyY2hhc2Utb3JkZXItY2FsY3VsYXRpb24tcnVsZXMucmVnaXN0cnkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9lcnB4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RyaWJ1dG9zL3J1bGVzL2NhbGN1bGF0aW9uL3JlZ2lzdHJpZXMvY2FsY3VsYXRpb24tcnVsZXMtcmVnaXN0cmllcy9wdXJjaGFzZS1vcmRlci1jYWxjdWxhdGlvbi1ydWxlcy5yZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDbEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUt4QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN2RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7O0FBR3ZGO0lBOE9JLCtDQUNxQiwwQkFBc0QsRUFDdEQsc0JBQThDLEVBQzlDLCtCQUFnRSxFQUNoRSx3QkFBa0QsRUFDbEQsMEJBQXNELEVBQ3RELGlDQUFvRSxFQUNwRSx3QkFBa0Q7O1FBTmxELCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDdEQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxvQ0FBK0IsR0FBL0Is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QUFlLENBQUMscUJBQXFCLElBQUc7b0JBQ3JDO3dCQUNJLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxXQUFXO3dCQUNuQyxJQUFJLEVBQUUsSUFBSSxDQUFDLDBCQUEwQjtxQkFDeEM7b0JBQ0Q7d0JBQ0ksS0FBSyxFQUFFLGdCQUFnQixDQUFDLEtBQUs7d0JBQzdCLElBQUksRUFBRSxJQUFJLENBQUMsd0JBQXdCO3FCQUN0QztpQkFDSjtnQkFDRCxHQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUc7b0JBQ2xCO3dCQUNJLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLO3dCQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLHdCQUF3QjtxQkFDdEM7aUJBQ0o7bUJBQ0o7U0FDSixDQUFDO0lBVUMsQ0FBQztJQUVKLG1EQUFHLEdBQUgsVUFDSSxJQUF1QixFQUN2QixPQUF3Qjs7UUFFeEIsbUJBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsMENBQUcsT0FBTyxvQ0FBSyxFQUFFLENBQUM7SUFDbEQsQ0FBQzs7Z0JBZGdELDBCQUEwQjtnQkFDOUIsc0JBQXNCO2dCQUNiLCtCQUErQjtnQkFDdEMsd0JBQXdCO2dCQUN0QiwwQkFBMEI7Z0JBQ25CLGlDQUFpQztnQkFDMUMsd0JBQXdCOzs7SUFyUDlELHFDQUFxQztRQURqRCxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7T0FDdEIscUNBQXFDLENBOFBqRDtnREFoUkQ7Q0FnUkMsQUE5UEQsSUE4UEM7U0E5UFkscUNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBFbnVtQ2FtcG9UcmlidXRvLFxuICAgIEVudW1UaXBvVHJpYnV0b1xufSBmcm9tICcuLi8uLi8uLi8uLi9lcnAtdHJpYnV0b3MudHlwZXMnO1xuaW1wb3J0IHsgUHVyY2hhc2VPcmRlclR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy9wdXJjaGFzZS1vcmRlci10eXBlJztcbmltcG9ydCB7IEZpZWxkQ2FsY3VsYXRpb25SdWxlTWFwcGluZyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2ZpZWxkLWNhbGN1bGF0aW9uLXJ1bGUtbWFwcGluZyc7XG5pbXBvcnQgeyBTY2hlbWEgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9zY2hlbWFzL3B1cmNoYXNlLW9yZGVyLnNjaGVtYSc7XG5pbXBvcnQgeyBTdHJhdGVnaWVzIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvc3RyYXRlZ2llcyc7XG5pbXBvcnQgeyBFZmZlY3RpdmVUYXhSYXRlQ2FsY3VsYXRpb25SdWxlIH0gZnJvbSAnLi4vLi4vcnVsZXMvZWZmZWN0aXZlLXRheC1yYXRlLWNhbGN1bGF0aW9uLXJ1bGUnO1xuaW1wb3J0IHsgR3Jvc3NBbW91bnRDYWxjdWxhdGlvblJ1bGUgfSBmcm9tICcuLi8uLi9ydWxlcy9ncm9zcy1hbW91bnQtY2FsY3VsYXRpb24tcnVsZSc7XG5pbXBvcnQgeyBNYW51YWxUYXhDYWxjdWxhdGlvblJ1bGUgfSBmcm9tICcuLi8uLi9ydWxlcy9tYW51YWwtdGF4LWNhbGN1bGF0aW9uLXJ1bGUnO1xuaW1wb3J0IHsgVGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlIH0gZnJvbSAnLi4vLi4vcnVsZXMvdGF4LWFtb3VudC1jYWxjdWxhdGlvbi1ydWxlJztcbmltcG9ydCB7IFRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZSB9IGZyb20gJy4uLy4uL3J1bGVzL3RheC1jYWxjdWxhdGlvbi10eXBlLWNhbGN1bGF0aW9uLXJ1bGUnO1xuaW1wb3J0IHsgVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZSB9IGZyb20gJy4uLy4uL3J1bGVzL3RheC1yYXRlLWNhbGN1bGF0aW9uLXJ1bGUnO1xuaW1wb3J0IHsgVGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGUgfSBmcm9tICcuLi8uLi9ydWxlcy90YXhhYmxlLWJhc2UtY2FsY3VsYXRpb24tcnVsZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUHVyY2hhc2VPcmRlckNhbGN1bGF0aW9uUnVsZXNSZWdpc3RyeSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdHJhdGVnaWVzOiBTdHJhdGVnaWVzPFNjaGVtYT4gPSB7XG4gICAgICAgICdQdXJjaGFzZSBPcmRlcic6IHtcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGFFZmV0aXZhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3JCcnV0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5ncm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVGlwb0NhbGN1bG9JbXBvc3RvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5JbXBvc3RvTWFudWFsLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLm1hbnVhbFRheENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0RJRkVSSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19HT1ZFUk5BTUVOVEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YUVmZXRpdmEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvckJydXRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmdyb3NzQW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5UaXBvQ2FsY3Vsb0ltcG9zdG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkltcG9zdG9NYW51YWwsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMubWFudWFsVGF4Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfRElGRVJJRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0dPVkVSTkFNRU5UQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YUVmZXRpdmEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvckJydXRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmdyb3NzQW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5UaXBvQ2FsY3Vsb0ltcG9zdG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkltcG9zdG9NYW51YWwsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMubWFudWFsVGF4Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9ESUZFUklET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfR09WRVJOQU1FTlRBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZTogVGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGF4UmF0ZUNhbGN1bGF0aW9uUnVsZTogVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlZmZlY3RpdmVUYXhSYXRlQ2FsY3VsYXRpb25SdWxlOiBFZmZlY3RpdmVUYXhSYXRlQ2FsY3VsYXRpb25SdWxlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRheEFtb3VudENhbGN1bGF0aW9uUnVsZTogVGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGdyb3NzQW1vdW50Q2FsY3VsYXRpb25SdWxlOiBHcm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YXhDYWxjdWxhdGlvblR5cGVDYWxjdWxhdGlvblJ1bGU6IFRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtYW51YWxUYXhDYWxjdWxhdGlvblJ1bGU6IE1hbnVhbFRheENhbGN1bGF0aW9uUnVsZVxuICAgICkge31cblxuICAgIGdldChcbiAgICAgICAgdHlwZTogUHVyY2hhc2VPcmRlclR5cGUsXG4gICAgICAgIHRheFR5cGU6IEVudW1UaXBvVHJpYnV0b1xuICAgICk6IEZpZWxkQ2FsY3VsYXRpb25SdWxlTWFwcGluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RyYXRlZ2llc1t0eXBlXT8uW3RheFR5cGVdID8/IFtdO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -84,6 +84,9 @@ var TaxAmountCalculationRule = /** @class */ (function () {
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
break;
|
|
87
|
+
case EnumTipoTributo.CBS_A_APROPRIAR:
|
|
88
|
+
case EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR:
|
|
89
|
+
case EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR:
|
|
87
90
|
case EnumTipoTributo.CBS_DIFERIDO:
|
|
88
91
|
case EnumTipoTributo.IBS_ESTADUAL_DIFERIDO:
|
|
89
92
|
case EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO:
|
|
@@ -279,4 +282,4 @@ var TaxAmountCalculationRule = /** @class */ (function () {
|
|
|
279
282
|
return TaxAmountCalculationRule;
|
|
280
283
|
}());
|
|
281
284
|
export { TaxAmountCalculationRule };
|
|
282
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LWFtb3VudC1jYWxjdWxhdGlvbi1ydWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvZXJweC1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90cmlidXRvcy9ydWxlcy9jYWxjdWxhdGlvbi9ydWxlcy90YXgtYW1vdW50LWNhbGN1bGF0aW9uLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUNILG9CQUFvQixFQUNwQixNQUFNLEVBQ04sR0FBRyxFQUNILElBQUksRUFDSixTQUFTLEVBQ1osTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQUs1RTtJQUNJLGtDQUE2QixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUFHLENBQUM7SUFFekUsd0NBQUssR0FBTCxVQUFNLEVBSVE7UUFKZCxpQkFnWkM7WUEvWWMsOEJBQVEsRUFDbkIsZ0JBQUssRUFDTCxZQUE2QyxFQUFyQyxpQkFBYSxFQUFFLHdCQUFTLEVBQUUsd0JBQVM7UUFFM0MsUUFBUSxPQUFPLEVBQUU7WUFDYixLQUFLLGVBQWUsQ0FBQyxHQUFHLENBQUM7WUFDekIsS0FBSyxlQUFlLENBQUMsWUFBWSxDQUFDO1lBQ2xDLEtBQUssZUFBZSxDQUFDLGFBQWE7Z0JBQzlCO29CQUNJLFFBQVEsUUFBUSxFQUFFO3dCQUNkLEtBQUssa0JBQWtCLENBQUM7d0JB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RUFBRSxNQUFNLEVBQUUsQ0FBQztPQUN0Qix3QkFBd0IsQ0FvWnBDO21DQXRhRDtDQXNhQyxBQXBaRCxJQW9aQztTQXBaWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb29rdXBGaWVsZCB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgICBmaWx0ZXIsXG4gICAgbWFwLFxuICAgIHNraXAsXG4gICAgc3RhcnRXaXRoXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRheEFtb3VudENhbGN1bGF0b3IgfSBmcm9tICcuLi8uLi8uLi9jYWxjdWxhdG9ycy90YXgtYW1vdW50LWNhbGN1bGF0b3InO1xuaW1wb3J0IHsgRW51bVRpcG9UcmlidXRvIH0gZnJvbSAnLi4vLi4vLi4vZXJwLXRyaWJ1dG9zLnR5cGVzJztcbmltcG9ydCB7IGdldERlZmVycmVkVGF4SXRlbUZyb21Hcm91cCB9IGZyb20gJy4uLy4uLy4uL3RheC1yZWZvcm0tdXRpbGl0aWVzJztcbmltcG9ydCB7IFJ1bGVQYXlsb2FkIH0gZnJvbSAnLi4vLi4vdHlwZXMvcnVsZS1wYXlsb2FkJztcbmltcG9ydCB7IFRheFJ1bGUgfSBmcm9tICcuLi8uLi90eXBlcy90YXgtcnVsZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlIGltcGxlbWVudHMgVGF4UnVsZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0YXhBbW91bnRDYWxjdWxhdG9yOiBUYXhBbW91bnRDYWxjdWxhdG9yKSB7fVxuXG4gICAgYXBwbHkoe1xuICAgICAgICBjb250ZXh0OiB7IGRvY3VtZW50IH0sXG4gICAgICAgIGdyb3VwLFxuICAgICAgICBpdGVtOiB7IG5hbWU6IHRheFR5cGUsIGZvcm1Hcm91cCwgZm9ybUZpZWxkIH1cbiAgICB9OiBSdWxlUGF5bG9hZCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKHRheFR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLkNCUzpcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTDpcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUw6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGRvY3VtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdJbmNvbWluZyBJbnZvaWNlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ091dGdvaW5nIEludm9pY2UnOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnUHVyY2hhc2UgT3JkZXInOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnU2FsZSBPcmRlcic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGZvcm1Hcm91cDogZGVmZXJyZWRUYXhGb3JtR3JvdXAgfSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXREZWZlcnJlZFRheEl0ZW1Gcm9tR3JvdXAoeyBncm91cCB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoJ2Jhc2VDYWxjdWxvJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cC5nZXQoJ2Jhc2VDYWxjdWxvJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdhbGlxdW90YScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCdhbGlxdW90YScpLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnYWxpcXVvdGFFZmV0aXZhJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cC5nZXQoJ2FsaXF1b3RhRWZldGl2YScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmZXJyZWRUYXhGb3JtR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCd2YWxvcicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZlcnJlZFRheEZvcm1Hcm91cC5nZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZhbG9yJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXhhYmxlQmFzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRheFJhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZmZlY3RpdmVUYXhSYXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmZXJyZWRUYXhUYXhBbW91bnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQmlnTnVtYmVyKHRheGFibGVCYXNlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQmlnTnVtYmVyKHRheFJhdGUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBCaWdOdW1iZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmZmVjdGl2ZVRheFJhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBCaWdOdW1iZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmVycmVkVGF4VGF4QW1vdW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSBhcyBjb25zdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGF4YWJsZUJhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXhSYXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZmZWN0aXZlVGF4UmF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmVycmVkVGF4VGF4QW1vdW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXhhYmxlQmFzZS5pc05hTigpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGF4UmF0ZS5pc05hTigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRheEFtb3VudCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YXhBbW91bnRDYWxjdWxhdG9yLmNhbGN1bGF0ZVRheEFtb3VudFdpdGhEZWZlcnJlZFRheChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGF4YWJsZUJhc2U6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGF4YWJsZUJhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXhSYXRlOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmZmVjdGl2ZVRheFJhdGUuaXNOYU4oKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRheFJhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBlZmZlY3RpdmVUYXhSYXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmZXJyZWRUYXhBbW91bnQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmZXJyZWRUYXhUYXhBbW91bnQuaXNOYU4oKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5ldyBCaWdOdW1iZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZGVmZXJyZWRUYXhUYXhBbW91bnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0YXhBbW91bnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGVjaW1hbFBsYWNlcygyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50b051bWJlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0YXhBbW91bnQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXhBbW91bnQgIT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCd2YWxvcicpLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgodGF4QW1vdW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoJ3ZhbG9yJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNldFZhbHVlKHRheEFtb3VudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFJlZ3JhIFRheEFtb3VudENhbGN1bGF0aW9uUnVsZSBuw6NvIGltcGxlbWVudGFkYSBwYXJhIG8gaW1wb3N0byAke3RheFR5cGV9LCBkb2N1bWVudG8gJHtkb2N1bWVudH0uYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5DQlNfRElGRVJJRE86XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfRElGRVJJRE86XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0RJRkVSSURPOlxuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uQ0JTX0NSRURJVE9fUFJFU1VNSURPOlxuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uQ0JTX1RSSUJVVEFDQU9fUkVHVUxBUjpcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9UUklCVVRBQ0FPX1JFR1VMQVI6XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX1RSSUJVVEFDQU9fUkVHVUxBUjpcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLklCU19DUkVESVRPX1BSRVNVTUlETzpcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLklTOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChkb2N1bWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnSW5jb21pbmcgSW52b2ljZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdPdXRnb2luZyBJbnZvaWNlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ1B1cmNoYXNlIE9yZGVyJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ1NhbGUgT3JkZXInOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdiYXNlQ2FsY3VsbycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCdiYXNlQ2FsY3VsbycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnYWxpcXVvdGEnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwLmdldCgnYWxpcXVvdGEnKS52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChbdGF4YWJsZUJhc2UsIHRheFJhdGVdKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBCaWdOdW1iZXIodGF4YWJsZUJhc2UpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBCaWdOdW1iZXIodGF4UmF0ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0gYXMgY29uc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoW3RheGFibGVCYXNlLCB0YXhSYXRlXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXhhYmxlQmFzZS5pc05hTigpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXhSYXRlLmlzTmFOKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGF4QW1vdW50ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGF4QW1vdW50Q2FsY3VsYXRvci5jYWxjdWxhdGVUYXhBbW91bnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXhSYXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXhhYmxlQmFzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRheEFtb3VudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRlY2ltYWxQbGFjZXMoMilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50b051bWJlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRheEFtb3VudCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRheEFtb3VudCAhPT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cC5nZXQoJ3ZhbG9yJykudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh0YXhBbW91bnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgndmFsb3InKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2V0VmFsdWUodGF4QW1vdW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgUmVncmEgVGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlIG7Do28gaW1wbGVtZW50YWRhIHBhcmEgbyBpbXBvc3RvICR7dGF4VHlwZX0sIGRvY3VtZW50byAke2RvY3VtZW50fS5gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLkNCU19HT1ZFUk5BTUVOVEFMOlxuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0dPVkVSTkFNRU5UQUw6XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0dPVkVSTkFNRU5UQUw6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGRvY3VtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdJbmNvbWluZyBJbnZvaWNlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ091dGdvaW5nIEludm9pY2UnOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnUHVyY2hhc2UgT3JkZXInOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnU2FsZSBPcmRlcic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoJ2Jhc2VDYWxjdWxvJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cC5nZXQoJ2Jhc2VDYWxjdWxvJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdhbGlxdW90YScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCdhbGlxdW90YScpLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFt0YXhhYmxlQmFzZSwgdGF4UmF0ZV0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEJpZ051bWJlcih0YXhhYmxlQmFzZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEJpZ051bWJlcih0YXhSYXRlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSBhcyBjb25zdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChbdGF4YWJsZUJhc2UsIHRheFJhdGVdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRheGFibGVCYXNlLmlzTmFOKCkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRheFJhdGUuaXNOYU4oKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXhBbW91bnQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YXhBbW91bnRDYWxjdWxhdG9yLmNhbGN1bGF0ZVRheEFtb3VudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRheGFibGVCYXNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXhSYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGF4QW1vdW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGVjaW1hbFBsYWNlcygyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRvTnVtYmVyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGF4QW1vdW50KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGF4QW1vdW50ICE9PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwLmdldCgndmFsb3InKS52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRheEFtb3VudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCd2YWxvcicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zZXRWYWx1ZSh0YXhBbW91bnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBSZWdyYSBUYXhBbW91bnRDYWxjdWxhdGlvblJ1bGUgbsOjbyBpbXBsZW1lbnRhZGEgcGFyYSBvIGltcG9zdG8gJHt0YXhUeXBlfSwgZG9jdW1lbnRvICR7ZG9jdW1lbnR9LmBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uQ0JTX0VTVE9STk9fQ1JFRElUTzpcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLklCU19FU1RPUk5PX0NSRURJVE86XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGRhdGFLZXkgfSA9IGZvcm1GaWVsZC5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgICAgKHsgbmFtZSB9KSA9PiBuYW1lID09PSAnY2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEnXG4gICAgICAgICAgICAgICAgICAgICkgYXMgTG9va3VwRmllbGQ7XG5cbiAgICAgICAgICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdjbGFzc2lmaWNhY2FvVHJpYnV0YXJpYScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCdjbGFzc2lmaWNhY2FvVHJpYnV0YXJpYScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9sZCwgY3VycmVudCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGQ/LltkYXRhS2V5XSA9PT0gY3VycmVudD8uW2RhdGFLZXldXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBCaWdOdW1iZXIoZm9ybUdyb3VwLmdldCgndmFsb3InKS52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcigodGF4QW1vdW50KSA9PiB0YXhBbW91bnQuaXNOYU4oKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cC5nZXQoJ3ZhbG9yJykuc2V0VmFsdWUoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5DQlNfQUpVU1RFOlxuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uSUJTX0FKVVNURTpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZGF0YUtleSB9ID0gZm9ybUZpZWxkLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgICAoeyBuYW1lIH0pID0+IG5hbWUgPT09ICdjbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSdcbiAgICAgICAgICAgICAgICAgICAgKSBhcyBMb29rdXBGaWVsZDtcblxuICAgICAgICAgICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoJ2NsYXNzaWZpY2FjYW9UcmlidXRhcmlhJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cC5nZXQoJ2NsYXNzaWZpY2FjYW9UcmlidXRhcmlhJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob2xkLCBjdXJyZW50KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZD8uW2RhdGFLZXldID09PSBjdXJyZW50Py5bZGF0YUtleV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXAoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEJpZ051bWJlcihmb3JtR3JvdXAuZ2V0KCd2YWxvcicpLnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKCh0YXhBbW91bnQpID0+IHRheEFtb3VudC5pc05hTigpKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwLmdldCgndmFsb3InKS5zZXRWYWx1ZSgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLkNCU19UUkFOU0ZFUkVOQ0lBX0NSRURJVE86XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5JQlNfVFJBTlNGRVJFTkNJQV9DUkVESVRPOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBkYXRhS2V5IH0gPSBmb3JtRmllbGQuZmluZChcbiAgICAgICAgICAgICAgICAgICAgICAgICh7IG5hbWUgfSkgPT4gbmFtZSA9PT0gJ2NsYXNzaWZpY2FjYW9UcmlidXRhcmlhJ1xuICAgICAgICAgICAgICAgICAgICApIGFzIExvb2t1cEZpZWxkO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnY2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwLmdldCgnY2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbGQsIGN1cnJlbnQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkPy5bZGF0YUtleV0gPT09IGN1cnJlbnQ/LltkYXRhS2V5XVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQmlnTnVtYmVyKGZvcm1Hcm91cC5nZXQoJ3ZhbG9yJykudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHRheEFtb3VudCkgPT4gdGF4QW1vdW50LmlzTmFOKCkpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCd2YWxvcicpLnNldFZhbHVlKDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgIGBSZWdyYSBUYXhBbW91bnRDYWxjdWxhdGlvblJ1bGUgbsOjbyBpbXBsZW1lbnRhZGEgcGFyYSBvIGltcG9zdG8gJHt0YXhUeXBlfSwgZG9jdW1lbnRvICR7ZG9jdW1lbnR9LmBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LWFtb3VudC1jYWxjdWxhdGlvbi1ydWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvZXJweC1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90cmlidXRvcy9ydWxlcy9jYWxjdWxhdGlvbi9ydWxlcy90YXgtYW1vdW50LWNhbGN1bGF0aW9uLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUNILG9CQUFvQixFQUNwQixNQUFNLEVBQ04sR0FBRyxFQUNILElBQUksRUFDSixTQUFTLEVBQ1osTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQUs1RTtJQUNJLGtDQUE2QixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUFHLENBQUM7SUFFekUsd0NBQUssR0FBTCxVQUFNLEVBSVE7UUFKZCxpQkFtWkM7WUFsWmMsOEJBQVEsRUFDbkIsZ0JBQUssRUFDTCxZQUE2QyxFQUFyQyxpQkFBYSxFQUFFLHdCQUFTLEVBQUUsd0JBQVM7UUFFM0MsUUFBUSxPQUFPLEVBQUU7WUFDYixLQUFLLGVBQWUsQ0FBQyxHQUFHLENBQUM7WUFDekIsS0FBSyxlQUFlLENBQUMsWUFBWSxDQUFDO1lBQ2xDLEtBQUssZUFBZSxDQUFDLGFBQWE7Z0JBQzlCO29CQUNJLFFBQVEsUUFBUSxFQUFFO3dCQUNkLEtBQUssa0JBQWtCLENBQUM7d0JB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QUFlLFFBQVEsTUFBRyxDQUN0RyxDQUFDO1NBQ1Q7SUFDTCxDQUFDOztnQkFyWmlELG1CQUFtQjs7O0lBRDVELHdCQUF3QjtRQURwQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7T0FDdEIsd0JBQXdCLENBdVpwQzttQ0F6YUQ7Q0F5YUMsQUF2WkQsSUF1WkM7U0F2Wlksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9va3VwRmllbGQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZmlsdGVyLFxuICAgIG1hcCxcbiAgICBza2lwLFxuICAgIHN0YXJ0V2l0aFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUYXhBbW91bnRDYWxjdWxhdG9yIH0gZnJvbSAnLi4vLi4vLi4vY2FsY3VsYXRvcnMvdGF4LWFtb3VudC1jYWxjdWxhdG9yJztcbmltcG9ydCB7IEVudW1UaXBvVHJpYnV0byB9IGZyb20gJy4uLy4uLy4uL2VycC10cmlidXRvcy50eXBlcyc7XG5pbXBvcnQgeyBnZXREZWZlcnJlZFRheEl0ZW1Gcm9tR3JvdXAgfSBmcm9tICcuLi8uLi8uLi90YXgtcmVmb3JtLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBSdWxlUGF5bG9hZCB9IGZyb20gJy4uLy4uL3R5cGVzL3J1bGUtcGF5bG9hZCc7XG5pbXBvcnQgeyBUYXhSdWxlIH0gZnJvbSAnLi4vLi4vdHlwZXMvdGF4LXJ1bGUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRheEFtb3VudENhbGN1bGF0aW9uUnVsZSBpbXBsZW1lbnRzIFRheFJ1bGUge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdGF4QW1vdW50Q2FsY3VsYXRvcjogVGF4QW1vdW50Q2FsY3VsYXRvcikge31cblxuICAgIGFwcGx5KHtcbiAgICAgICAgY29udGV4dDogeyBkb2N1bWVudCB9LFxuICAgICAgICBncm91cCxcbiAgICAgICAgaXRlbTogeyBuYW1lOiB0YXhUeXBlLCBmb3JtR3JvdXAsIGZvcm1GaWVsZCB9XG4gICAgfTogUnVsZVBheWxvYWQpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoICh0YXhUeXBlKSB7XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5DQlM6XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUw6XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChkb2N1bWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnSW5jb21pbmcgSW52b2ljZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdPdXRnb2luZyBJbnZvaWNlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ1B1cmNoYXNlIE9yZGVyJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ1NhbGUgT3JkZXInOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBmb3JtR3JvdXA6IGRlZmVycmVkVGF4Rm9ybUdyb3VwIH0gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0RGVmZXJyZWRUYXhJdGVtRnJvbUdyb3VwKHsgZ3JvdXAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdiYXNlQ2FsY3VsbycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCdiYXNlQ2FsY3VsbycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnYWxpcXVvdGEnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwLmdldCgnYWxpcXVvdGEnKS52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoJ2FsaXF1b3RhRWZldGl2YScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCdhbGlxdW90YUVmZXRpdmEnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmVycmVkVGF4Rm9ybUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgndmFsb3InKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmZXJyZWRUYXhGb3JtR3JvdXAuZ2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2YWxvcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXAoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGF4YWJsZUJhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXhSYXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZmZWN0aXZlVGF4UmF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmVycmVkVGF4VGF4QW1vdW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEJpZ051bWJlcih0YXhhYmxlQmFzZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEJpZ051bWJlcih0YXhSYXRlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQmlnTnVtYmVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZmZlY3RpdmVUYXhSYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQmlnTnVtYmVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZlcnJlZFRheFRheEFtb3VudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0gYXMgY29uc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRheGFibGVCYXNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGF4UmF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmZmVjdGl2ZVRheFJhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZlcnJlZFRheFRheEFtb3VudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGF4YWJsZUJhc2UuaXNOYU4oKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRheFJhdGUuaXNOYU4oKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXhBbW91bnQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGF4QW1vdW50Q2FsY3VsYXRvci5jYWxjdWxhdGVUYXhBbW91bnRXaXRoRGVmZXJyZWRUYXgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRheGFibGVCYXNlOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRheGFibGVCYXNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGF4UmF0ZTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZmZlY3RpdmVUYXhSYXRlLmlzTmFOKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0YXhSYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZWZmZWN0aXZlVGF4UmF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmVycmVkVGF4QW1vdW50OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmVycmVkVGF4VGF4QW1vdW50LmlzTmFOKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBuZXcgQmlnTnVtYmVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGRlZmVycmVkVGF4VGF4QW1vdW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGF4QW1vdW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRlY2ltYWxQbGFjZXMoMilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG9OdW1iZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGF4QW1vdW50KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGF4QW1vdW50ICE9PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwLmdldCgndmFsb3InKS52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRheEFtb3VudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCd2YWxvcicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zZXRWYWx1ZSh0YXhBbW91bnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBSZWdyYSBUYXhBbW91bnRDYWxjdWxhdGlvblJ1bGUgbsOjbyBpbXBsZW1lbnRhZGEgcGFyYSBvIGltcG9zdG8gJHt0YXhUeXBlfSwgZG9jdW1lbnRvICR7ZG9jdW1lbnR9LmBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uQ0JTX0FfQVBST1BSSUFSOlxuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0FfQVBST1BSSUFSOlxuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9BX0FQUk9QUklBUjpcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLkNCU19ESUZFUklETzpcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9ESUZFUklETzpcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfRElGRVJJRE86XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5DQlNfQ1JFRElUT19QUkVTVU1JRE86XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5DQlNfVFJJQlVUQUNBT19SRUdVTEFSOlxuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX1RSSUJVVEFDQU9fUkVHVUxBUjpcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSOlxuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPOlxuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uSVM6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGRvY3VtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdJbmNvbWluZyBJbnZvaWNlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ091dGdvaW5nIEludm9pY2UnOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnUHVyY2hhc2UgT3JkZXInOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnU2FsZSBPcmRlcic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoJ2Jhc2VDYWxjdWxvJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cC5nZXQoJ2Jhc2VDYWxjdWxvJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdhbGlxdW90YScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCdhbGlxdW90YScpLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFt0YXhhYmxlQmFzZSwgdGF4UmF0ZV0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEJpZ051bWJlcih0YXhhYmxlQmFzZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEJpZ051bWJlcih0YXhSYXRlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSBhcyBjb25zdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChbdGF4YWJsZUJhc2UsIHRheFJhdGVdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRheGFibGVCYXNlLmlzTmFOKCkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRheFJhdGUuaXNOYU4oKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXhBbW91bnQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YXhBbW91bnRDYWxjdWxhdG9yLmNhbGN1bGF0ZVRheEFtb3VudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRheFJhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRheGFibGVCYXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGF4QW1vdW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGVjaW1hbFBsYWNlcygyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRvTnVtYmVyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGF4QW1vdW50KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGF4QW1vdW50ICE9PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwLmdldCgndmFsb3InKS52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRheEFtb3VudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCd2YWxvcicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zZXRWYWx1ZSh0YXhBbW91bnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBSZWdyYSBUYXhBbW91bnRDYWxjdWxhdGlvblJ1bGUgbsOjbyBpbXBsZW1lbnRhZGEgcGFyYSBvIGltcG9zdG8gJHt0YXhUeXBlfSwgZG9jdW1lbnRvICR7ZG9jdW1lbnR9LmBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uQ0JTX0dPVkVSTkFNRU5UQUw6XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfR09WRVJOQU1FTlRBTDpcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfR09WRVJOQU1FTlRBTDpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZG9jdW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ0luY29taW5nIEludm9pY2UnOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnT3V0Z29pbmcgSW52b2ljZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdQdXJjaGFzZSBPcmRlcic6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdTYWxlIE9yZGVyJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnYmFzZUNhbGN1bG8nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwLmdldCgnYmFzZUNhbGN1bG8nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoJ2FsaXF1b3RhJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cC5nZXQoJ2FsaXF1b3RhJykudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXAoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoW3RheGFibGVCYXNlLCB0YXhSYXRlXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQmlnTnVtYmVyKHRheGFibGVCYXNlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQmlnTnVtYmVyKHRheFJhdGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdIGFzIGNvbnN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoKFt0YXhhYmxlQmFzZSwgdGF4UmF0ZV0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGF4YWJsZUJhc2UuaXNOYU4oKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGF4UmF0ZS5pc05hTigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRheEFtb3VudCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRheEFtb3VudENhbGN1bGF0b3IuY2FsY3VsYXRlVGF4QW1vdW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGF4YWJsZUJhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRheFJhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0YXhBbW91bnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kZWNpbWFsUGxhY2VzKDIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG9OdW1iZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0YXhBbW91bnQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXhBbW91bnQgIT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCd2YWxvcicpLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgodGF4QW1vdW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoJ3ZhbG9yJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNldFZhbHVlKHRheEFtb3VudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFJlZ3JhIFRheEFtb3VudENhbGN1bGF0aW9uUnVsZSBuw6NvIGltcGxlbWVudGFkYSBwYXJhIG8gaW1wb3N0byAke3RheFR5cGV9LCBkb2N1bWVudG8gJHtkb2N1bWVudH0uYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5DQlNfRVNUT1JOT19DUkVESVRPOlxuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVE9STk9fQ1JFRElUTzpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZGF0YUtleSB9ID0gZm9ybUZpZWxkLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgICAoeyBuYW1lIH0pID0+IG5hbWUgPT09ICdjbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSdcbiAgICAgICAgICAgICAgICAgICAgKSBhcyBMb29rdXBGaWVsZDtcblxuICAgICAgICAgICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoJ2NsYXNzaWZpY2FjYW9UcmlidXRhcmlhJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cC5nZXQoJ2NsYXNzaWZpY2FjYW9UcmlidXRhcmlhJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob2xkLCBjdXJyZW50KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZD8uW2RhdGFLZXldID09PSBjdXJyZW50Py5bZGF0YUtleV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXAoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEJpZ051bWJlcihmb3JtR3JvdXAuZ2V0KCd2YWxvcicpLnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKCh0YXhBbW91bnQpID0+IHRheEFtb3VudC5pc05hTigpKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwLmdldCgndmFsb3InKS5zZXRWYWx1ZSgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLkNCU19BSlVTVEU6XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5JQlNfQUpVU1RFOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBkYXRhS2V5IH0gPSBmb3JtRmllbGQuZmluZChcbiAgICAgICAgICAgICAgICAgICAgICAgICh7IG5hbWUgfSkgPT4gbmFtZSA9PT0gJ2NsYXNzaWZpY2FjYW9UcmlidXRhcmlhJ1xuICAgICAgICAgICAgICAgICAgICApIGFzIExvb2t1cEZpZWxkO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnY2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwLmdldCgnY2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbGQsIGN1cnJlbnQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkPy5bZGF0YUtleV0gPT09IGN1cnJlbnQ/LltkYXRhS2V5XVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQmlnTnVtYmVyKGZvcm1Hcm91cC5nZXQoJ3ZhbG9yJykudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHRheEFtb3VudCkgPT4gdGF4QW1vdW50LmlzTmFOKCkpXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCd2YWxvcicpLnNldFZhbHVlKDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uQ0JTX1RSQU5TRkVSRU5DSUFfQ1JFRElUTzpcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLklCU19UUkFOU0ZFUkVOQ0lBX0NSRURJVE86XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGRhdGFLZXkgfSA9IGZvcm1GaWVsZC5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgICAgKHsgbmFtZSB9KSA9PiBuYW1lID09PSAnY2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEnXG4gICAgICAgICAgICAgICAgICAgICkgYXMgTG9va3VwRmllbGQ7XG5cbiAgICAgICAgICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdjbGFzc2lmaWNhY2FvVHJpYnV0YXJpYScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCdjbGFzc2lmaWNhY2FvVHJpYnV0YXJpYScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9sZCwgY3VycmVudCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGQ/LltkYXRhS2V5XSA9PT0gY3VycmVudD8uW2RhdGFLZXldXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBCaWdOdW1iZXIoZm9ybUdyb3VwLmdldCgndmFsb3InKS52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcigodGF4QW1vdW50KSA9PiB0YXhBbW91bnQuaXNOYU4oKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cC5nZXQoJ3ZhbG9yJykuc2V0VmFsdWUoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgYFJlZ3JhIFRheEFtb3VudENhbGN1bGF0aW9uUnVsZSBuw6NvIGltcGxlbWVudGFkYSBwYXJhIG8gaW1wb3N0byAke3RheFR5cGV9LCBkb2N1bWVudG8gJHtkb2N1bWVudH0uYFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -12,6 +12,50 @@ var TaxRateCalculationRule = /** @class */ (function () {
|
|
|
12
12
|
TaxRateCalculationRule.prototype.apply = function (_a) {
|
|
13
13
|
var document = _a.context.document, group = _a.group, _b = _a.item, taxType = _b.name, formGroup = _b.formGroup;
|
|
14
14
|
switch (taxType) {
|
|
15
|
+
case EnumTipoTributo.CBS_A_APROPRIAR:
|
|
16
|
+
case EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR:
|
|
17
|
+
case EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR:
|
|
18
|
+
{
|
|
19
|
+
switch (document) {
|
|
20
|
+
case 'Incoming Invoice':
|
|
21
|
+
case 'Purchase Order':
|
|
22
|
+
{
|
|
23
|
+
var baseTaxFormGroup = getBaseTaxItemFromGroup({ group: group }).formGroup;
|
|
24
|
+
combineLatest([
|
|
25
|
+
baseTaxFormGroup
|
|
26
|
+
.get('aliquotaEfetiva')
|
|
27
|
+
.valueChanges.pipe(startWith(baseTaxFormGroup.get('aliquotaEfetiva').value), distinctUntilChanged()),
|
|
28
|
+
baseTaxFormGroup
|
|
29
|
+
.get('aliquota')
|
|
30
|
+
.valueChanges.pipe(startWith(baseTaxFormGroup.get('aliquota').value), distinctUntilChanged())
|
|
31
|
+
])
|
|
32
|
+
.pipe(skip(1), map(function (_a) {
|
|
33
|
+
var _b = __read(_a, 2), effectiveTaxRate = _b[0], taxRate = _b[1];
|
|
34
|
+
return [
|
|
35
|
+
new BigNumber(effectiveTaxRate),
|
|
36
|
+
new BigNumber(taxRate)
|
|
37
|
+
];
|
|
38
|
+
}), map(function (_a) {
|
|
39
|
+
var _b = __read(_a, 2), effectiveTaxRate = _b[0], taxRate = _b[1];
|
|
40
|
+
return effectiveTaxRate.isNaN()
|
|
41
|
+
? taxRate
|
|
42
|
+
: effectiveTaxRate;
|
|
43
|
+
}), filter(function (taxRate) {
|
|
44
|
+
return taxRate !==
|
|
45
|
+
formGroup.get('aliquota').value;
|
|
46
|
+
}))
|
|
47
|
+
.subscribe(function (taxRate) {
|
|
48
|
+
formGroup
|
|
49
|
+
.get('aliquota')
|
|
50
|
+
.setValue(taxRate);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
break;
|
|
54
|
+
default:
|
|
55
|
+
throw new Error("Regra TaxRateCalculationRule n\u00E3o implementada para o imposto " + taxType + ", documento " + document + ".");
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
break;
|
|
15
59
|
case EnumTipoTributo.CBS_GOVERNAMENTAL:
|
|
16
60
|
case EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL:
|
|
17
61
|
case EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL:
|
|
@@ -71,4 +115,4 @@ var TaxRateCalculationRule = /** @class */ (function () {
|
|
|
71
115
|
return TaxRateCalculationRule;
|
|
72
116
|
}());
|
|
73
117
|
export { TaxRateCalculationRule };
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJhdGUtY2FsY3VsYXRpb24tcnVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLWVtcHJlc2FyaWFsL2VycHgtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdHJpYnV0b3MvcnVsZXMvY2FsY3VsYXRpb24vcnVsZXMvdGF4LXJhdGUtY2FsY3VsYXRpb24tcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUM7QUFDckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixHQUFHLEVBQ0gsSUFBSSxFQUNKLFNBQVMsRUFDWixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFLeEU7SUFBQTtLQW1HQztJQWxHRyxzQ0FBSyxHQUFMLFVBQU0sRUFJUTtZQUhDLDhCQUFRLEVBQ25CLGdCQUFLLEVBQ0wsWUFBa0MsRUFBMUIsaUJBQWEsRUFBRSx3QkFBUztRQUVoQyxRQUFRLE9BQU8sRUFBRTtZQUNiLEtBQUssZUFBZSxDQUFDLGlCQUFpQixDQUFDO1lBQ3ZDLEtBQUssZUFBZSxDQUFDLDBCQUEwQixDQUFDO1lBQ2hELEtBQUssZUFBZSxDQUFDLDJCQUEyQjtnQkFDNUM7b0JBQ0ksUUFBUSxRQUFRLEVBQUU7d0JBQ2QsS0FBSyxrQkFBa0IsQ0FBQzt3QkFDeEIsS0FBSyxrQkFBa0IsQ0FBQzt3QkFDeEIsS0FBSyxnQkFBZ0IsQ0FBQzt3QkFDdEIsS0FBSyxZQUFZOzRCQUNiO2dDQUNZLElBQUEsc0VBQTJCLENBQ0k7Z0NBRXZDLGFBQWEsQ0FBQztvQ0FDVixnQkFBZ0I7eUNBQ1gsR0FBRyxDQUFDLDhCQUE4QixDQUFDO3lDQUNuQyxZQUFZLENBQUMsSUFBSSxDQUNkLFNBQVMsQ0FDTCxnQkFBZ0IsQ0FBQyxHQUFHLENBQ2hCLDhCQUE4QixDQUNqQyxDQUFDLEtBQUssQ0FDVixFQUNELG9CQUFvQixFQUFFLENBQ3pCO29DQUNMLGdCQUFnQjt5Q0FDWCxHQUFHLENBQUMsaUJBQWlCLENBQUM7eUNBQ3RCLFlBQVksQ0FBQyxJQUFJLENBQ2QsU0FBUyxDQUNMLGdCQUFnQixDQUFDLEdBQUcsQ0FDaEIsaUJBQWlCLENBQ3BCLENBQUMsS0FBSyxDQUNWLEVBQ0Qsb0JBQW9CLEVBQUUsQ0FDekI7aUNBQ1IsQ0FBQztxQ0FDRyxJQUFJLENBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FDQyxVQUFDLEVBR0E7d0NBSEEsa0JBR0EsRUFGRyxxQ0FBNkIsRUFDN0Isd0JBQWdCO29DQUVoQixPQUFBO3dDQUNJLElBQUksU0FBUyxDQUNULDZCQUE2QixDQUNoQzt3Q0FDRCxJQUFJLFNBQVMsQ0FDVCxnQkFBZ0IsQ0FDbkI7cUNBQ0s7Z0NBUFYsQ0FPVSxDQUNqQixFQUNELEdBQUcsQ0FDQyxVQUFDLEVBR0E7d0NBSEEsa0JBR0EsRUFGRyxxQ0FBNkIsRUFDN0Isd0JBQWdCO29DQUVoQixJQUNJLDZCQUE2QixDQUFDLEtBQUssRUFBRTt3Q0FFckMsT0FBTyxJQUFJLENBQUM7b0NBRWhCLE9BQU8sZ0JBQWdCO3lDQUNsQixhQUFhLENBQUMsQ0FBQyxDQUFDO3lDQUNoQixRQUFRLEVBQUUsQ0FBQztnQ0FDcEIsQ0FBQyxDQUNKLEVBQ0QsTUFBTSxDQUNGLFVBQUMsT0FBTztvQ0FDSixPQUFBLE9BQU87d0NBQ1AsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLO2dDQUQvQixDQUMrQixDQUN0QyxDQUNKO3FDQUNBLFNBQVMsQ0FBQyxVQUFDLE9BQU87b0NBQ2YsU0FBUzt5Q0FDSixHQUFHLENBQUMsVUFBVSxDQUFDO3lDQUNmLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQ0FDM0IsQ0FBQyxDQUFDLENBQUM7NkJBQ1Y7NEJBQ0QsTUFBTTt3QkFDVjs0QkFDSSxNQUFNLElBQUksS0FBSyxDQUNYLHVFQUFnRSxPQUFPLG9CQUFlLFFBQVEsTUFBRyxDQUNwRyxDQUFDO3FCQUNUO2lCQUNKO2dCQUNELE1BQU07WUFDVjtnQkFDSSxNQUFNLElBQUksS0FBSyxDQUNYLHVFQUFnRSxPQUFPLG9CQUFlLFFBQVEsTUFBRyxDQUNwRyxDQUFDO1NBQ1Q7SUFDTCxDQUFDOztJQWxHUSxzQkFBc0I7UUFEbEMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO09BQ3RCLHNCQUFzQixDQW1HbEM7aUNBbkhEO0NBbUhDLEFBbkdELElBbUdDO1NBbkdZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZmlsdGVyLFxuICAgIG1hcCxcbiAgICBza2lwLFxuICAgIHN0YXJ0V2l0aFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFbnVtVGlwb1RyaWJ1dG8gfSBmcm9tICcuLi8uLi8uLi9lcnAtdHJpYnV0b3MudHlwZXMnO1xuaW1wb3J0IHsgZ2V0QmFzZVRheEl0ZW1Gcm9tR3JvdXAgfSBmcm9tICcuLi8uLi8uLi90YXgtcmVmb3JtLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBSdWxlUGF5bG9hZCB9IGZyb20gJy4uLy4uL3R5cGVzL3J1bGUtcGF5bG9hZCc7XG5pbXBvcnQgeyBUYXhSdWxlIH0gZnJvbSAnLi4vLi4vdHlwZXMvdGF4LXJ1bGUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRheFJhdGVDYWxjdWxhdGlvblJ1bGUgaW1wbGVtZW50cyBUYXhSdWxlIHtcbiAgICBhcHBseSh7XG4gICAgICAgIGNvbnRleHQ6IHsgZG9jdW1lbnQgfSxcbiAgICAgICAgZ3JvdXAsXG4gICAgICAgIGl0ZW06IHsgbmFtZTogdGF4VHlwZSwgZm9ybUdyb3VwIH1cbiAgICB9OiBSdWxlUGF5bG9hZCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKHRheFR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLkNCU19HT1ZFUk5BTUVOVEFMOlxuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0dPVkVSTkFNRU5UQUw6XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0dPVkVSTkFNRU5UQUw6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGRvY3VtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdJbmNvbWluZyBJbnZvaWNlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ091dGdvaW5nIEludm9pY2UnOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnUHVyY2hhc2UgT3JkZXInOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnU2FsZSBPcmRlcic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGZvcm1Hcm91cDogYmFzZVRheEZvcm1Hcm91cCB9ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEJhc2VUYXhJdGVtRnJvbUdyb3VwKHsgZ3JvdXAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlVGF4Rm9ybUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgncmVkdWNhb0FsaXF1b3RhR292ZXJuYW1lbnRhbCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlVGF4Rm9ybUdyb3VwLmdldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVkdWNhb0FsaXF1b3RhR292ZXJuYW1lbnRhbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlVGF4Rm9ybUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnYWxpcXVvdGFFZmV0aXZhJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VUYXhGb3JtR3JvdXAuZ2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbGlxdW90YUVmZXRpdmEnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdmVybmFtZW50YWxUYXhSYXRlUmVkdWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZmZWN0aXZlVGF4UmF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBCaWdOdW1iZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdmVybmFtZW50YWxUYXhSYXRlUmVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQmlnTnVtYmVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZmZlY3RpdmVUYXhSYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSBhcyBjb25zdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ292ZXJuYW1lbnRhbFRheFJhdGVSZWR1Y3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZmZlY3RpdmVUYXhSYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3Zlcm5hbWVudGFsVGF4UmF0ZVJlZHVjdGlvbi5pc05hTigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlZmZlY3RpdmVUYXhSYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRlY2ltYWxQbGFjZXMoNClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG9OdW1iZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGF4UmF0ZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRheFJhdGUgIT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCdhbGlxdW90YScpLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgodGF4UmF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdhbGlxdW90YScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zZXRWYWx1ZSh0YXhSYXRlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgUmVncmEgVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZSBuw6NvIGltcGxlbWVudGFkYSBwYXJhIG8gaW1wb3N0byAke3RheFR5cGV9LCBkb2N1bWVudG8gJHtkb2N1bWVudH0uYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgYFJlZ3JhIFRheFJhdGVDYWxjdWxhdGlvblJ1bGUgbsOjbyBpbXBsZW1lbnRhZGEgcGFyYSBvIGltcG9zdG8gJHt0YXhUeXBlfSwgZG9jdW1lbnRvICR7ZG9jdW1lbnR9LmBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJhdGUtY2FsY3VsYXRpb24tcnVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLWVtcHJlc2FyaWFsL2VycHgtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdHJpYnV0b3MvcnVsZXMvY2FsY3VsYXRpb24vcnVsZXMvdGF4LXJhdGUtY2FsY3VsYXRpb24tcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUM7QUFDckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixHQUFHLEVBQ0gsSUFBSSxFQUNKLFNBQVMsRUFDWixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBb0IsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBS3hFO0lBQUE7S0F3S0M7SUF2S0csc0NBQUssR0FBTCxVQUFNLEVBSVE7WUFIQyw4QkFBUSxFQUNuQixnQkFBSyxFQUNMLFlBQWtDLEVBQTFCLGlCQUFhLEVBQUUsd0JBQVM7UUFFaEMsUUFBUSxPQUFPLEVBQUU7WUFDYixLQUFLLGVBQWUsQ0FBQyxlQUFlLENBQUM7WUFDckMsS0FBSyxlQUFlLENBQUMsd0JBQXdCLENBQUM7WUFDOUMsS0FBSyxlQUFlLENBQUMseUJBQXlCO2dCQUMxQztvQkFDSSxRQUFRLFFBQVEsRUFBRTt3QkFDZCxLQUFLLGtCQUFrQixDQUFDO3dCQUN4QixLQUFLLGdCQUFnQjs0QkFDakI7Z0NBQ1ksSUFBQSxzRUFBMkIsQ0FDSTtnQ0FFdkMsYUFBYSxDQUFDO29DQUNWLGdCQUFnQjt5Q0FDWCxHQUFHLENBQUMsaUJBQWlCLENBQUU7eUNBQ3ZCLFlBQVksQ0FB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QkFBNkIsQ0FBQyxLQUFLLEVBQUU7d0NBRXJDLE9BQU8sSUFBSSxDQUFDO29DQUVoQixPQUFPLGdCQUFnQjt5Q0FDbEIsYUFBYSxDQUFDLENBQUMsQ0FBQzt5Q0FDaEIsUUFBUSxFQUFFLENBQUM7Z0NBQ3BCLENBQUMsQ0FDSixFQUNELE1BQU0sQ0FDRixVQUFDLE9BQU87b0NBQ0osT0FBQSxPQUFPO3dDQUNQLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFFLENBQUMsS0FBSztnQ0FEaEMsQ0FDZ0MsQ0FDdkMsQ0FDSjtxQ0FDQSxTQUFTLENBQUMsVUFBQyxPQUFPO29DQUNmLFNBQVM7eUNBQ0osR0FBRyxDQUFDLFVBQVUsQ0FBRTt5Q0FDaEIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dDQUMzQixDQUFDLENBQUMsQ0FBQzs2QkFDVjs0QkFDRCxNQUFNO3dCQUNWOzRCQUNJLE1BQU0sSUFBSSxLQUFLLENBQ1gsdUVBQWdFLE9BQU8sb0JBQWUsUUFBUSxNQUFHLENBQ3BHLENBQUM7cUJBQ1Q7aUJBQ0o7Z0JBQ0QsTUFBTTtZQUNWO2dCQUNJLE1BQU0sSUFBSSxLQUFLLENBQ1gsdUVBQWdFLE9BQU8sb0JBQWUsUUFBUSxNQUFHLENBQ3BHLENBQUM7U0FDVDtJQUNMLENBQUM7O0lBdktRLHNCQUFzQjtRQURsQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7T0FDdEIsc0JBQXNCLENBd0tsQztpQ0F6TEQ7Q0F5TEMsQUF4S0QsSUF3S0M7U0F4S1ksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgICBmaWx0ZXIsXG4gICAgbWFwLFxuICAgIHNraXAsXG4gICAgc3RhcnRXaXRoXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVudW1UaXBvQ2FsY3Vsb0ltcG9zdG8gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb3JlL2VudW1zL2VudW0tdGlwby1jYWxjdWxvLWltcG9zdG8nO1xuaW1wb3J0IHsgRW51bUNhbXBvVHJpYnV0bywgRW51bVRpcG9UcmlidXRvIH0gZnJvbSAnLi4vLi4vLi4vZXJwLXRyaWJ1dG9zLnR5cGVzJztcbmltcG9ydCB7IGdldEJhc2VUYXhJdGVtRnJvbUdyb3VwIH0gZnJvbSAnLi4vLi4vLi4vdGF4LXJlZm9ybS11dGlsaXRpZXMnO1xuaW1wb3J0IHsgUnVsZVBheWxvYWQgfSBmcm9tICcuLi8uLi90eXBlcy9ydWxlLXBheWxvYWQnO1xuaW1wb3J0IHsgVGF4UnVsZSB9IGZyb20gJy4uLy4uL3R5cGVzL3RheC1ydWxlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUYXhSYXRlQ2FsY3VsYXRpb25SdWxlIGltcGxlbWVudHMgVGF4UnVsZSB7XG4gICAgYXBwbHkoe1xuICAgICAgICBjb250ZXh0OiB7IGRvY3VtZW50IH0sXG4gICAgICAgIGdyb3VwLFxuICAgICAgICBpdGVtOiB7IG5hbWU6IHRheFR5cGUsIGZvcm1Hcm91cCB9XG4gICAgfTogUnVsZVBheWxvYWQpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoICh0YXhUeXBlKSB7XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5DQlNfQV9BUFJPUFJJQVI6XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfQV9BUFJPUFJJQVI6XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0FfQVBST1BSSUFSOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChkb2N1bWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnSW5jb21pbmcgSW52b2ljZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdQdXJjaGFzZSBPcmRlcic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGZvcm1Hcm91cDogYmFzZVRheEZvcm1Hcm91cCB9ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEJhc2VUYXhJdGVtRnJvbUdyb3VwKHsgZ3JvdXAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlVGF4Rm9ybUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnYWxpcXVvdGFFZmV0aXZhJykhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlVGF4Rm9ybUdyb3VwLmdldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWxpcXVvdGFFZmV0aXZhJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSEudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlVGF4Rm9ybUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnYWxpcXVvdGEnKSFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VUYXhGb3JtR3JvdXAuZ2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbGlxdW90YSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkhLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFtlZmZlY3RpdmVUYXhSYXRlLCB0YXhSYXRlXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQmlnTnVtYmVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZmZlY3RpdmVUYXhSYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQmlnTnVtYmVyKHRheFJhdGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdIGFzIGNvbnN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoKFtlZmZlY3RpdmVUYXhSYXRlLCB0YXhSYXRlXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZmZWN0aXZlVGF4UmF0ZS5pc05hTigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRheFJhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZWZmZWN0aXZlVGF4UmF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGF4UmF0ZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRheFJhdGUgIT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCdhbGlxdW90YScpIS52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRheFJhdGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnYWxpcXVvdGEnKSFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNldFZhbHVlKHRheFJhdGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBSZWdyYSBUYXhSYXRlQ2FsY3VsYXRpb25SdWxlIG7Do28gaW1wbGVtZW50YWRhIHBhcmEgbyBpbXBvc3RvICR7dGF4VHlwZX0sIGRvY3VtZW50byAke2RvY3VtZW50fS5gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLkNCU19HT1ZFUk5BTUVOVEFMOlxuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0dPVkVSTkFNRU5UQUw6XG4gICAgICAgICAgICBjYXNlIEVudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0dPVkVSTkFNRU5UQUw6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGRvY3VtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdJbmNvbWluZyBJbnZvaWNlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ091dGdvaW5nIEludm9pY2UnOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnUHVyY2hhc2UgT3JkZXInOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnU2FsZSBPcmRlcic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGZvcm1Hcm91cDogYmFzZVRheEZvcm1Hcm91cCB9ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldEJhc2VUYXhJdGVtRnJvbUdyb3VwKHsgZ3JvdXAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlVGF4Rm9ybUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgncmVkdWNhb0FsaXF1b3RhR292ZXJuYW1lbnRhbCcpIVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZVRheEZvcm1Hcm91cC5nZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlZHVjYW9BbGlxdW90YUdvdmVybmFtZW50YWwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIS52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VUYXhGb3JtR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdhbGlxdW90YUVmZXRpdmEnKSFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VUYXhGb3JtR3JvdXAuZ2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbGlxdW90YUVmZXRpdmEnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIS52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3Zlcm5hbWVudGFsVGF4UmF0ZVJlZHVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmZmVjdGl2ZVRheFJhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQmlnTnVtYmVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3Zlcm5hbWVudGFsVGF4UmF0ZVJlZHVjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEJpZ051bWJlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZmZWN0aXZlVGF4UmF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0gYXMgY29uc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdmVybmFtZW50YWxUYXhSYXRlUmVkdWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZmZWN0aXZlVGF4UmF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ292ZXJuYW1lbnRhbFRheFJhdGVSZWR1Y3Rpb24uaXNOYU4oKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZWZmZWN0aXZlVGF4UmF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kZWNpbWFsUGxhY2VzKDQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRvTnVtYmVyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRheFJhdGUpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXhSYXRlICE9PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwLmdldCgnYWxpcXVvdGEnKSEudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh0YXhSYXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoJ2FsaXF1b3RhJykhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zZXRWYWx1ZSh0YXhSYXRlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgUmVncmEgVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZSBuw6NvIGltcGxlbWVudGFkYSBwYXJhIG8gaW1wb3N0byAke3RheFR5cGV9LCBkb2N1bWVudG8gJHtkb2N1bWVudH0uYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgYFJlZ3JhIFRheFJhdGVDYWxjdWxhdGlvblJ1bGUgbsOjbyBpbXBsZW1lbnRhZGEgcGFyYSBvIGltcG9zdG8gJHt0YXhUeXBlfSwgZG9jdW1lbnRvICR7ZG9jdW1lbnR9LmBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|