@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
package/esm2015/components/tributos/rules/status/registries/purchase-order-status-rules.registry.js
CHANGED
|
@@ -1,18 +1,62 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
|
+
import { EnumCampoTributo, EnumTipoTributo } from '../../../erp-tributos.types';
|
|
4
|
+
import { TaxRateStatusRule } from '../rules/tax-rate-status-rule';
|
|
5
|
+
import { TaxableBaseStatusRule } from '../rules/taxable-base-status-rule';
|
|
3
6
|
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../rules/taxable-base-status-rule";
|
|
8
|
+
import * as i2 from "../rules/tax-rate-status-rule";
|
|
4
9
|
let PurchaseOrderStatusRulesRegistry = class PurchaseOrderStatusRulesRegistry {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.
|
|
10
|
+
constructor(taxableBaseStatusRule, taxRateStatusRule) {
|
|
11
|
+
this.taxableBaseStatusRule = taxableBaseStatusRule;
|
|
12
|
+
this.taxRateStatusRule = taxRateStatusRule;
|
|
13
|
+
this.strategies = {
|
|
14
|
+
'Purchase Order': {
|
|
15
|
+
[EnumTipoTributo.CBS_A_APROPRIAR]: [
|
|
16
|
+
{
|
|
17
|
+
field: EnumCampoTributo.BaseCalculo,
|
|
18
|
+
rule: this.taxableBaseStatusRule
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
field: EnumCampoTributo.Aliquota,
|
|
22
|
+
rule: this.taxRateStatusRule
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
[EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
|
|
26
|
+
{
|
|
27
|
+
field: EnumCampoTributo.BaseCalculo,
|
|
28
|
+
rule: this.taxableBaseStatusRule
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
field: EnumCampoTributo.Aliquota,
|
|
32
|
+
rule: this.taxRateStatusRule
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
[EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
|
|
36
|
+
{
|
|
37
|
+
field: EnumCampoTributo.BaseCalculo,
|
|
38
|
+
rule: this.taxableBaseStatusRule
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
field: EnumCampoTributo.Aliquota,
|
|
42
|
+
rule: this.taxRateStatusRule
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
};
|
|
7
47
|
}
|
|
8
48
|
get(type, taxType) {
|
|
9
49
|
var _a, _b;
|
|
10
50
|
return ((_b = (_a = this.strategies[type]) === null || _a === void 0 ? void 0 : _a[taxType]) !== null && _b !== void 0 ? _b : []);
|
|
11
51
|
}
|
|
12
52
|
};
|
|
13
|
-
PurchaseOrderStatusRulesRegistry
|
|
53
|
+
PurchaseOrderStatusRulesRegistry.ctorParameters = () => [
|
|
54
|
+
{ type: TaxableBaseStatusRule },
|
|
55
|
+
{ type: TaxRateStatusRule }
|
|
56
|
+
];
|
|
57
|
+
PurchaseOrderStatusRulesRegistry.ɵprov = i0.ɵɵdefineInjectable({ factory: function PurchaseOrderStatusRulesRegistry_Factory() { return new PurchaseOrderStatusRulesRegistry(i0.ɵɵinject(i1.TaxableBaseStatusRule), i0.ɵɵinject(i2.TaxRateStatusRule)); }, token: PurchaseOrderStatusRulesRegistry, providedIn: "root" });
|
|
14
58
|
PurchaseOrderStatusRulesRegistry = __decorate([
|
|
15
59
|
Injectable({ providedIn: 'root' })
|
|
16
60
|
], PurchaseOrderStatusRulesRegistry);
|
|
17
61
|
export { PurchaseOrderStatusRulesRegistry };
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyY2hhc2Utb3JkZXItc3RhdHVzLXJ1bGVzLnJlZ2lzdHJ5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvZXJweC1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90cmlidXRvcy9ydWxlcy9zdGF0dXMvcmVnaXN0cmllcy9wdXJjaGFzZS1vcmRlci1zdGF0dXMtcnVsZXMucmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBS2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7O0FBRzFFLElBQWEsZ0NBQWdDLEdBQTdDLE1BQWEsZ0NBQWdDO0lBb0N6QyxZQUNxQixxQkFBNEMsRUFDNUMsaUJBQW9DO1FBRHBDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXJDeEMsZUFBVSxHQUF1QjtZQUM5QyxnQkFBZ0IsRUFBRTtnQkFDZCxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsRUFBRTtvQkFDL0I7d0JBQ0ksS0FBSyxFQUFFLGdCQUFnQixDQUFDLFdBQVc7d0JBQ25DLElBQUksRUFBRSxJQUFJLENBQUMscUJBQXFCO3FCQUNuQztvQkFDRDt3QkFDSSxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsUUFBUTt3QkFDaEMsSUFBSSxFQUFFLElBQUksQ0FBQyxpQkFBaUI7cUJBQy9CO2lCQUNKO2dCQUNELENBQUMsZUFBZSxDQUFDLHdCQUF3QixDQUFDLEVBQUU7b0JBQ3hDO3dCQUNJLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxXQUFXO3dCQUNuQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtxQkFDbkM7b0JBQ0Q7d0JBQ0ksS0FBSyxFQUFFLGdCQUFnQixDQUFDLFFBQVE7d0JBQ2hDLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCO3FCQUMvQjtpQkFDSjtnQkFDRCxDQUFDLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFO29CQUN6Qzt3QkFDSSxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsV0FBVzt3QkFDbkMsSUFBSSxFQUFFLElBQUksQ0FBQyxxQkFBcUI7cUJBQ25DO29CQUNEO3dCQUNJLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRO3dCQUNoQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtxQkFDL0I7aUJBQ0o7YUFDSjtTQUNKLENBQUM7SUFLQyxDQUFDO0lBRUosR0FBRyxDQUNDLElBQXVCLEVBQ3ZCLE9BQXdCOztRQUV4QixPQUFPLGFBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsMENBQUcsT0FBTyxvQ0FDbkMsRUFBRSxDQUE2QixDQUFDO0lBQ3hDLENBQUM7Q0FDSixDQUFBOztZQVgrQyxxQkFBcUI7WUFDekIsaUJBQWlCOzs7QUF0Q2hELGdDQUFnQztJQUQ1QyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7R0FDdEIsZ0NBQWdDLENBZ0Q1QztTQWhEWSxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbnVtQ2FtcG9UcmlidXRvLCBFbnVtVGlwb1RyaWJ1dG8gfSBmcm9tICcuLi8uLi8uLi9lcnAtdHJpYnV0b3MudHlwZXMnO1xuaW1wb3J0IHsgUHVyY2hhc2VPcmRlclR5cGUgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9wdXJjaGFzZS1vcmRlci10eXBlJztcbmltcG9ydCB7IEZpZWxkU3RhdHVzUnVsZU1hcHBpbmcgfSBmcm9tICcuLi8uLi90eXBlcy9maWVsZC1zdGF0dXMtcnVsZS1tYXBwaW5nJztcbmltcG9ydCB7IFNjaGVtYSB9IGZyb20gJy4uLy4uL3R5cGVzL3NjaGVtYXMvcHVyY2hhc2Utb3JkZXIuc2NoZW1hJztcbmltcG9ydCB7IFN0cmF0ZWdpZXMgfSBmcm9tICcuLi8uLi90eXBlcy9zdHJhdGVnaWVzJztcbmltcG9ydCB7IFRheFJhdGVTdGF0dXNSdWxlIH0gZnJvbSAnLi4vcnVsZXMvdGF4LXJhdGUtc3RhdHVzLXJ1bGUnO1xuaW1wb3J0IHsgVGF4YWJsZUJhc2VTdGF0dXNSdWxlIH0gZnJvbSAnLi4vcnVsZXMvdGF4YWJsZS1iYXNlLXN0YXR1cy1ydWxlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQdXJjaGFzZU9yZGVyU3RhdHVzUnVsZXNSZWdpc3RyeSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdHJhdGVnaWVzOiBTdHJhdGVnaWVzPFNjaGVtYT4gPSB7XG4gICAgICAgICdQdXJjaGFzZSBPcmRlcic6IHtcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVTdGF0dXNSdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlU3RhdHVzUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YXhhYmxlQmFzZVN0YXR1c1J1bGU6IFRheGFibGVCYXNlU3RhdHVzUnVsZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YXhSYXRlU3RhdHVzUnVsZTogVGF4UmF0ZVN0YXR1c1J1bGVcbiAgICApIHt9XG5cbiAgICBnZXQoXG4gICAgICAgIHR5cGU6IFB1cmNoYXNlT3JkZXJUeXBlLFxuICAgICAgICB0YXhUeXBlOiBFbnVtVGlwb1RyaWJ1dG9cbiAgICApOiBGaWVsZFN0YXR1c1J1bGVNYXBwaW5nW10ge1xuICAgICAgICByZXR1cm4gKHRoaXMuc3RyYXRlZ2llc1t0eXBlXT8uW3RheFR5cGVdID8/XG4gICAgICAgICAgICBbXSkgYXMgRmllbGRTdGF0dXNSdWxlTWFwcGluZ1tdO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import BigNumber from 'bignumber.js';
|
|
4
|
+
import { combineLatest } from 'rxjs';
|
|
5
|
+
import { distinctUntilChanged, map, startWith } from 'rxjs/operators';
|
|
6
|
+
import { EnumTipoTributo } from '../../../erp-tributos.types';
|
|
7
|
+
import { getBaseTaxItemFromGroup } from '../../../tax-reform-utilities';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
let TaxRateStatusRule = class TaxRateStatusRule {
|
|
10
|
+
apply({ context: { document }, group, item: { name: taxType, formGroup } }) {
|
|
11
|
+
switch (taxType) {
|
|
12
|
+
case EnumTipoTributo.CBS_A_APROPRIAR:
|
|
13
|
+
case EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR:
|
|
14
|
+
case EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR:
|
|
15
|
+
{
|
|
16
|
+
switch (document) {
|
|
17
|
+
case 'Incoming Invoice':
|
|
18
|
+
case 'Purchase Order':
|
|
19
|
+
{
|
|
20
|
+
const { formGroup: baseTaxFormGroup } = getBaseTaxItemFromGroup({ group });
|
|
21
|
+
combineLatest([
|
|
22
|
+
baseTaxFormGroup
|
|
23
|
+
.get('baseCalculo')
|
|
24
|
+
.valueChanges.pipe(startWith(baseTaxFormGroup.get('baseCalculo').value), distinctUntilChanged()),
|
|
25
|
+
baseTaxFormGroup
|
|
26
|
+
.get('valor')
|
|
27
|
+
.valueChanges.pipe(startWith(baseTaxFormGroup.get('valor')
|
|
28
|
+
.value), distinctUntilChanged())
|
|
29
|
+
])
|
|
30
|
+
.pipe(map(([taxableBase, taxAmount]) => !new BigNumber(taxableBase).isNaN() ||
|
|
31
|
+
!new BigNumber(taxAmount).isNaN()), distinctUntilChanged())
|
|
32
|
+
.subscribe((isBaseTaxInformed) => {
|
|
33
|
+
if (isBaseTaxInformed) {
|
|
34
|
+
formGroup.get('aliquota').enable({
|
|
35
|
+
emitEvent: false
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
formGroup.get('aliquota').disable({
|
|
40
|
+
emitEvent: false
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
break;
|
|
46
|
+
default:
|
|
47
|
+
throw new Error(`Regra TaxRateStatusRule não implementada para o imposto ${taxType}, documento ${document}.`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
break;
|
|
51
|
+
default:
|
|
52
|
+
throw new Error(`Regra TaxRateStatusRule não implementada para o imposto ${taxType}, documento ${document}.`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
TaxRateStatusRule.ɵprov = i0.ɵɵdefineInjectable({ factory: function TaxRateStatusRule_Factory() { return new TaxRateStatusRule(); }, token: TaxRateStatusRule, providedIn: "root" });
|
|
57
|
+
TaxRateStatusRule = __decorate([
|
|
58
|
+
Injectable({ providedIn: 'root' })
|
|
59
|
+
], TaxRateStatusRule);
|
|
60
|
+
export { TaxRateStatusRule };
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJhdGUtc3RhdHVzLXJ1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9lcnB4LWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RyaWJ1dG9zL3J1bGVzL3N0YXR1cy9ydWxlcy90YXgtcmF0ZS1zdGF0dXMtcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUM7QUFDckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFLeEUsSUFBYSxpQkFBaUIsR0FBOUIsTUFBYSxpQkFBaUI7SUFDMUIsS0FBSyxDQUFDLEVBQ0YsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQ3JCLEtBQUssRUFDTCxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUN4QjtRQUNWLFFBQVEsT0FBTyxFQUFFO1lBQ2IsS0FBSyxlQUFlLENBQUMsZUFBZSxDQUFDO1lBQ3JDLEtBQUssZUFBZSxDQUFDLHdCQUF3QixDQUFDO1lBQzlDLEtBQUssZUFBZSxDQUFDLHlCQUF5QjtnQkFDMUM7b0JBQ0ksUUFBUSxRQUFRLEVBQUU7d0JBQ2QsS0FBSyxrQkFBa0IsQ0FBQzt3QkFDeEIsS0FBSyxnQkFBZ0I7NEJBQ2pCO2dDQUNJLE1BQU0sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsR0FDakMsdUJBQXVCLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dDQUV2QyxhQUFhLENBQUM7b0NBQ1YsZ0JBQWdCO3lDQUNYLEdBQUcsQ0FBQyxhQUFhLENBQUU7eUNBQ25CLFlBQVksQ0FBQyxJQUFJLENBQ2QsU0FBUyxDQUNMLGdCQUFnQixDQUFDLEdBQUcsQ0FDaEIsYUFBYSxDQUNmLENBQUMsS0FBSyxDQUNYLEVBQ0Qsb0JBQW9CLEVBQUUsQ0FDekI7b0NBQ0wsZ0JBQWdCO3lDQUNYLEdBQUcsQ0FBQyxPQUFPLENBQUU7eUNBQ2IsWUFBWSxDQUFDLElBQUksQ0FDZCxTQUFTLENBQ0wsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBRTt5Q0FDekIsS0FBSyxDQUNiLEVBQ0Qsb0JBQW9CLEVBQUUsQ0FDekI7aUNBQ1IsQ0FBQztxQ0FDRyxJQUFJLENBQ0QsR0FBRyxDQUNDLENBQUMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUN6QixDQUFDLElBQUksU0FBUyxDQUNWLFdBQVcsQ0FDZCxDQUFDLEtBQUssRUFBRTtvQ0FDVCxDQUFDLElBQUksU0FBUyxDQUNWLFNBQVMsQ0FDWixDQUFDLEtBQUssRUFBRSxDQUNoQixFQUNELG9CQUFvQixFQUFFLENBQ3pCO3FDQUNBLFNBQVMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEVBQUU7b0NBQzdCLElBQUksaUJBQWlCLEVBQUU7d0NBQ25CLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFFLENBQUMsTUFBTSxDQUFDOzRDQUM5QixTQUFTLEVBQUUsS0FBSzt5Q0FDbkIsQ0FBQyxDQUFDO3FDQUNOO3lDQUFNO3dDQUNILFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFFLENBQUMsT0FBTyxDQUFDOzRDQUMvQixTQUFTLEVBQUUsS0FBSzt5Q0FDbkIsQ0FBQyxDQUFDO3FDQUNOO2dDQUNMLENBQUMsQ0FBQyxDQUFDOzZCQUNWOzRCQUNELE1BQU07d0JBQ1Y7NEJBQ0ksTUFBTSxJQUFJLEtBQUssQ0FDWCwyREFBMkQsT0FBTyxlQUFlLFFBQVEsR0FBRyxDQUMvRixDQUFDO3FCQUNUO2lCQUNKO2dCQUNELE1BQU07WUFDVjtnQkFDSSxNQUFNLElBQUksS0FBSyxDQUNYLDJEQUEyRCxPQUFPLGVBQWUsUUFBUSxHQUFHLENBQy9GLENBQUM7U0FDVDtJQUNMLENBQUM7Q0FDSixDQUFBOztBQTdFWSxpQkFBaUI7SUFEN0IsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO0dBQ3RCLGlCQUFpQixDQTZFN0I7U0E3RVksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRW51bVRpcG9UcmlidXRvIH0gZnJvbSAnLi4vLi4vLi4vZXJwLXRyaWJ1dG9zLnR5cGVzJztcbmltcG9ydCB7IGdldEJhc2VUYXhJdGVtRnJvbUdyb3VwIH0gZnJvbSAnLi4vLi4vLi4vdGF4LXJlZm9ybS11dGlsaXRpZXMnO1xuaW1wb3J0IHsgUnVsZVBheWxvYWQgfSBmcm9tICcuLi8uLi90eXBlcy9ydWxlLXBheWxvYWQnO1xuaW1wb3J0IHsgVGF4UnVsZSB9IGZyb20gJy4uLy4uL3R5cGVzL3RheC1ydWxlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUYXhSYXRlU3RhdHVzUnVsZSBpbXBsZW1lbnRzIFRheFJ1bGUge1xuICAgIGFwcGx5KHtcbiAgICAgICAgY29udGV4dDogeyBkb2N1bWVudCB9LFxuICAgICAgICBncm91cCxcbiAgICAgICAgaXRlbTogeyBuYW1lOiB0YXhUeXBlLCBmb3JtR3JvdXAgfVxuICAgIH06IFJ1bGVQYXlsb2FkKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAodGF4VHlwZSkge1xuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uQ0JTX0FfQVBST1BSSUFSOlxuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0FfQVBST1BSSUFSOlxuICAgICAgICAgICAgY2FzZSBFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9BX0FQUk9QUklBUjpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZG9jdW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ0luY29taW5nIEludm9pY2UnOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnUHVyY2hhc2UgT3JkZXInOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBmb3JtR3JvdXA6IGJhc2VUYXhGb3JtR3JvdXAgfSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRCYXNlVGF4SXRlbUZyb21Hcm91cCh7IGdyb3VwIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZVRheEZvcm1Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoJ2Jhc2VDYWxjdWxvJykhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlVGF4Rm9ybUdyb3VwLmdldChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFzZUNhbGN1bG8nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIS52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VUYXhGb3JtR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCd2YWxvcicpIVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZVRheEZvcm1Hcm91cC5nZXQoJ3ZhbG9yJykhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChbdGF4YWJsZUJhc2UsIHRheEFtb3VudF0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhbmV3IEJpZ051bWJlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXhhYmxlQmFzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5pc05hTigpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhbmV3IEJpZ051bWJlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXhBbW91bnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkuaXNOYU4oKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoaXNCYXNlVGF4SW5mb3JtZWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNCYXNlVGF4SW5mb3JtZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwLmdldCgnYWxpcXVvdGEnKSEuZW5hYmxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtaXRFdmVudDogZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwLmdldCgnYWxpcXVvdGEnKSEuZGlzYWJsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgUmVncmEgVGF4UmF0ZVN0YXR1c1J1bGUgbsOjbyBpbXBsZW1lbnRhZGEgcGFyYSBvIGltcG9zdG8gJHt0YXhUeXBlfSwgZG9jdW1lbnRvICR7ZG9jdW1lbnR9LmBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgIGBSZWdyYSBUYXhSYXRlU3RhdHVzUnVsZSBuw6NvIGltcGxlbWVudGFkYSBwYXJhIG8gaW1wb3N0byAke3RheFR5cGV9LCBkb2N1bWVudG8gJHtkb2N1bWVudH0uYFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import BigNumber from 'bignumber.js';
|
|
4
|
+
import { combineLatest } from 'rxjs';
|
|
5
|
+
import { distinctUntilChanged, map, startWith } from 'rxjs/operators';
|
|
6
|
+
import { EnumTipoTributo } from '../../../erp-tributos.types';
|
|
7
|
+
import { getBaseTaxItemFromGroup } from '../../../tax-reform-utilities';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
let TaxableBaseStatusRule = class TaxableBaseStatusRule {
|
|
10
|
+
apply({ context: { document }, group, item: { name: taxType, formGroup } }) {
|
|
11
|
+
switch (taxType) {
|
|
12
|
+
case EnumTipoTributo.CBS_A_APROPRIAR:
|
|
13
|
+
case EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR:
|
|
14
|
+
case EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR:
|
|
15
|
+
{
|
|
16
|
+
switch (document) {
|
|
17
|
+
case 'Incoming Invoice':
|
|
18
|
+
case 'Purchase Order':
|
|
19
|
+
{
|
|
20
|
+
const { formGroup: baseTaxFormGroup } = getBaseTaxItemFromGroup({ group });
|
|
21
|
+
combineLatest([
|
|
22
|
+
baseTaxFormGroup
|
|
23
|
+
.get('baseCalculo')
|
|
24
|
+
.valueChanges.pipe(startWith(baseTaxFormGroup.get('baseCalculo').value), distinctUntilChanged()),
|
|
25
|
+
baseTaxFormGroup
|
|
26
|
+
.get('valor')
|
|
27
|
+
.valueChanges.pipe(startWith(baseTaxFormGroup.get('valor')
|
|
28
|
+
.value), distinctUntilChanged())
|
|
29
|
+
])
|
|
30
|
+
.pipe(map(([taxableBase, taxAmount]) => !new BigNumber(taxableBase).isNaN() ||
|
|
31
|
+
!new BigNumber(taxAmount).isNaN()), distinctUntilChanged())
|
|
32
|
+
.subscribe((isBaseTaxInformed) => {
|
|
33
|
+
if (isBaseTaxInformed) {
|
|
34
|
+
formGroup
|
|
35
|
+
.get('baseCalculo')
|
|
36
|
+
.enable({
|
|
37
|
+
emitEvent: false
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
formGroup
|
|
42
|
+
.get('baseCalculo')
|
|
43
|
+
.disable({
|
|
44
|
+
emitEvent: false
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
break;
|
|
50
|
+
default:
|
|
51
|
+
throw new Error(`Regra TaxableBaseStatusRule não implementada para o imposto ${taxType}, documento ${document}.`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
break;
|
|
55
|
+
default:
|
|
56
|
+
throw new Error(`Regra TaxableBaseStatusRule não implementada para o imposto ${taxType}, documento ${document}.`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
TaxableBaseStatusRule.ɵprov = i0.ɵɵdefineInjectable({ factory: function TaxableBaseStatusRule_Factory() { return new TaxableBaseStatusRule(); }, token: TaxableBaseStatusRule, providedIn: "root" });
|
|
61
|
+
TaxableBaseStatusRule = __decorate([
|
|
62
|
+
Injectable({ providedIn: 'root' })
|
|
63
|
+
], TaxableBaseStatusRule);
|
|
64
|
+
export { TaxableBaseStatusRule };
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4YWJsZS1iYXNlLXN0YXR1cy1ydWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvZXJweC1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90cmlidXRvcy9ydWxlcy9zdGF0dXMvcnVsZXMvdGF4YWJsZS1iYXNlLXN0YXR1cy1ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sU0FBUyxNQUFNLGNBQWMsQ0FBQztBQUNyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUt4RSxJQUFhLHFCQUFxQixHQUFsQyxNQUFhLHFCQUFxQjtJQUM5QixLQUFLLENBQUMsRUFDRixPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFDckIsS0FBSyxFQUNMLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQ3hCO1FBQ1YsUUFBUSxPQUFPLEVBQUU7WUFDYixLQUFLLGVBQWUsQ0FBQyxlQUFlLENBQUM7WUFDckMsS0FBSyxlQUFlLENBQUMsd0JBQXdCLENBQUM7WUFDOUMsS0FBSyxlQUFlLENBQUMseUJBQXlCO2dCQUMxQztvQkFDSSxRQUFRLFFBQVEsRUFBRTt3QkFDZCxLQUFLLGtCQUFrQixDQUFDO3dCQUN4QixLQUFLLGdCQUFnQjs0QkFDakI7Z0NBQ0ksTUFBTSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxHQUNqQyx1QkFBdUIsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0NBRXZDLGFBQWEsQ0FBQztvQ0FDVixnQkFBZ0I7eUNBQ1gsR0FBRyxDQUFDLGFBQWEsQ0FBRTt5Q0FDbkIsWUFBWSxDQUFDLElBQUksQ0FDZCxTQUFTLENBQ0wsZ0JBQWdCLENBQUMsR0FBRyxDQUNoQixhQUFhLENBQ2YsQ0FBQyxLQUFLLENBQ1gsRUFDRCxvQkFBb0IsRUFBRSxDQUN6QjtvQ0FDTCxnQkFBZ0I7eUNBQ1gsR0FBRyxDQUFDLE9BQU8sQ0FBRTt5Q0FDYixZQUFZLENBQUMsSUFBSSxDQUNkLFNBQVMsQ0FDTCxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFFO3lDQUN6QixLQUFLLENBQ2IsRUFDRCxvQkFBb0IsRUFBRSxDQUN6QjtpQ0FDUixDQUFDO3FDQUNHLElBQUksQ0FDRCxHQUFHLENBQ0MsQ0FBQyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLENBQ3pCLENBQUMsSUFBSSxTQUFTLENBQ1YsV0FBVyxDQUNkLENBQUMsS0FBSyxFQUFFO29DQUNULENBQUMsSUFBSSxTQUFTLENBQ1YsU0FBUyxDQUNaLENBQUMsS0FBSyxFQUFFLENBQ2hCLEVBQ0Qsb0JBQW9CLEVBQUUsQ0FDekI7cUNBQ0EsU0FBUyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsRUFBRTtvQ0FDN0IsSUFBSSxpQkFBaUIsRUFBRTt3Q0FDbkIsU0FBUzs2Q0FDSixHQUFHLENBQUMsYUFBYSxDQUFFOzZDQUNuQixNQUFNLENBQUM7NENBQ0osU0FBUyxFQUFFLEtBQUs7eUNBQ25CLENBQUMsQ0FBQztxQ0FDVjt5Q0FBTTt3Q0FDSCxTQUFTOzZDQUNKLEdBQUcsQ0FBQyxhQUFhLENBQUU7NkNBQ25CLE9BQU8sQ0FBQzs0Q0FDTCxTQUFTLEVBQUUsS0FBSzt5Q0FDbkIsQ0FBQyxDQUFDO3FDQUNWO2dDQUNMLENBQUMsQ0FBQyxDQUFDOzZCQUNWOzRCQUNELE1BQU07d0JBQ1Y7NEJBQ0ksTUFBTSxJQUFJLEtBQUssQ0FDWCwrREFBK0QsT0FBTyxlQUFlLFFBQVEsR0FBRyxDQUNuRyxDQUFDO3FCQUNUO2lCQUNKO2dCQUNELE1BQU07WUFDVjtnQkFDSSxNQUFNLElBQUksS0FBSyxDQUNYLCtEQUErRCxPQUFPLGVBQWUsUUFBUSxHQUFHLENBQ25HLENBQUM7U0FDVDtJQUNMLENBQUM7Q0FDSixDQUFBOztBQWpGWSxxQkFBcUI7SUFEakMsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO0dBQ3RCLHFCQUFxQixDQWlGakM7U0FqRlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRW51bVRpcG9UcmlidXRvIH0gZnJvbSAnLi4vLi4vLi4vZXJwLXRyaWJ1dG9zLnR5cGVzJztcbmltcG9ydCB7IGdldEJhc2VUYXhJdGVtRnJvbUdyb3VwIH0gZnJvbSAnLi4vLi4vLi4vdGF4LXJlZm9ybS11dGlsaXRpZXMnO1xuaW1wb3J0IHsgUnVsZVBheWxvYWQgfSBmcm9tICcuLi8uLi90eXBlcy9ydWxlLXBheWxvYWQnO1xuaW1wb3J0IHsgVGF4UnVsZSB9IGZyb20gJy4uLy4uL3R5cGVzL3RheC1ydWxlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUYXhhYmxlQmFzZVN0YXR1c1J1bGUgaW1wbGVtZW50cyBUYXhSdWxlIHtcbiAgICBhcHBseSh7XG4gICAgICAgIGNvbnRleHQ6IHsgZG9jdW1lbnQgfSxcbiAgICAgICAgZ3JvdXAsXG4gICAgICAgIGl0ZW06IHsgbmFtZTogdGF4VHlwZSwgZm9ybUdyb3VwIH1cbiAgICB9OiBSdWxlUGF5bG9hZCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKHRheFR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLkNCU19BX0FQUk9QUklBUjpcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9BX0FQUk9QUklBUjpcbiAgICAgICAgICAgIGNhc2UgRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfQV9BUFJPUFJJQVI6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGRvY3VtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdJbmNvbWluZyBJbnZvaWNlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ1B1cmNoYXNlIE9yZGVyJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZm9ybUdyb3VwOiBiYXNlVGF4Rm9ybUdyb3VwIH0gPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0QmFzZVRheEl0ZW1Gcm9tR3JvdXAoeyBncm91cCB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VUYXhGb3JtR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdiYXNlQ2FsY3VsbycpIVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZVRheEZvcm1Hcm91cC5nZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jhc2VDYWxjdWxvJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSEudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlVGF4Rm9ybUdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgndmFsb3InKSFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VUYXhGb3JtR3JvdXAuZ2V0KCd2YWxvcicpIVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoW3RheGFibGVCYXNlLCB0YXhBbW91bnRdKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIW5ldyBCaWdOdW1iZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGF4YWJsZUJhc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkuaXNOYU4oKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIW5ldyBCaWdOdW1iZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGF4QW1vdW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLmlzTmFOKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGlzQmFzZVRheEluZm9ybWVkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzQmFzZVRheEluZm9ybWVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnYmFzZUNhbGN1bG8nKSFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbmFibGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtaXRFdmVudDogZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnYmFzZUNhbGN1bG8nKSFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kaXNhYmxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFJlZ3JhIFRheGFibGVCYXNlU3RhdHVzUnVsZSBuw6NvIGltcGxlbWVudGFkYSBwYXJhIG8gaW1wb3N0byAke3RheFR5cGV9LCBkb2N1bWVudG8gJHtkb2N1bWVudH0uYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgYFJlZ3JhIFRheGFibGVCYXNlU3RhdHVzUnVsZSBuw6NvIGltcGxlbWVudGFkYSBwYXJhIG8gaW1wb3N0byAke3RheFR5cGV9LCBkb2N1bWVudG8gJHtkb2N1bWVudH0uYFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|