@yelon/bis 15.0.0-beta.7 → 15.1.0-077d885e

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.
@@ -72,7 +72,7 @@ YunzaiUserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
72
72
  <li nz-menu-divider></li>
73
73
  <div nz-menu-item (click)="logout()">
74
74
  <i nz-icon nzType="logout" class="mr-sm"></i>
75
- {{ 'menu.account.logout' | i18n }}
75
+ {{ 'logout' | i18n }}
76
76
  </div>
77
77
  </div>
78
78
  </nz-dropdown-menu>
@@ -102,7 +102,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
102
102
  <li nz-menu-divider></li>
103
103
  <div nz-menu-item (click)="logout()">
104
104
  <i nz-icon nzType="logout" class="mr-sm"></i>
105
- {{ 'menu.account.logout' | i18n }}
105
+ {{ 'logout' | i18n }}
106
106
  </div>
107
107
  </div>
108
108
  </nz-dropdown-menu>
@@ -113,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
113
113
  type: Inject,
114
114
  args: [YA_SERVICE_TOKEN]
115
115
  }] }, { type: i2.YunzaiConfigService }, { type: i3.CacheService }]; } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLXVzZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYmlzL2xheW91dC93aWRnZXRzL3l1bnphaS11c2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLGdCQUFnQixFQUFpQixNQUFNLGFBQWEsQ0FBQztBQUU5RCxPQUFPLEVBQUUsTUFBTSxFQUE2QyxNQUFNLGFBQWEsQ0FBQztBQUdoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7QUFzQy9DLE1BQU0sT0FBTyxtQkFBbUI7SUFHOUIsWUFDVSxRQUFrQixFQUNsQixHQUFxQixFQUNLLFlBQTJCO0lBQzdELGFBQWE7SUFDTCxhQUFrQyxFQUNsQyxZQUEwQjtRQUwxQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQ0ssaUJBQVksR0FBWixZQUFZLENBQWU7UUFFckQsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBS3BDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixVQUFLLEdBQWUsRUFBRSxDQUFDO1FBTHJCLElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFNRCxRQUFRO1FBQ04sTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNoRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN0RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxvQkFBb0IsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMzRCxDQUFDLENBQUMsNkJBQTZCLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxNQUFNO1FBQ0osWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyx1QkFBdUIsQ0FBQztJQUMxRixDQUFDO0lBRUQsRUFBRSxDQUFDLElBQVk7UUFDYixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QzthQUFNO1lBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDOztnSEF4Q1UsbUJBQW1CLDBFQU1wQixnQkFBZ0I7b0dBTmYsbUJBQW1CLG1EQTVCcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5QlQ7MkZBR1UsbUJBQW1CO2tCQTlCL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7MEJBT0ksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgWUFfU0VSVklDRV9UT0tFTiwgSVRva2VuU2VydmljZSB9IGZyb20gJ0B5ZWxvbi9hdXRoJztcbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJ0B5ZWxvbi9jYWNoZSc7XG5pbXBvcnQgeyBXSU5ET1csIFl1bnphaUJ1c2luZXNzQ29uZmlnLCBZdW56YWlDb25maWdTZXJ2aWNlIH0gZnJvbSAnQHllbG9uL3V0aWwnO1xuaW1wb3J0IHsgTnpNZXNzYWdlU2VydmljZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvbWVzc2FnZSc7XG5cbmltcG9ydCB7IG1lcmdlQmlzQ29uZmlnIH0gZnJvbSAnLi4vYmlzLmNvbmZpZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckxpbmsge1xuICBpY29uOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3l1bnphaS11c2VyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInl1bnphaS1kZWZhdWx0X19uYXYtaXRlbSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHB4LXNtXCJcbiAgICAgIG56LWRyb3Bkb3duXG4gICAgICBuelBsYWNlbWVudD1cImJvdHRvbVJpZ2h0XCJcbiAgICAgIFtuekRyb3Bkb3duTWVudV09XCJ1c2VyTWVudVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInl6LXVzZXItbmFtZVwiPlxuICAgICAgICA8bnotYXZhdGFyIFtuelNyY109XCJpY29uXCIgbnpTaXplPVwic21hbGxcIiBjbGFzcz1cIm1yLXNtXCI+PC9uei1hdmF0YXI+XG4gICAgICAgIHt7IHVzZXJuYW1lIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bnotZHJvcGRvd24tbWVudSAjdXNlck1lbnU9XCJuekRyb3Bkb3duTWVudVwiPlxuICAgICAgPGRpdiBuei1tZW51IGNsYXNzPVwid2lkdGgtc21cIj5cbiAgICAgICAgPGRpdiBuei1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IG0gb2YgbWVudXNcIiAoY2xpY2spPVwidG8obS51cmwpXCI+XG4gICAgICAgICAgPGkgbnotaWNvbiBbbnpUeXBlXT1cIm0uaWNvblwiIGNsYXNzPVwibXItc21cIj48L2k+XG4gICAgICAgICAge3sgbS5uYW1lIHwgaTE4biB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGxpIG56LW1lbnUtZGl2aWRlcj48L2xpPlxuICAgICAgICA8ZGl2IG56LW1lbnUtaXRlbSAoY2xpY2spPVwibG9nb3V0KClcIj5cbiAgICAgICAgICA8aSBuei1pY29uIG56VHlwZT1cImxvZ291dFwiIGNsYXNzPVwibXItc21cIj48L2k+XG4gICAgICAgICAge3sgJ21lbnUuYWNjb3VudC5sb2dvdXQnIHwgaTE4biB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbnotZHJvcGRvd24tbWVudT5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgWXVuemFpVXNlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgY29uZmlnOiBZdW56YWlCdXNpbmVzc0NvbmZpZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIG1zZzogTnpNZXNzYWdlU2VydmljZSxcbiAgICBASW5qZWN0KFlBX1NFUlZJQ0VfVE9LRU4pIHByaXZhdGUgdG9rZW5TZXJ2aWNlOiBJVG9rZW5TZXJ2aWNlLFxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IFl1bnphaUNvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IENhY2hlU2VydmljZVxuICApIHtcbiAgICB0aGlzLmNvbmZpZyA9IG1lcmdlQmlzQ29uZmlnKGNvbmZpZ1NlcnZpY2UpO1xuICB9XG5cbiAgaWNvbjogc3RyaW5nID0gJyc7XG4gIHVzZXJuYW1lOiBzdHJpbmcgPSAnJztcbiAgbWVudXM6IFVzZXJMaW5rW10gPSBbXTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBwcm9qZWN0SW5mbyA9IHRoaXMuY2FjaGVTZXJ2aWNlLmdldCgnX3l6X3Byb2plY3RfaW5mbycsIHsgbW9kZTogJ25vbmUnIH0pO1xuICAgIGNvbnN0IHVzZXIgPSB0aGlzLmNhY2hlU2VydmljZS5nZXQoJ195el91c2VyJywgeyBtb2RlOiAnbm9uZScgfSk7XG4gICAgdGhpcy51c2VybmFtZSA9IHVzZXIucmVhbG5hbWUgPyB1c2VyLnJlYWxuYW1lIDogJ+acquWRveWQjSc7XG4gICAgdGhpcy5pY29uID0gdXNlci5hdmF0YXJJZFxuICAgICAgPyBgJHt0aGlzLmNvbmZpZy5iYXNlVXJsfS9maWxlY2VudGVyL2ZpbGUvJHt1c2VyLmF2YXRhcklkfWBcbiAgICAgIDogYC4vYXNzZXRzL3RtcC9pbWcvYXZhdGFyLmpwZ2A7XG4gICAgdGhpcy5tZW51cyA9IHByb2plY3RJbmZvLnByb2ZpbGVMaXN0O1xuICB9XG5cbiAgbG9nb3V0KCk6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xuICAgIHRoaXMudG9rZW5TZXJ2aWNlLmNsZWFyKCk7XG4gICAgdGhpcy5pbmplY3Rvci5nZXQoV0lORE9XKS5sb2NhdGlvbi5ocmVmID0gYCR7dGhpcy5jb25maWcuYmFzZVVybH0vY2FzLXByb3h5L2FwcC9sb2dvdXRgO1xuICB9XG5cbiAgdG8oaHJlZjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGhyZWYpIHtcbiAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KFdJTkRPVykub3BlbihocmVmKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tc2cuZXJyb3IoJ+ivpeiPnOWNleayoeaciemFjee9rumTvuaOpSEnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLXVzZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYmlzL2xheW91dC93aWRnZXRzL3l1bnphaS11c2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLGdCQUFnQixFQUFpQixNQUFNLGFBQWEsQ0FBQztBQUU5RCxPQUFPLEVBQUUsTUFBTSxFQUE2QyxNQUFNLGFBQWEsQ0FBQztBQUdoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7QUFzQy9DLE1BQU0sT0FBTyxtQkFBbUI7SUFHOUIsWUFDVSxRQUFrQixFQUNsQixHQUFxQixFQUNLLFlBQTJCO0lBQzdELGFBQWE7SUFDTCxhQUFrQyxFQUNsQyxZQUEwQjtRQUwxQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQ0ssaUJBQVksR0FBWixZQUFZLENBQWU7UUFFckQsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBS3BDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixVQUFLLEdBQWUsRUFBRSxDQUFDO1FBTHJCLElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFNRCxRQUFRO1FBQ04sTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNoRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN0RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxvQkFBb0IsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMzRCxDQUFDLENBQUMsNkJBQTZCLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxNQUFNO1FBQ0osWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyx1QkFBdUIsQ0FBQztJQUMxRixDQUFDO0lBRUQsRUFBRSxDQUFDLElBQVk7UUFDYixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QzthQUFNO1lBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDOztnSEF4Q1UsbUJBQW1CLDBFQU1wQixnQkFBZ0I7b0dBTmYsbUJBQW1CLG1EQTVCcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5QlQ7MkZBR1UsbUJBQW1CO2tCQTlCL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7MEJBT0ksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgWUFfU0VSVklDRV9UT0tFTiwgSVRva2VuU2VydmljZSB9IGZyb20gJ0B5ZWxvbi9hdXRoJztcbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJ0B5ZWxvbi9jYWNoZSc7XG5pbXBvcnQgeyBXSU5ET1csIFl1bnphaUJ1c2luZXNzQ29uZmlnLCBZdW56YWlDb25maWdTZXJ2aWNlIH0gZnJvbSAnQHllbG9uL3V0aWwnO1xuaW1wb3J0IHsgTnpNZXNzYWdlU2VydmljZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvbWVzc2FnZSc7XG5cbmltcG9ydCB7IG1lcmdlQmlzQ29uZmlnIH0gZnJvbSAnLi4vYmlzLmNvbmZpZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckxpbmsge1xuICBpY29uOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3l1bnphaS11c2VyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInl1bnphaS1kZWZhdWx0X19uYXYtaXRlbSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHB4LXNtXCJcbiAgICAgIG56LWRyb3Bkb3duXG4gICAgICBuelBsYWNlbWVudD1cImJvdHRvbVJpZ2h0XCJcbiAgICAgIFtuekRyb3Bkb3duTWVudV09XCJ1c2VyTWVudVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInl6LXVzZXItbmFtZVwiPlxuICAgICAgICA8bnotYXZhdGFyIFtuelNyY109XCJpY29uXCIgbnpTaXplPVwic21hbGxcIiBjbGFzcz1cIm1yLXNtXCI+PC9uei1hdmF0YXI+XG4gICAgICAgIHt7IHVzZXJuYW1lIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bnotZHJvcGRvd24tbWVudSAjdXNlck1lbnU9XCJuekRyb3Bkb3duTWVudVwiPlxuICAgICAgPGRpdiBuei1tZW51IGNsYXNzPVwid2lkdGgtc21cIj5cbiAgICAgICAgPGRpdiBuei1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IG0gb2YgbWVudXNcIiAoY2xpY2spPVwidG8obS51cmwpXCI+XG4gICAgICAgICAgPGkgbnotaWNvbiBbbnpUeXBlXT1cIm0uaWNvblwiIGNsYXNzPVwibXItc21cIj48L2k+XG4gICAgICAgICAge3sgbS5uYW1lIHwgaTE4biB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGxpIG56LW1lbnUtZGl2aWRlcj48L2xpPlxuICAgICAgICA8ZGl2IG56LW1lbnUtaXRlbSAoY2xpY2spPVwibG9nb3V0KClcIj5cbiAgICAgICAgICA8aSBuei1pY29uIG56VHlwZT1cImxvZ291dFwiIGNsYXNzPVwibXItc21cIj48L2k+XG4gICAgICAgICAge3sgJ2xvZ291dCcgfCBpMThuIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uei1kcm9wZG93bi1tZW51PlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBZdW56YWlVc2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBjb25maWc6IFl1bnphaUJ1c2luZXNzQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgbXNnOiBOek1lc3NhZ2VTZXJ2aWNlLFxuICAgIEBJbmplY3QoWUFfU0VSVklDRV9UT0tFTikgcHJpdmF0ZSB0b2tlblNlcnZpY2U6IElUb2tlblNlcnZpY2UsXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogWXVuemFpQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIGNhY2hlU2VydmljZTogQ2FjaGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuY29uZmlnID0gbWVyZ2VCaXNDb25maWcoY29uZmlnU2VydmljZSk7XG4gIH1cblxuICBpY29uOiBzdHJpbmcgPSAnJztcbiAgdXNlcm5hbWU6IHN0cmluZyA9ICcnO1xuICBtZW51czogVXNlckxpbmtbXSA9IFtdO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHByb2plY3RJbmZvID0gdGhpcy5jYWNoZVNlcnZpY2UuZ2V0KCdfeXpfcHJvamVjdF9pbmZvJywgeyBtb2RlOiAnbm9uZScgfSk7XG4gICAgY29uc3QgdXNlciA9IHRoaXMuY2FjaGVTZXJ2aWNlLmdldCgnX3l6X3VzZXInLCB7IG1vZGU6ICdub25lJyB9KTtcbiAgICB0aGlzLnVzZXJuYW1lID0gdXNlci5yZWFsbmFtZSA/IHVzZXIucmVhbG5hbWUgOiAn5pyq5ZG95ZCNJztcbiAgICB0aGlzLmljb24gPSB1c2VyLmF2YXRhcklkXG4gICAgICA/IGAke3RoaXMuY29uZmlnLmJhc2VVcmx9L2ZpbGVjZW50ZXIvZmlsZS8ke3VzZXIuYXZhdGFySWR9YFxuICAgICAgOiBgLi9hc3NldHMvdG1wL2ltZy9hdmF0YXIuanBnYDtcbiAgICB0aGlzLm1lbnVzID0gcHJvamVjdEluZm8ucHJvZmlsZUxpc3Q7XG4gIH1cblxuICBsb2dvdXQoKTogdm9pZCB7XG4gICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XG4gICAgdGhpcy50b2tlblNlcnZpY2UuY2xlYXIoKTtcbiAgICB0aGlzLmluamVjdG9yLmdldChXSU5ET1cpLmxvY2F0aW9uLmhyZWYgPSBgJHt0aGlzLmNvbmZpZy5iYXNlVXJsfS9jYXMtcHJveHkvYXBwL2xvZ291dGA7XG4gIH1cblxuICB0byhocmVmOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoaHJlZikge1xuICAgICAgdGhpcy5pbmplY3Rvci5nZXQoV0lORE9XKS5vcGVuKGhyZWYpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1zZy5lcnJvcign6K+l6I+c5Y2V5rKh5pyJ6YWN572u6ZO+5o6lIScpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -186,6 +186,8 @@ class YunzaiDefaultInterceptor {
186
186
  if (url.includes('.json') && url.includes('assets')) {
187
187
  url = req.url;
188
188
  }
189
+ if (url.includes('i18n'))
190
+ return next.handle(req);
189
191
  // 加入语言头
190
192
  const newReq = req.clone({ url, setHeaders: this.getAdditionalHeaders(req.headers) });
191
193
  return next.handle(newReq).pipe(mergeMap(ev => {
@@ -204,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
204
206
  type: Injectable
205
207
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
206
208
  export { YunzaiDefaultInterceptor as YzDefaultInterceptor, YunzaiDefaultInterceptor };
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLWRlZmF1bHQuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iaXMvbGF5b3V0L3l1bnphaS1kZWZhdWx0LmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCxpQkFBaUIsRUFFakIsWUFBWSxFQUNaLGdCQUFnQixFQUNqQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRWxILE9BQU8sRUFBRSxnQkFBZ0IsRUFBaUIsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQXdCLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRTlDLE1BQU0sV0FBVyxHQUE4QjtJQUM3QyxHQUFHLEVBQUUsZUFBZTtJQUNwQixHQUFHLEVBQUUsWUFBWTtJQUNqQixHQUFHLEVBQUUscUJBQXFCO0lBQzFCLEdBQUcsRUFBRSxTQUFTO0lBQ2QsR0FBRyxFQUFFLDZCQUE2QjtJQUNsQyxHQUFHLEVB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QXhCLHdCQUF3QjtrQkFEN0IsVUFBVTs7QUF5TVgsT0FBTyxFQUFFLHdCQUF3QixJQUFJLG9CQUFvQixFQUFFLHdCQUF3QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBIdHRwRXZlbnQsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwSW50ZXJjZXB0b3IsXG4gIEh0dHBSZXF1ZXN0LFxuICBIdHRwRXJyb3JSZXNwb25zZSxcbiAgSHR0cEhlYWRlcnMsXG4gIEh0dHBSZXNwb25zZSxcbiAgSHR0cFJlc3BvbnNlQmFzZVxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgb2YsIHRocm93RXJyb3IsIGNhdGNoRXJyb3IsIGZpbHRlciwgbWVyZ2VNYXAsIHN3aXRjaE1hcCwgdGFrZSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBZQV9TRVJWSUNFX1RPS0VOLCBJVG9rZW5TZXJ2aWNlLCBBTExPV19BTk9OWU1PVVMgfSBmcm9tICdAeWVsb24vYXV0aCc7XG5pbXBvcnQgeyBZVU5aQUlfSTE4Tl9UT0tFTiwgX0h0dHBDbGllbnQgfSBmcm9tICdAeWVsb24vdGhlbWUnO1xuaW1wb3J0IHsgV0lORE9XIH0gZnJvbSAnQHllbG9uL3V0aWwnO1xuaW1wb3J0IHsgWXVuemFpQnVzaW5lc3NDb25maWcsIFl1bnphaUNvbmZpZ1NlcnZpY2UgfSBmcm9tICdAeWVsb24vdXRpbC9jb25maWcnO1xuaW1wb3J0IHsgbG9nIH0gZnJvbSAnQHllbG9uL3V0aWwvb3RoZXInO1xuaW1wb3J0IHsgTnpOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9ub3RpZmljYXRpb24nO1xuXG5pbXBvcnQgeyBtZXJnZUJpc0NvbmZpZyB9IGZyb20gJy4vYmlzLmNvbmZpZyc7XG5cbmNvbnN0IENPREVNRVNTQUdFOiB7IFtrZXk6IG51bWJlcl06IHN0cmluZyB9ID0ge1xuICAyMDA6ICfmnI3liqHlmajmiJDlip/ov5Tlm57or7fmsYLnmoTmlbDmja7jgIInLFxuICAyMDE6ICfmlrDlu7rmiJbkv67mlLnmlbDmja7miJDlip/jgIInLFxuICAyMDI6ICfkuIDkuKror7fmsYLlt7Lnu4/ov5vlhaXlkI7lj7DmjpLpmJ/vvIjlvILmraXku7vliqHvvInjgIInLFxuICAyMDQ6ICfliKDpmaTmlbDmja7miJDlip/jgIInLFxuICA0MDA6ICflj5Hlh7rnmoTor7fmsYLmnInplJnor6/vvIzmnI3liqHlmajmsqHmnInov5vooYzmlrDlu7rmiJbkv67mlLnmlbDmja7nmoTmk43kvZzjgIInLFxuICA0MDE6ICfnlKjmiLfmsqHmnInmnYPpmZDvvIjku6TniYzjgIHnlKjmiLflkI3jgIHlr4bnoIHplJnor6/vvInjgIInLFxuICA0MDM6ICfnlKjmiLflvpfliLDmjojmnYPvvIzkvYbmmK/orr/pl67mmK/ooqvnpoHmraLnmoTjgIInLFxuICA0MDQ6ICflj5Hlh7rnmoTor7fmsYLpkojlr7nnmoTmmK/kuI3lrZjlnKjnmoTorrDlvZXvvIzmnI3liqHlmajmsqHmnInov5vooYzmk43kvZzjgIInLFxuICA0MDY6ICfor7fmsYLnmoTmoLzlvI/kuI3lj6/lvpfjgIInLFxuICA0MTA6ICfor7fmsYLnmoTotYTmupDooqvmsLjkuYXliKDpmaTvvIzkuJTkuI3kvJrlho3lvpfliLDnmoTjgIInLFxuICA0MjI6ICflvZPliJvlu7rkuIDkuKrlr7nosaHml7bvvIzlj5HnlJ/kuIDkuKrpqozor4HplJnor6/jgIInLFxuICA1MDA6ICfmnI3liqHlmajlj5HnlJ/plJnor6/vvIzor7fmo4Dmn6XmnI3liqHlmajjgIInLFxuICA1MDI6ICfnvZHlhbPplJnor6/jgIInLFxuICA1MDM6ICfmnI3liqHkuI3lj6/nlKjvvIzmnI3liqHlmajmmoLml7bov4fovb3miJbnu7TmiqTjgIInLFxuICA1MDQ6ICfnvZHlhbPotoXml7bjgIInXG59O1xuXG5ASW5qZWN0YWJsZSgpXG5jbGFzcyBZdW56YWlEZWZhdWx0SW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBwcml2YXRlIGp1bXAgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWZyZXNoVG9raW5nID0gZmFsc2U7XG4gIHByaXZhdGUgcmVmcmVzaFRva2VuJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG5cbiAgcHJpdmF0ZSBnZXQgbm90aWZpY2F0aW9uKCk6IE56Tm90aWZpY2F0aW9uU2VydmljZSB7XG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KE56Tm90aWZpY2F0aW9uU2VydmljZSk7XG4gIH1cblxuICBwcml2YXRlIGdldCB0b2tlblNydigpOiBJVG9rZW5TZXJ2aWNlIHtcbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoWUFfU0VSVklDRV9UT0tFTik7XG4gIH1cblxuICBwcml2YXRlIGdldCBodHRwKCk6IF9IdHRwQ2xpZW50IHtcbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoX0h0dHBDbGllbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY29uZmlnKCk6IFl1bnphaUJ1c2luZXNzQ29uZmlnIHtcbiAgICByZXR1cm4gbWVyZ2VCaXNDb25maWcodGhpcy5pbmplY3Rvci5nZXQoWXVuemFpQ29uZmlnU2VydmljZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnb1RvKHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmluamVjdG9yLmdldChSb3V0ZXIpLm5hdmlnYXRlQnlVcmwodXJsKSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIGlmICh0aGlzLmNvbmZpZy5yZWZyZXNoVG9rZW5UeXBlID09PSAnYXV0aC1yZWZyZXNoJykge1xuICAgICAgY29uc29sZS5lcnJvcihcImNhbid0IHVzZSBhdXRoLXJlZnJlc2gsIHBsZWFzZSBjaGFuZ2UgeXouZGVmYXVsdC5pbnRlcmNlcHRvciB0byBkZWZhdWx0LmludGVyY2VwdG9yIVwiKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoZWNrU3RhdHVzKGV2OiBIdHRwUmVzcG9uc2VCYXNlKTogdm9pZCB7XG4gICAgaWYgKChldi5zdGF0dXMgPj0gMjAwICYmIGV2LnN0YXR1cyA8IDMwMCkgfHwgZXYuc3RhdHVzID09PSA0MDEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXYgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSAmJiAoZXYuZXJyb3IubWVzc2FnZSB8fCBldi5lcnJvci5lcnJvck1lc3NhZ2UpKSB7XG4gICAgICBpZiAoZXYuZXJyb3IuZXJyb3JNZXNzYWdlKSB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uLmVycm9yKGDlj5HnlJ/kuobkuIDkupvplJnor68gYCwgZXYuZXJyb3IuZXJyb3JNZXNzYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uLmVycm9yKGDlj5HnlJ/kuobkuIDkupvplJnor68gYCwgZXYuZXJyb3IubWVzc2FnZSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV2IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlICYmIGV2LmJvZHkuZXJyb3JNZXNzYWdlKSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbi5lcnJvcihg5Y+R55Sf5LqG5LiA5Lqb6ZSZ6K+vIGAsIGV2LmJvZHkuZXJyb3JNZXNzYWdlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZXJyb3J0ZXh0ID0gQ09ERU1FU1NBR0VbZXYuc3RhdHVzXSB8fCBldi5zdGF0dXNUZXh0O1xuICAgIHRoaXMubm90aWZpY2F0aW9uLmVycm9yKGDor7fmsYLplJnor68gJHtldi5zdGF0dXN9OiAke2V2LnVybH1gLCBlcnJvcnRleHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBUb0xvZ2luKCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9uLmVycm9yKGDmnKrnmbvlvZXmiJbnmbvlvZXnirbmgIHlt7Lov4fmnJ/vvIw156eS5ZCO5bCG6Lez6L2s5Yiw55m75b2V6aG16Z2i44CCYCwgYGApO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XG4gICAgICB0aGlzLmluamVjdG9yLmdldChXSU5ET1cpLmxvY2F0aW9uLmhyZWYgPSBgJHt0aGlzLmNvbmZpZy5iYXNlVXJsfS9jYXMtcHJveHkvYXBwL2xvZ291dGA7XG4gICAgfSwgNTAwMCk7XG4gIH1cblxuICBwcml2YXRlIHJlQXR0YWNoVG9rZW4ocmVxOiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2VuU3J2LmdldCgpPy50b2tlbjtcbiAgICByZXR1cm4gcmVxLmNsb25lKHtcbiAgICAgIHNldEhlYWRlcnM6IHtcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWBcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVmcmVzaFRva2VuUmVxdWVzdCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IG1vZGVsID0gdGhpcy50b2tlblNydi5nZXQoKTtcbiAgICBjb25zdCBmb3JtID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybS5zZXQoJ3JlZnJlc2hfdG9rZW4nLCBtb2RlbD8ucmVmcmVzaFRva2VuKTtcbiAgICBmb3JtLnNldCgnZ3JhbnRfdHlwZScsICdyZWZyZXNoX3Rva2VuJyk7XG4gICAgZm9ybS5zZXQoJ3Njb3BlJywgJ3dlYmFwcCcpO1xuICAgIGxvZygneXouZGVmYXVsdC5pbnRlcmNlcHRvcjogdXNlIHRoZSByZWZyZXNoIHRva2VuIHRvIHJlcXVlc3QgYSBuZXcgdG9rZW4nLCBtb2RlbD8ucmVmcmVzaFRva2VuKTtcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLnBvc3QoYC9hdXRoL3VzZXIvdG9rZW4vcmVmcmVzaD9fYWxsb3dfYW5vbnltb3VzPXRydWVgLCBmb3JtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYC9hdXRoL29hdXRoL2dldE9yQ3JlYXRlVG9rZW4vd2ViYXBwYCwgZm9ybSk7XG4gIH1cblxuICBwcml2YXRlIHRyeVJlZnJlc2hUb2tlbihldjogSHR0cFJlc3BvbnNlQmFzZSwgcmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgLy8g6L+e5Yi35pawVG9rZW7nmoTor7fmsYLpg73plJnkuobvvIzpgqPlsLHmmK/nnJ/plJnkuoZcbiAgICBpZiAoWycvYXV0aC9vYXV0aC9nZXRPckNyZWF0ZVRva2VuL3dlYmFwcCddLnNvbWUodXJsID0+IHJlcS51cmwuaW5jbHVkZXModXJsKSkpIHtcbiAgICAgIHRoaXMuVG9Mb2dpbigpO1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXYpO1xuICAgIH1cblxuICAgIC8vIOato+WcqOWIt+aWsHRva2Vu77yM5omA5pyJ5YW25LuW6K+35rGC5o6S6ZifXG4gICAgaWYgKHRoaXMucmVmcmVzaFRva2luZykge1xuICAgICAgcmV0dXJuIHRoaXMucmVmcmVzaFRva2VuJC5waXBlKFxuICAgICAgICBmaWx0ZXIodiA9PiAhIXYpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gbmV4dC5oYW5kbGUodGhpcy5yZUF0dGFjaFRva2VuKHJlcSkpKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvL+Wwneivleiwg+eUqOWIt+aWsCBUb2tlblxuICAgIHRoaXMucmVmcmVzaFRva2luZyA9IHRydWU7XG4gICAgdGhpcy5yZWZyZXNoVG9rZW4kLm5leHQobnVsbCk7XG5cbiAgICAvLyDlpITnkIZUb2tlblxuICAgIHJldHVybiB0aGlzLnJlZnJlc2hUb2tlblJlcXVlc3QoKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKHJlcyA9PiB7XG4gICAgICAgIGxvZygneXouZGVmYXVsdC5pbnRlcmNlcHRvcjogcmVmcmVzaCB0b2tlbiBhY2Nlc3NlZCAtPiAnLCByZXMpO1xuICAgICAgICAvLyDph43mlrDkv53lrZjmlrAgdG9rZW5cbiAgICAgICAgY29uc3QgeyBhY2Nlc3NfdG9rZW4sIGV4cGlyZXNfaW4sIHJlZnJlc2hfdG9rZW4sIHNjb3BlLCB0b2tlbl90eXBlIH0gPSByZXM7XG4gICAgICAgIHRoaXMudG9rZW5TcnYuc2V0KHtcbiAgICAgICAgICB0b2tlbjogYWNjZXNzX3Rva2VuLFxuICAgICAgICAgIGV4cGlyZWQ6IGV4cGlyZXNfaW4sXG4gICAgICAgICAgcmVmcmVzaFRva2VuOiByZWZyZXNoX3Rva2VuLFxuICAgICAgICAgIHRva2VuVHlwZTogdG9rZW5fdHlwZSxcbiAgICAgICAgICBzY29wZVxuICAgICAgICB9KTtcbiAgICAgICAgLy8g6YCa55+l5ZCO57ut6K+35rGC57un57ut5omn6KGMXG4gICAgICAgIHRoaXMucmVmcmVzaFRva2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlZnJlc2hUb2tlbiQubmV4dChyZXMpO1xuICAgICAgICAvLyDph43mlrDlj5Hotbfor7fmsYJcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMucmVBdHRhY2hUb2tlbihyZXEpKTtcbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICB0aGlzLnJlZnJlc2hUb2tpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5Ub0xvZ2luKCk7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycik7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldEFkZGl0aW9uYWxIZWFkZXJzKGhlYWRlcnM/OiBIdHRwSGVhZGVycyk6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICBjb25zdCByZXM6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gICAgY29uc3QgbGFuZyA9IHRoaXMuaW5qZWN0b3IuZ2V0KFlVTlpBSV9JMThOX1RPS0VOKS5jdXJyZW50TGFuZztcbiAgICBpZiAoIWhlYWRlcnM/LmhhcygnQWNjZXB0LUxhbmd1YWdlJykgJiYgbGFuZykge1xuICAgICAgcmVzWydBY2NlcHQtTGFuZ3VhZ2UnXSA9IGxhbmc7XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZURhdGEoZXY6IEh0dHBSZXNwb25zZUJhc2UsIHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMuY2hlY2tTdGF0dXMoZXYpO1xuICAgIHN3aXRjaCAoZXYuc3RhdHVzKSB7XG4gICAgICBjYXNlIDIwMDpcbiAgICAgICAgcmV0dXJuIG9mKGV2KTtcbiAgICAgIGNhc2UgNDAxOlxuICAgICAgICBpZiAodGhpcy5jb25maWcucmVmcmVzaFRva2VuRW5hYmxlZCAmJiB0aGlzLmNvbmZpZy5yZWZyZXNoVG9rZW5UeXBlID09PSAncmUtcmVxdWVzdCcpIHtcbiAgICAgICAgICBjb25zdCB1bkF1dGhvcml6YXRpb25SZXEgPSByZXEuY2xvbmUoKTtcbiAgICAgICAgICB1bkF1dGhvcml6YXRpb25SZXEuaGVhZGVycy5kZWxldGUoJ0F1dGhvcml6YXRpb24nKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy50cnlSZWZyZXNoVG9rZW4oZXYsIHVuQXV0aG9yaXphdGlvblJlcSwgbmV4dCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5Ub0xvZ2luKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSA0MDM6XG4gICAgICBjYXNlIDQwNDpcbiAgICAgIGNhc2UgNTAwOlxuICAgICAgICBpZiAodGhpcy5qdW1wKSB7XG4gICAgICAgICAgdGhpcy5nb1RvKGAvZXhjZXB0aW9uLyR7ZXYuc3RhdHVzfWApO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKGV2IGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAn5pyq5Y+v55+l6ZSZ6K+v77yM5aSn6YOo5YiG5piv55Sx5LqO5ZCO56uv5LiN5pSv5oyB6Leo5Z+fQ09SU+aIluaXoOaViOmFjee9ruW8lei1t++8jOivt+WPguiAgyBodHRwczovL25nLnl1bnphaW5mby5jb20vZG9jcy9zZXJ2ZXIg6Kej5Yaz6Leo5Z+f6Zeu6aKYJyxcbiAgICAgICAgICAgIGV2XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgaWYgKGV2IGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGV2KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9mKGV2KTtcbiAgICB9XG4gIH1cblxuICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICBpZiAocmVxLmNvbnRleHQuZ2V0KEFMTE9XX0FOT05ZTU9VUykpIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xuICAgIGxvZygneXouZGVmYXVsdC5pbnRlcmNlcHRvci50czogJywgJ3JlcXVlc3QgJywgcmVxKTtcbiAgICAvLyDnu5/kuIDliqDliY3nvIBcbiAgICBsZXQgdXJsID0gcmVxLnVybDtcbiAgICBpZiAoIXVybC5zdGFydHNXaXRoKCdodHRwczovLycpICYmICF1cmwuc3RhcnRzV2l0aCgnaHR0cDovLycpKSB7XG4gICAgICB1cmwgPSB0aGlzLmNvbmZpZy5iYXNlVXJsICsgdXJsO1xuICAgIH1cbiAgICBpZiAodXJsLmluY2x1ZGVzKCcuanNvbicpICYmIHVybC5pbmNsdWRlcygnYXNzZXRzJykpIHtcbiAgICAgIHVybCA9IHJlcS51cmw7XG4gICAgfVxuICAgIC8vIOWKoOWFpeivreiogOWktFxuICAgIGNvbnN0IG5ld1JlcSA9IHJlcS5jbG9uZSh7IHVybCwgc2V0SGVhZGVyczogdGhpcy5nZXRBZGRpdGlvbmFsSGVhZGVycyhyZXEuaGVhZGVycykgfSk7XG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKG5ld1JlcSkucGlwZShcbiAgICAgIG1lcmdlTWFwKGV2ID0+IHtcbiAgICAgICAgLy8g5YWB6K6457uf5LiA5a+56K+35rGC6ZSZ6K+v5aSE55CGXG4gICAgICAgIGlmIChldiBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZUJhc2UpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVEYXRhKGV2LCBuZXdSZXEsIG5leHQpO1xuICAgICAgICB9XG4gICAgICAgIC8vIOiLpeS4gOWIh+mDveato+W4uO+8jOWImeWQjue7reaTjeS9nFxuICAgICAgICByZXR1cm4gb2YoZXYpO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB0aGlzLmhhbmRsZURhdGEoZXJyLCBuZXdSZXEsIG5leHQpKVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IHsgWXVuemFpRGVmYXVsdEludGVyY2VwdG9yIGFzIFl6RGVmYXVsdEludGVyY2VwdG9yLCBZdW56YWlEZWZhdWx0SW50ZXJjZXB0b3IgfTtcbiJdfQ==
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLWRlZmF1bHQuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iaXMvbGF5b3V0L3l1bnphaS1kZWZhdWx0LmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCxpQkFBaUIsRUFFakIsWUFBWSxFQUNaLGdCQUFnQixFQUNqQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRWxILE9BQU8sRUFBRSxnQkFBZ0IsRUFBaUIsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQXdCLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRTlDLE1BQU0sV0FBVyxHQUE4QjtJQUM3QyxHQUFHLEVBQUUsZUFBZTtJQUNwQixHQUFHLEVBQUUsWUFBWTtJQUNqQixHQUFHLEVBQUUscUJBQXFCO0lBQzFCLEdBQUcsRUFBRSxTQUFTO0lBQ2QsR0FBRyxFQUFFLDZCQUE2QjtJQUNsQyxHQUFHLEVB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QUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FDM0UsQ0FBQztJQUNKLENBQUM7O3FIQXRNRyx3QkFBd0I7eUhBQXhCLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQUQ3QixVQUFVOztBQTBNWCxPQUFPLEVBQUUsd0JBQXdCLElBQUksb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEh0dHBFdmVudCxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cFJlcXVlc3QsXG4gIEh0dHBFcnJvclJlc3BvbnNlLFxuICBIdHRwSGVhZGVycyxcbiAgSHR0cFJlc3BvbnNlLFxuICBIdHRwUmVzcG9uc2VCYXNlXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBvZiwgdGhyb3dFcnJvciwgY2F0Y2hFcnJvciwgZmlsdGVyLCBtZXJnZU1hcCwgc3dpdGNoTWFwLCB0YWtlLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFlBX1NFUlZJQ0VfVE9LRU4sIElUb2tlblNlcnZpY2UsIEFMTE9XX0FOT05ZTU9VUyB9IGZyb20gJ0B5ZWxvbi9hdXRoJztcbmltcG9ydCB7IFlVTlpBSV9JMThOX1RPS0VOLCBfSHR0cENsaWVudCB9IGZyb20gJ0B5ZWxvbi90aGVtZSc7XG5pbXBvcnQgeyBXSU5ET1cgfSBmcm9tICdAeWVsb24vdXRpbCc7XG5pbXBvcnQgeyBZdW56YWlCdXNpbmVzc0NvbmZpZywgWXVuemFpQ29uZmlnU2VydmljZSB9IGZyb20gJ0B5ZWxvbi91dGlsL2NvbmZpZyc7XG5pbXBvcnQgeyBsb2cgfSBmcm9tICdAeWVsb24vdXRpbC9vdGhlcic7XG5pbXBvcnQgeyBOek5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICduZy16b3Jyby1hbnRkL25vdGlmaWNhdGlvbic7XG5cbmltcG9ydCB7IG1lcmdlQmlzQ29uZmlnIH0gZnJvbSAnLi9iaXMuY29uZmlnJztcblxuY29uc3QgQ09ERU1FU1NBR0U6IHsgW2tleTogbnVtYmVyXTogc3RyaW5nIH0gPSB7XG4gIDIwMDogJ+acjeWKoeWZqOaIkOWKn+i/lOWbnuivt+axgueahOaVsOaNruOAgicsXG4gIDIwMTogJ+aWsOW7uuaIluS/ruaUueaVsOaNruaIkOWKn+OAgicsXG4gIDIwMjogJ+S4gOS4quivt+axguW3sue7j+i/m+WFpeWQjuWPsOaOkumYn++8iOW8guatpeS7u+WKoe+8ieOAgicsXG4gIDIwNDogJ+WIoOmZpOaVsOaNruaIkOWKn+OAgicsXG4gIDQwMDogJ+WPkeWHuueahOivt+axguaciemUmeivr++8jOacjeWKoeWZqOayoeaciei/m+ihjOaWsOW7uuaIluS/ruaUueaVsOaNrueahOaTjeS9nOOAgicsXG4gIDQwMTogJ+eUqOaIt+ayoeacieadg+mZkO+8iOS7pOeJjOOAgeeUqOaIt+WQjeOAgeWvhueggemUmeivr++8ieOAgicsXG4gIDQwMzogJ+eUqOaIt+W+l+WIsOaOiOadg++8jOS9huaYr+iuv+mXruaYr+iiq+emgeatoueahOOAgicsXG4gIDQwNDogJ+WPkeWHuueahOivt+axgumSiOWvueeahOaYr+S4jeWtmOWcqOeahOiusOW9le+8jOacjeWKoeWZqOayoeaciei/m+ihjOaTjeS9nOOAgicsXG4gIDQwNjogJ+ivt+axgueahOagvOW8j+S4jeWPr+W+l+OAgicsXG4gIDQxMDogJ+ivt+axgueahOi1hOa6kOiiq+awuOS5heWIoOmZpO+8jOS4lOS4jeS8muWGjeW+l+WIsOeahOOAgicsXG4gIDQyMjogJ+W9k+WIm+W7uuS4gOS4quWvueixoeaXtu+8jOWPkeeUn+S4gOS4qumqjOivgemUmeivr+OAgicsXG4gIDUwMDogJ+acjeWKoeWZqOWPkeeUn+mUmeivr++8jOivt+ajgOafpeacjeWKoeWZqOOAgicsXG4gIDUwMjogJ+e9keWFs+mUmeivr+OAgicsXG4gIDUwMzogJ+acjeWKoeS4jeWPr+eUqO+8jOacjeWKoeWZqOaaguaXtui/h+i9veaIlue7tOaKpOOAgicsXG4gIDUwNDogJ+e9keWFs+i2heaXtuOAgidcbn07XG5cbkBJbmplY3RhYmxlKClcbmNsYXNzIFl1bnphaURlZmF1bHRJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIHByaXZhdGUganVtcCA9IGZhbHNlO1xuICBwcml2YXRlIHJlZnJlc2hUb2tpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWZyZXNoVG9rZW4kOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcblxuICBwcml2YXRlIGdldCBub3RpZmljYXRpb24oKTogTnpOb3RpZmljYXRpb25TZXJ2aWNlIHtcbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoTnpOb3RpZmljYXRpb25TZXJ2aWNlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRva2VuU3J2KCk6IElUb2tlblNlcnZpY2Uge1xuICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChZQV9TRVJWSUNFX1RPS0VOKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGh0dHAoKTogX0h0dHBDbGllbnQge1xuICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChfSHR0cENsaWVudCk7XG4gIH1cblxuICBwcml2YXRlIGdldCBjb25maWcoKTogWXVuemFpQnVzaW5lc3NDb25maWcge1xuICAgIHJldHVybiBtZXJnZUJpc0NvbmZpZyh0aGlzLmluamVjdG9yLmdldChZdW56YWlDb25maWdTZXJ2aWNlKSk7XG4gIH1cblxuICBwcml2YXRlIGdvVG8odXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaW5qZWN0b3IuZ2V0KFJvdXRlcikubmF2aWdhdGVCeVVybCh1cmwpKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLnJlZnJlc2hUb2tlblR5cGUgPT09ICdhdXRoLXJlZnJlc2gnKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwiY2FuJ3QgdXNlIGF1dGgtcmVmcmVzaCwgcGxlYXNlIGNoYW5nZSB5ei5kZWZhdWx0LmludGVyY2VwdG9yIHRvIGRlZmF1bHQuaW50ZXJjZXB0b3IhXCIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tTdGF0dXMoZXY6IEh0dHBSZXNwb25zZUJhc2UpOiB2b2lkIHtcbiAgICBpZiAoKGV2LnN0YXR1cyA+PSAyMDAgJiYgZXYuc3RhdHVzIDwgMzAwKSB8fCBldi5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldiBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlICYmIChldi5lcnJvci5tZXNzYWdlIHx8IGV2LmVycm9yLmVycm9yTWVzc2FnZSkpIHtcbiAgICAgIGlmIChldi5lcnJvci5lcnJvck1lc3NhZ2UpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZXJyb3IoYOWPkeeUn+S6huS4gOS6m+mUmeivryBgLCBldi5lcnJvci5lcnJvck1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZXJyb3IoYOWPkeeUn+S6huS4gOS6m+mUmeivryBgLCBldi5lcnJvci5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXYgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UgJiYgZXYuYm9keS5lcnJvck1lc3NhZ2UpIHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uLmVycm9yKGDlj5HnlJ/kuobkuIDkupvplJnor68gYCwgZXYuYm9keS5lcnJvck1lc3NhZ2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBlcnJvcnRleHQgPSBDT0RFTUVTU0FHRVtldi5zdGF0dXNdIHx8IGV2LnN0YXR1c1RleHQ7XG4gICAgdGhpcy5ub3RpZmljYXRpb24uZXJyb3IoYOivt+axgumUmeivryAke2V2LnN0YXR1c306ICR7ZXYudXJsfWAsIGVycm9ydGV4dCk7XG4gIH1cblxuICBwcml2YXRlIFRvTG9naW4oKTogdm9pZCB7XG4gICAgdGhpcy5ub3RpZmljYXRpb24uZXJyb3IoYOacqueZu+W9leaIlueZu+W9leeKtuaAgeW3sui/h+acn++8jDXnp5LlkI7lsIbot7PovazliLDnmbvlvZXpobXpnaLjgIJgLCBgYCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcbiAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KFdJTkRPVykubG9jYXRpb24uaHJlZiA9IGAke3RoaXMuY29uZmlnLmJhc2VVcmx9L2Nhcy1wcm94eS9hcHAvbG9nb3V0YDtcbiAgICB9LCA1MDAwKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVBdHRhY2hUb2tlbihyZXE6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5TcnYuZ2V0KCk/LnRva2VuO1xuICAgIHJldHVybiByZXEuY2xvbmUoe1xuICAgICAgc2V0SGVhZGVyczoge1xuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YFxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoVG9rZW5SZXF1ZXN0KCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgbW9kZWwgPSB0aGlzLnRva2VuU3J2LmdldCgpO1xuICAgIGNvbnN0IGZvcm0gPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtLnNldCgncmVmcmVzaF90b2tlbicsIG1vZGVsPy5yZWZyZXNoVG9rZW4pO1xuICAgIGZvcm0uc2V0KCdncmFudF90eXBlJywgJ3JlZnJlc2hfdG9rZW4nKTtcbiAgICBmb3JtLnNldCgnc2NvcGUnLCAnd2ViYXBwJyk7XG4gICAgbG9nKCd5ei5kZWZhdWx0LmludGVyY2VwdG9yOiB1c2UgdGhlIHJlZnJlc2ggdG9rZW4gdG8gcmVxdWVzdCBhIG5ldyB0b2tlbicsIG1vZGVsPy5yZWZyZXNoVG9rZW4pO1xuICAgIC8vIHJldHVybiB0aGlzLmh0dHAucG9zdChgL2F1dGgvdXNlci90b2tlbi9yZWZyZXNoP19hbGxvd19hbm9ueW1vdXM9dHJ1ZWAsIGZvcm0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgL2F1dGgvb2F1dGgvZ2V0T3JDcmVhdGVUb2tlbi93ZWJhcHBgLCBmb3JtKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJ5UmVmcmVzaFRva2VuKGV2OiBIdHRwUmVzcG9uc2VCYXNlLCByZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAvLyDov57liLfmlrBUb2tlbueahOivt+axgumDvemUmeS6hu+8jOmCo+WwseaYr+ecn+mUmeS6hlxuICAgIGlmIChbJy9hdXRoL29hdXRoL2dldE9yQ3JlYXRlVG9rZW4vd2ViYXBwJ10uc29tZSh1cmwgPT4gcmVxLnVybC5pbmNsdWRlcyh1cmwpKSkge1xuICAgICAgdGhpcy5Ub0xvZ2luKCk7XG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBldik7XG4gICAgfVxuXG4gICAgLy8g5q2j5Zyo5Yi35pawdG9rZW7vvIzmiYDmnInlhbbku5bor7fmsYLmjpLpmJ9cbiAgICBpZiAodGhpcy5yZWZyZXNoVG9raW5nKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZWZyZXNoVG9rZW4kLnBpcGUoXG4gICAgICAgIGZpbHRlcih2ID0+ICEhdiksXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiBuZXh0LmhhbmRsZSh0aGlzLnJlQXR0YWNoVG9rZW4ocmVxKSkpXG4gICAgICApO1xuICAgIH1cblxuICAgIC8v5bCd6K+V6LCD55So5Yi35pawIFRva2VuXG4gICAgdGhpcy5yZWZyZXNoVG9raW5nID0gdHJ1ZTtcbiAgICB0aGlzLnJlZnJlc2hUb2tlbiQubmV4dChudWxsKTtcblxuICAgIC8vIOWkhOeQhlRva2VuXG4gICAgcmV0dXJuIHRoaXMucmVmcmVzaFRva2VuUmVxdWVzdCgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAocmVzID0+IHtcbiAgICAgICAgbG9nKCd5ei5kZWZhdWx0LmludGVyY2VwdG9yOiByZWZyZXNoIHRva2VuIGFjY2Vzc2VkIC0+ICcsIHJlcyk7XG4gICAgICAgIC8vIOmHjeaWsOS/neWtmOaWsCB0b2tlblxuICAgICAgICBjb25zdCB7IGFjY2Vzc190b2tlbiwgZXhwaXJlc19pbiwgcmVmcmVzaF90b2tlbiwgc2NvcGUsIHRva2VuX3R5cGUgfSA9IHJlcztcbiAgICAgICAgdGhpcy50b2tlblNydi5zZXQoe1xuICAgICAgICAgIHRva2VuOiBhY2Nlc3NfdG9rZW4sXG4gICAgICAgICAgZXhwaXJlZDogZXhwaXJlc19pbixcbiAgICAgICAgICByZWZyZXNoVG9rZW46IHJlZnJlc2hfdG9rZW4sXG4gICAgICAgICAgdG9rZW5UeXBlOiB0b2tlbl90eXBlLFxuICAgICAgICAgIHNjb3BlXG4gICAgICAgIH0pO1xuICAgICAgICAvLyDpgJrnn6XlkI7nu63or7fmsYLnu6fnu63miafooYxcbiAgICAgICAgdGhpcy5yZWZyZXNoVG9raW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVmcmVzaFRva2VuJC5uZXh0KHJlcyk7XG4gICAgICAgIC8vIOmHjeaWsOWPkei1t+ivt+axglxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUodGhpcy5yZUF0dGFjaFRva2VuKHJlcSkpO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgIHRoaXMucmVmcmVzaFRva2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLlRvTG9naW4oKTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWRkaXRpb25hbEhlYWRlcnMoaGVhZGVycz86IEh0dHBIZWFkZXJzKTogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IHJlczogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICBjb25zdCBsYW5nID0gdGhpcy5pbmplY3Rvci5nZXQoWVVOWkFJX0kxOE5fVE9LRU4pLmN1cnJlbnRMYW5nO1xuICAgIGlmICghaGVhZGVycz8uaGFzKCdBY2NlcHQtTGFuZ3VhZ2UnKSAmJiBsYW5nKSB7XG4gICAgICByZXNbJ0FjY2VwdC1MYW5ndWFnZSddID0gbGFuZztcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRGF0YShldjogSHR0cFJlc3BvbnNlQmFzZSwgcmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgdGhpcy5jaGVja1N0YXR1cyhldik7XG4gICAgc3dpdGNoIChldi5zdGF0dXMpIHtcbiAgICAgIGNhc2UgMjAwOlxuICAgICAgICByZXR1cm4gb2YoZXYpO1xuICAgICAgY2FzZSA0MDE6XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5yZWZyZXNoVG9rZW5FbmFibGVkICYmIHRoaXMuY29uZmlnLnJlZnJlc2hUb2tlblR5cGUgPT09ICdyZS1yZXF1ZXN0Jykge1xuICAgICAgICAgIGNvbnN0IHVuQXV0aG9yaXphdGlvblJlcSA9IHJlcS5jbG9uZSgpO1xuICAgICAgICAgIHVuQXV0aG9yaXphdGlvblJlcS5oZWFkZXJzLmRlbGV0ZSgnQXV0aG9yaXphdGlvbicpO1xuICAgICAgICAgIHJldHVybiB0aGlzLnRyeVJlZnJlc2hUb2tlbihldiwgdW5BdXRob3JpemF0aW9uUmVxLCBuZXh0KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLlRvTG9naW4oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDQwMzpcbiAgICAgIGNhc2UgNDA0OlxuICAgICAgY2FzZSA1MDA6XG4gICAgICAgIGlmICh0aGlzLmp1bXApIHtcbiAgICAgICAgICB0aGlzLmdvVG8oYC9leGNlcHRpb24vJHtldi5zdGF0dXN9YCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAoZXYgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICfmnKrlj6/nn6XplJnor6/vvIzlpKfpg6jliIbmmK/nlLHkuo7lkI7nq6/kuI3mlK/mjIHot6jln59DT1JT5oiW5peg5pWI6YWN572u5byV6LW377yM6K+35Y+C6ICDIGh0dHBzOi8vbmcueXVuemFpbmZvLmNvbS9kb2NzL3NlcnZlciDop6PlhrPot6jln5/pl67popgnLFxuICAgICAgICAgICAgZXZcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoZXYgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXYpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2YoZXYpO1xuICAgIH1cbiAgfVxuXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIGlmIChyZXEuY29udGV4dC5nZXQoQUxMT1dfQU5PTllNT1VTKSkgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgbG9nKCd5ei5kZWZhdWx0LmludGVyY2VwdG9yLnRzOiAnLCAncmVxdWVzdCAnLCByZXEpO1xuICAgIC8vIOe7n+S4gOWKoOWJjee8gFxuICAgIGxldCB1cmwgPSByZXEudXJsO1xuICAgIGlmICghdXJsLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vJykgJiYgIXVybC5zdGFydHNXaXRoKCdodHRwOi8vJykpIHtcbiAgICAgIHVybCA9IHRoaXMuY29uZmlnLmJhc2VVcmwgKyB1cmw7XG4gICAgfVxuICAgIGlmICh1cmwuaW5jbHVkZXMoJy5qc29uJykgJiYgdXJsLmluY2x1ZGVzKCdhc3NldHMnKSkge1xuICAgICAgdXJsID0gcmVxLnVybDtcbiAgICB9XG4gICAgaWYgKHVybC5pbmNsdWRlcygnaTE4bicpKSByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcbiAgICAvLyDliqDlhaXor63oqIDlpLRcbiAgICBjb25zdCBuZXdSZXEgPSByZXEuY2xvbmUoeyB1cmwsIHNldEhlYWRlcnM6IHRoaXMuZ2V0QWRkaXRpb25hbEhlYWRlcnMocmVxLmhlYWRlcnMpIH0pO1xuICAgIHJldHVybiBuZXh0LmhhbmRsZShuZXdSZXEpLnBpcGUoXG4gICAgICBtZXJnZU1hcChldiA9PiB7XG4gICAgICAgIC8vIOWFgeiuuOe7n+S4gOWvueivt+axgumUmeivr+WkhOeQhlxuICAgICAgICBpZiAoZXYgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2VCYXNlKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRGF0YShldiwgbmV3UmVxLCBuZXh0KTtcbiAgICAgICAgfVxuICAgICAgICAvLyDoi6XkuIDliIfpg73mraPluLjvvIzliJnlkI7nu63mk43kvZxcbiAgICAgICAgcmV0dXJuIG9mKGV2KTtcbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdGhpcy5oYW5kbGVEYXRhKGVyciwgbmV3UmVxLCBuZXh0KSlcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB7IFl1bnphaURlZmF1bHRJbnRlcmNlcHRvciBhcyBZekRlZmF1bHRJbnRlcmNlcHRvciwgWXVuemFpRGVmYXVsdEludGVyY2VwdG9yIH07XG4iXX0=
@@ -1,58 +1,37 @@
1
1
  import { registerLocaleData } from '@angular/common';
2
2
  import ngEn from '@angular/common/locales/en';
3
- import ngZh from '@angular/common/locales/zh';
4
- import ngZhTw from '@angular/common/locales/zh-Hant';
5
3
  import { Injectable } from '@angular/core';
6
- import { enUS as dfEn, zhCN as dfZhCn, zhTW as dfZhTw } from 'date-fns/locale';
7
- import { en_US as yelonEnUS, zh_CN as yelonZhCn, zh_TW as yelonZhTw, YunzaiI18nBaseService } from '@yelon/theme';
8
- import { en_US as zorroEnUS, zh_CN as zorroZhCN, zh_TW as zorroZhTW } from 'ng-zorro-antd/i18n';
4
+ import { Subject, catchError, of, takeUntil } from 'rxjs';
5
+ import { enUS as dfEn } from 'date-fns/locale';
6
+ import { YunzaiI18nBaseService, en_US as yelonEnUS } from '@yelon/theme';
7
+ import { en_US as zorroEnUS } from 'ng-zorro-antd/i18n';
8
+ import { mergeBisConfig } from './bis.config';
9
+ import { YUNZAI_LANGS } from './yunzai-lang';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "@yelon/theme";
11
12
  import * as i2 from "ng-zorro-antd/i18n";
12
13
  import * as i3 from "@angular/cdk/platform";
13
14
  import * as i4 from "@yelon/util/config";
15
+ import * as i5 from "@yelon/cache";
14
16
  const DEFAULT = 'zh-CN';
15
- const LANGS = {
16
- 'zh-CN': {
17
- text: '简体中文',
18
- ng: ngZh,
19
- zorro: zorroZhCN,
20
- date: dfZhCn,
21
- yelon: yelonZhCn,
22
- abbr: '🇨🇳'
23
- },
24
- 'zh-TW': {
25
- text: '繁体中文',
26
- ng: ngZhTw,
27
- zorro: zorroZhTW,
28
- date: dfZhTw,
29
- yelon: yelonZhTw,
30
- abbr: '🇭🇰'
31
- },
32
- 'en-US': {
33
- text: 'English',
34
- ng: ngEn,
35
- zorro: zorroEnUS,
36
- date: dfEn,
37
- yelon: yelonEnUS,
38
- abbr: '🇬🇧'
39
- }
40
- };
41
17
  class YunzaiI18NService extends YunzaiI18nBaseService {
42
- constructor(http, settings, nzI18nService, yelonLocaleService, platform, cogSrv) {
18
+ constructor(http, settings, nzI18nService, yelonLocaleService, platform, cogSrv, cacheService) {
43
19
  super(cogSrv);
44
20
  this.http = http;
45
21
  this.settings = settings;
46
22
  this.nzI18nService = nzI18nService;
47
23
  this.yelonLocaleService = yelonLocaleService;
48
24
  this.platform = platform;
25
+ this.cacheService = cacheService;
49
26
  this._defaultLang = DEFAULT;
50
- this._langs = Object.keys(LANGS).map(code => {
51
- const item = LANGS[code];
52
- return { code, text: item.text, abbr: item.abbr };
53
- });
27
+ this.destroy$ = new Subject();
54
28
  const defaultLang = this.getDefaultLang();
55
- this._defaultLang = this._langs.findIndex(w => w.code === defaultLang) === -1 ? DEFAULT : defaultLang;
29
+ this.getLangs()
30
+ .pipe(takeUntil(this.destroy$))
31
+ .subscribe(langs => {
32
+ this._defaultLang = langs.findIndex(w => w.code === defaultLang) === -1 ? DEFAULT : defaultLang;
33
+ });
34
+ this.bis = mergeBisConfig(cogSrv);
56
35
  }
57
36
  getDefaultLang() {
58
37
  if (!this.platform.isBrowser) {
@@ -66,29 +45,67 @@ class YunzaiI18NService extends YunzaiI18nBaseService {
66
45
  return arr.length <= 1 ? res : `${arr[0]}-${arr[1].toUpperCase()}`;
67
46
  }
68
47
  loadLangData(lang) {
69
- return this.http.get(`assets/tmp/i18n/${lang}.json`);
48
+ const key = `_yz_lang_${lang}`;
49
+ if (this.cacheService.getNone(key)) {
50
+ return of(this.cacheService.get(key));
51
+ }
52
+ else {
53
+ if (ngDevMode) {
54
+ return this.http.get(`assets/tmp/i18n/${lang}.json`);
55
+ }
56
+ else {
57
+ return this.http
58
+ .get(`${this.bis.baseUrl}/i18n/api/v2/${lang}?_allow_anonymous`)
59
+ .pipe(catchError(() => this.http.get(`assets/tmp/i18n/${lang}.json`)));
60
+ }
61
+ }
70
62
  }
71
63
  use(lang, data) {
72
64
  if (this._currentLang === lang)
73
65
  return;
66
+ const key = `_yz_lang_${lang}`;
67
+ this.cacheService.set(key, data);
68
+ this.cacheService.set(this.cacheDefaultKey, lang);
74
69
  this._data = this.flatData(data, []);
75
- const item = LANGS[lang];
76
- registerLocaleData(item.ng);
77
- this.nzI18nService.setLocale(item.zorro);
78
- this.nzI18nService.setDateLocale(item.date);
79
- this.yelonLocaleService.setLocale(item.yelon);
80
- this._currentLang = lang;
81
- this._change$.next(lang);
70
+ const item = YUNZAI_LANGS[lang];
71
+ if (item) {
72
+ registerLocaleData(item.ng);
73
+ this.nzI18nService.setLocale(item.zorro);
74
+ this.nzI18nService.setDateLocale(item.date);
75
+ this.yelonLocaleService.setLocale(item.yelon);
76
+ this._currentLang = lang;
77
+ this._change$.next(lang);
78
+ }
79
+ else {
80
+ registerLocaleData(ngEn);
81
+ this.nzI18nService.setLocale(zorroEnUS);
82
+ this.nzI18nService.setDateLocale(dfEn);
83
+ this.yelonLocaleService.setLocale(yelonEnUS);
84
+ this._currentLang = lang;
85
+ this._change$.next(lang);
86
+ }
82
87
  }
83
88
  getLangs() {
84
- return this._langs;
89
+ const langs = Object.keys(YUNZAI_LANGS).map(code => {
90
+ const item = YUNZAI_LANGS[code];
91
+ return { code, text: item.text, abbr: item.abbr, icon: undefined };
92
+ });
93
+ if (ngDevMode) {
94
+ return of(langs);
95
+ }
96
+ else {
97
+ return this.http.get(`${this.bis.baseUrl}/i18n/api/v2/list?_allow_anonymous`).pipe(catchError(() => of(langs)));
98
+ }
99
+ }
100
+ ngOnDestroy() {
101
+ this.destroy$.complete();
85
102
  }
86
103
  }
87
- YunzaiI18NService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiI18NService, deps: [{ token: i1._HttpClient }, { token: i1.SettingsService }, { token: i2.NzI18nService }, { token: i1.YelonLocaleService }, { token: i3.Platform }, { token: i4.YunzaiConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
104
+ YunzaiI18NService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiI18NService, deps: [{ token: i1._HttpClient }, { token: i1.SettingsService }, { token: i2.NzI18nService }, { token: i1.YelonLocaleService }, { token: i3.Platform }, { token: i4.YunzaiConfigService }, { token: i5.CacheService }], target: i0.ɵɵFactoryTarget.Injectable });
88
105
  YunzaiI18NService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiI18NService, providedIn: 'root' });
89
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: YunzaiI18NService, decorators: [{
90
107
  type: Injectable,
91
108
  args: [{ providedIn: 'root' }]
92
- }], ctorParameters: function () { return [{ type: i1._HttpClient }, { type: i1.SettingsService }, { type: i2.NzI18nService }, { type: i1.YelonLocaleService }, { type: i3.Platform }, { type: i4.YunzaiConfigService }]; } });
109
+ }], ctorParameters: function () { return [{ type: i1._HttpClient }, { type: i1.SettingsService }, { type: i2.NzI18nService }, { type: i1.YelonLocaleService }, { type: i3.Platform }, { type: i4.YunzaiConfigService }, { type: i5.CacheService }]; } });
93
110
  export { YunzaiI18NService as YzI18NService, YunzaiI18NService };
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLWkxOG4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9sYXlvdXQveXVuemFpLWkxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLElBQUksTUFBTSw0QkFBNEIsQ0FBQztBQUM5QyxPQUFPLElBQUksTUFBTSw0QkFBNEIsQ0FBQztBQUM5QyxPQUFPLE1BQU0sTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsSUFBSSxJQUFJLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9FLE9BQU8sRUFFTCxLQUFLLElBQUksU0FBUyxFQUVsQixLQUFLLElBQUksU0FBUyxFQUNsQixLQUFLLElBQUksU0FBUyxFQUVsQixxQkFBcUIsRUFDdEIsTUFBTSxjQUFjLENBQUM7QUFHdEIsT0FBTyxFQUFFLEtBQUssSUFBSSxTQUFTLEVBQWlCLEtBQUssSUFBSSxTQUFTLEVBQUUsS0FBSyxJQUFJLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7QUFXL0csTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBQ3hCLE1BQU0sS0FBSyxHQUFzQztJQUMvQyxPQUFPLEVBQUU7UUFDUCxJQUFJLEVBQUUsTUFBTTtRQUNaLEVBQUUsRUFBRSxJQUFJO1FBQ1IsS0FBSyxFQUFFLFNBQVM7UUFDaEIsSUFBSSxFQUFFLE1BQU07UUFDWixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsTUFBTTtLQUNiO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsSUFBSSxFQUFFLE1BQU07UUFDWixFQUFFLEVBQUUsTUFBTTtRQUNWLEtBQUss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QyxJQUFJLENBQUMsQ0FBQztRQUN6QixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUV6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDOzs4R0F0REcsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FERyxNQUFNOzJGQUMxQixpQkFBaUI7a0JBRHRCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQTBEbEMsT0FBTyxFQUFFLGlCQUFpQixJQUFJLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgcmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCBuZ0VuIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2VuJztcbmltcG9ydCBuZ1poIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL3poJztcbmltcG9ydCBuZ1poVHcgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvemgtSGFudCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGVuVVMgYXMgZGZFbiwgemhDTiBhcyBkZlpoQ24sIHpoVFcgYXMgZGZaaFR3IH0gZnJvbSAnZGF0ZS1mbnMvbG9jYWxlJztcblxuaW1wb3J0IHtcbiAgWWVsb25Mb2NhbGVTZXJ2aWNlLFxuICBlbl9VUyBhcyB5ZWxvbkVuVVMsXG4gIFNldHRpbmdzU2VydmljZSxcbiAgemhfQ04gYXMgeWVsb25aaENuLFxuICB6aF9UVyBhcyB5ZWxvblpoVHcsXG4gIF9IdHRwQ2xpZW50LFxuICBZdW56YWlJMThuQmFzZVNlcnZpY2Vcbn0gZnJvbSAnQHllbG9uL3RoZW1lJztcbmltcG9ydCB7IFl1bnphaUNvbmZpZ1NlcnZpY2UgfSBmcm9tICdAeWVsb24vdXRpbC9jb25maWcnO1xuaW1wb3J0IHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcbmltcG9ydCB7IGVuX1VTIGFzIHpvcnJvRW5VUywgTnpJMThuU2VydmljZSwgemhfQ04gYXMgem9ycm9aaENOLCB6aF9UVyBhcyB6b3Jyb1poVFcgfSBmcm9tICduZy16b3Jyby1hbnRkL2kxOG4nO1xuXG5pbnRlcmZhY2UgTGFuZ0NvbmZpZ0RhdGEge1xuICBhYmJyOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgbmc6IE56U2FmZUFueTtcbiAgem9ycm86IE56U2FmZUFueTtcbiAgZGF0ZTogTnpTYWZlQW55O1xuICB5ZWxvbjogTnpTYWZlQW55O1xufVxuXG5jb25zdCBERUZBVUxUID0gJ3poLUNOJztcbmNvbnN0IExBTkdTOiB7IFtrZXk6IHN0cmluZ106IExhbmdDb25maWdEYXRhIH0gPSB7XG4gICd6aC1DTic6IHtcbiAgICB0ZXh0OiAn566A5L2T5Lit5paHJyxcbiAgICBuZzogbmdaaCxcbiAgICB6b3Jybzogem9ycm9aaENOLFxuICAgIGRhdGU6IGRmWmhDbixcbiAgICB5ZWxvbjogeWVsb25aaENuLFxuICAgIGFiYnI6ICfwn4eo8J+HsydcbiAgfSxcbiAgJ3poLVRXJzoge1xuICAgIHRleHQ6ICfnuYHkvZPkuK3mlocnLFxuICAgIG5nOiBuZ1poVHcsXG4gICAgem9ycm86IHpvcnJvWmhUVyxcbiAgICBkYXRlOiBkZlpoVHcsXG4gICAgeWVsb246IHllbG9uWmhUdyxcbiAgICBhYmJyOiAn8J+HrfCfh7AnXG4gIH0sXG4gICdlbi1VUyc6IHtcbiAgICB0ZXh0OiAnRW5nbGlzaCcsXG4gICAgbmc6IG5nRW4sXG4gICAgem9ycm86IHpvcnJvRW5VUyxcbiAgICBkYXRlOiBkZkVuLFxuICAgIHllbG9uOiB5ZWxvbkVuVVMsXG4gICAgYWJicjogJ/Cfh6zwn4enJ1xuICB9XG59O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuY2xhc3MgWXVuemFpSTE4TlNlcnZpY2UgZXh0ZW5kcyBZdW56YWlJMThuQmFzZVNlcnZpY2Uge1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX2RlZmF1bHRMYW5nID0gREVGQVVMVDtcbiAgcHJpdmF0ZSBfbGFuZ3MgPSBPYmplY3Qua2V5cyhMQU5HUykubWFwKGNvZGUgPT4ge1xuICAgIGNvbnN0IGl0ZW0gPSBMQU5HU1tjb2RlXTtcbiAgICByZXR1cm4geyBjb2RlLCB0ZXh0OiBpdGVtLnRleHQsIGFiYnI6IGl0ZW0uYWJiciB9O1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IF9IdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIG56STE4blNlcnZpY2U6IE56STE4blNlcnZpY2UsXG4gICAgcHJpdmF0ZSB5ZWxvbkxvY2FsZVNlcnZpY2U6IFllbG9uTG9jYWxlU2VydmljZSxcbiAgICBwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICBjb2dTcnY6IFl1bnphaUNvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoY29nU3J2KTtcblxuICAgIGNvbnN0IGRlZmF1bHRMYW5nID0gdGhpcy5nZXREZWZhdWx0TGFuZygpO1xuICAgIHRoaXMuX2RlZmF1bHRMYW5nID0gdGhpcy5fbGFuZ3MuZmluZEluZGV4KHcgPT4gdy5jb2RlID09PSBkZWZhdWx0TGFuZykgPT09IC0xID8gREVGQVVMVCA6IGRlZmF1bHRMYW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWZhdWx0TGFuZygpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5wbGF0Zm9ybS5pc0Jyb3dzZXIpIHtcbiAgICAgIHJldHVybiBERUZBVUxUO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZXR0aW5ncy5sYXlvdXQubGFuZykge1xuICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MubGF5b3V0Lmxhbmc7XG4gICAgfVxuICAgIGxldCByZXMgPSAobmF2aWdhdG9yLmxhbmd1YWdlcyA/IG5hdmlnYXRvci5sYW5ndWFnZXNbMF0gOiBudWxsKSB8fCBuYXZpZ2F0b3IubGFuZ3VhZ2U7XG4gICAgY29uc3QgYXJyID0gcmVzLnNwbGl0KCctJyk7XG4gICAgcmV0dXJuIGFyci5sZW5ndGggPD0gMSA/IHJlcyA6IGAke2FyclswXX0tJHthcnJbMV0udG9VcHBlckNhc2UoKX1gO1xuICB9XG5cbiAgbG9hZExhbmdEYXRhKGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8TnpTYWZlQW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYGFzc2V0cy90bXAvaTE4bi8ke2xhbmd9Lmpzb25gKTtcbiAgfVxuXG4gIHVzZShsYW5nOiBzdHJpbmcsIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2N1cnJlbnRMYW5nID09PSBsYW5nKSByZXR1cm47XG5cbiAgICB0aGlzLl9kYXRhID0gdGhpcy5mbGF0RGF0YShkYXRhLCBbXSk7XG5cbiAgICBjb25zdCBpdGVtID0gTEFOR1NbbGFuZ107XG4gICAgcmVnaXN0ZXJMb2NhbGVEYXRhKGl0ZW0ubmcpO1xuICAgIHRoaXMubnpJMThuU2VydmljZS5zZXRMb2NhbGUoaXRlbS56b3Jybyk7XG4gICAgdGhpcy5uekkxOG5TZXJ2aWNlLnNldERhdGVMb2NhbGUoaXRlbS5kYXRlKTtcbiAgICB0aGlzLnllbG9uTG9jYWxlU2VydmljZS5zZXRMb2NhbGUoaXRlbS55ZWxvbik7XG4gICAgdGhpcy5fY3VycmVudExhbmcgPSBsYW5nO1xuXG4gICAgdGhpcy5fY2hhbmdlJC5uZXh0KGxhbmcpO1xuICB9XG5cbiAgZ2V0TGFuZ3MoKTogQXJyYXk8eyBjb2RlOiBzdHJpbmc7IHRleHQ6IHN0cmluZzsgYWJicjogc3RyaW5nIH0+IHtcbiAgICByZXR1cm4gdGhpcy5fbGFuZ3M7XG4gIH1cbn1cblxuZXhwb3J0IHsgWXVuemFpSTE4TlNlcnZpY2UgYXMgWXpJMThOU2VydmljZSwgWXVuemFpSTE4TlNlcnZpY2UgfTtcbiJdfQ==
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLWkxOG4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9sYXlvdXQveXVuemFpLWkxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLElBQUksTUFBTSw0QkFBNEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBYyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEUsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBSUwscUJBQXFCLEVBRXJCLEtBQUssSUFBSSxTQUFTLEVBQ25CLE1BQU0sY0FBYyxDQUFDO0FBR3RCLE9BQU8sRUFBaUIsS0FBSyxJQUFJLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQUk3QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUM7QUFFeEIsTUFDTSxpQkFBa0IsU0FBUSxxQkFBcUI7SUFLbkQsWUFDVSxJQUFpQixFQUNqQixRQUF5QixFQUN6QixhQUE0QixFQUM1QixrQkFBc0MsRUFDdEMsUUFBa0IsRUFDMUIsTUFBMkIsRUFDbkIsWUFBMEI7UUFFbEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBUk4sU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FB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QUMsQ0FBQztZQUNoQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNyRSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksU0FBUyxFQUFFO1lBQ2IsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbEI7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sb0NBQW9DLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakg7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7OEdBN0ZHLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBREcsTUFBTTsyRkFDMUIsaUJBQWlCO2tCQUR0QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUFpR2xDLE9BQU8sRUFBRSxpQkFBaUIsSUFBSSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IHJlZ2lzdGVyTG9jYWxlRGF0YSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgbmdFbiBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9lbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIGNhdGNoRXJyb3IsIG9mLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgZW5VUyBhcyBkZkVuIH0gZnJvbSAnZGF0ZS1mbnMvbG9jYWxlJztcblxuaW1wb3J0IHsgQ2FjaGVTZXJ2aWNlIH0gZnJvbSAnQHllbG9uL2NhY2hlJztcbmltcG9ydCB7XG4gIFllbG9uTG9jYWxlU2VydmljZSxcbiAgU2V0dGluZ3NTZXJ2aWNlLFxuICBfSHR0cENsaWVudCxcbiAgWXVuemFpSTE4bkJhc2VTZXJ2aWNlLFxuICBZdW56YWlJMThOVHlwZSxcbiAgZW5fVVMgYXMgeWVsb25FblVTXG59IGZyb20gJ0B5ZWxvbi90aGVtZSc7XG5pbXBvcnQgeyBZdW56YWlCdXNpbmVzc0NvbmZpZywgWXVuemFpQ29uZmlnU2VydmljZSB9IGZyb20gJ0B5ZWxvbi91dGlsL2NvbmZpZyc7XG5pbXBvcnQgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgTnpJMThuU2VydmljZSwgZW5fVVMgYXMgem9ycm9FblVTIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pMThuJztcblxuaW1wb3J0IHsgbWVyZ2VCaXNDb25maWcgfSBmcm9tICcuL2Jpcy5jb25maWcnO1xuaW1wb3J0IHsgWVVOWkFJX0xBTkdTIH0gZnJvbSAnLi95dW56YWktbGFuZyc7XG5cbmRlY2xhcmUgY29uc3QgbmdEZXZNb2RlOiBib29sZWFuO1xuXG5jb25zdCBERUZBVUxUID0gJ3poLUNOJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmNsYXNzIFl1bnphaUkxOE5TZXJ2aWNlIGV4dGVuZHMgWXVuemFpSTE4bkJhc2VTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIF9kZWZhdWx0TGFuZyA9IERFRkFVTFQ7XG4gIHByaXZhdGUgYmlzOiBZdW56YWlCdXNpbmVzc0NvbmZpZztcbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IF9IdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIG56STE4blNlcnZpY2U6IE56STE4blNlcnZpY2UsXG4gICAgcHJpdmF0ZSB5ZWxvbkxvY2FsZVNlcnZpY2U6IFllbG9uTG9jYWxlU2VydmljZSxcbiAgICBwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICBjb2dTcnY6IFl1bnphaUNvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IENhY2hlU2VydmljZVxuICApIHtcbiAgICBzdXBlcihjb2dTcnYpO1xuICAgIGNvbnN0IGRlZmF1bHRMYW5nID0gdGhpcy5nZXREZWZhdWx0TGFuZygpO1xuICAgIHRoaXMuZ2V0TGFuZ3MoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShsYW5ncyA9PiB7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRMYW5nID0gbGFuZ3MuZmluZEluZGV4KHcgPT4gdy5jb2RlID09PSBkZWZhdWx0TGFuZykgPT09IC0xID8gREVGQVVMVCA6IGRlZmF1bHRMYW5nO1xuICAgICAgfSk7XG4gICAgdGhpcy5iaXMgPSBtZXJnZUJpc0NvbmZpZyhjb2dTcnYpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZWZhdWx0TGFuZygpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5wbGF0Zm9ybS5pc0Jyb3dzZXIpIHtcbiAgICAgIHJldHVybiBERUZBVUxUO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZXR0aW5ncy5sYXlvdXQubGFuZykge1xuICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZ3MubGF5b3V0Lmxhbmc7XG4gICAgfVxuICAgIGxldCByZXMgPSAobmF2aWdhdG9yLmxhbmd1YWdlcyA/IG5hdmlnYXRvci5sYW5ndWFnZXNbMF0gOiBudWxsKSB8fCBuYXZpZ2F0b3IubGFuZ3VhZ2U7XG4gICAgY29uc3QgYXJyID0gcmVzLnNwbGl0KCctJyk7XG4gICAgcmV0dXJuIGFyci5sZW5ndGggPD0gMSA/IHJlcyA6IGAke2FyclswXX0tJHthcnJbMV0udG9VcHBlckNhc2UoKX1gO1xuICB9XG5cbiAgbG9hZExhbmdEYXRhKGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8TnpTYWZlQW55PiB7XG4gICAgY29uc3Qga2V5ID0gYF95el9sYW5nXyR7bGFuZ31gO1xuICAgIGlmICh0aGlzLmNhY2hlU2VydmljZS5nZXROb25lKGtleSkpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmNhY2hlU2VydmljZS5nZXQoa2V5KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChuZ0Rldk1vZGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYGFzc2V0cy90bXAvaTE4bi8ke2xhbmd9Lmpzb25gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAuZ2V0KGAke3RoaXMuYmlzLmJhc2VVcmx9L2kxOG4vYXBpL3YyLyR7bGFuZ30/X2FsbG93X2Fub255bW91c2ApXG4gICAgICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiB0aGlzLmh0dHAuZ2V0KGBhc3NldHMvdG1wL2kxOG4vJHtsYW5nfS5qc29uYCkpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1c2UobGFuZzogc3RyaW5nLCBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jdXJyZW50TGFuZyA9PT0gbGFuZykgcmV0dXJuO1xuXG4gICAgY29uc3Qga2V5ID0gYF95el9sYW5nXyR7bGFuZ31gO1xuXG4gICAgdGhpcy5jYWNoZVNlcnZpY2Uuc2V0KGtleSwgZGF0YSk7XG4gICAgdGhpcy5jYWNoZVNlcnZpY2Uuc2V0KHRoaXMuY2FjaGVEZWZhdWx0S2V5LCBsYW5nKTtcblxuICAgIHRoaXMuX2RhdGEgPSB0aGlzLmZsYXREYXRhKGRhdGEsIFtdKTtcblxuICAgIGNvbnN0IGl0ZW0gPSBZVU5aQUlfTEFOR1NbbGFuZ107XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIHJlZ2lzdGVyTG9jYWxlRGF0YShpdGVtLm5nKTtcbiAgICAgIHRoaXMubnpJMThuU2VydmljZS5zZXRMb2NhbGUoaXRlbS56b3Jybyk7XG4gICAgICB0aGlzLm56STE4blNlcnZpY2Uuc2V0RGF0ZUxvY2FsZShpdGVtLmRhdGUpO1xuICAgICAgdGhpcy55ZWxvbkxvY2FsZVNlcnZpY2Uuc2V0TG9jYWxlKGl0ZW0ueWVsb24pO1xuICAgICAgdGhpcy5fY3VycmVudExhbmcgPSBsYW5nO1xuICAgICAgdGhpcy5fY2hhbmdlJC5uZXh0KGxhbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZWdpc3RlckxvY2FsZURhdGEobmdFbik7XG4gICAgICB0aGlzLm56STE4blNlcnZpY2Uuc2V0TG9jYWxlKHpvcnJvRW5VUyk7XG4gICAgICB0aGlzLm56STE4blNlcnZpY2Uuc2V0RGF0ZUxvY2FsZShkZkVuKTtcbiAgICAgIHRoaXMueWVsb25Mb2NhbGVTZXJ2aWNlLnNldExvY2FsZSh5ZWxvbkVuVVMpO1xuICAgICAgdGhpcy5fY3VycmVudExhbmcgPSBsYW5nO1xuICAgICAgdGhpcy5fY2hhbmdlJC5uZXh0KGxhbmcpO1xuICAgIH1cbiAgfVxuXG4gIGdldExhbmdzKCk6IE9ic2VydmFibGU8WXVuemFpSTE4TlR5cGVbXT4ge1xuICAgIGNvbnN0IGxhbmdzID0gT2JqZWN0LmtleXMoWVVOWkFJX0xBTkdTKS5tYXAoY29kZSA9PiB7XG4gICAgICBjb25zdCBpdGVtID0gWVVOWkFJX0xBTkdTW2NvZGVdO1xuICAgICAgcmV0dXJuIHsgY29kZSwgdGV4dDogaXRlbS50ZXh0LCBhYmJyOiBpdGVtLmFiYnIsIGljb246IHVuZGVmaW5lZCB9O1xuICAgIH0pO1xuICAgIGlmIChuZ0Rldk1vZGUpIHtcbiAgICAgIHJldHVybiBvZihsYW5ncyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYmlzLmJhc2VVcmx9L2kxOG4vYXBpL3YyL2xpc3Q/X2FsbG93X2Fub255bW91c2ApLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZihsYW5ncykpKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cblxuZXhwb3J0IHsgWXVuemFpSTE4TlNlcnZpY2UgYXMgWXpJMThOU2VydmljZSwgWXVuemFpSTE4TlNlcnZpY2UgfTtcbiJdfQ==
@@ -0,0 +1,114 @@
1
+ import ngElGr from '@angular/common/locales/el';
2
+ import ngEn from '@angular/common/locales/en';
3
+ import ngEsEs from '@angular/common/locales/es';
4
+ import ngFr from '@angular/common/locales/fr';
5
+ import ngHr from '@angular/common/locales/hr';
6
+ import ngIt from '@angular/common/locales/it';
7
+ import ngKo from '@angular/common/locales/ko';
8
+ import ngPl from '@angular/common/locales/pl';
9
+ import ngSl from '@angular/common/locales/sl';
10
+ import ngTr from '@angular/common/locales/tr';
11
+ import ngZh from '@angular/common/locales/zh';
12
+ import ngZhTw from '@angular/common/locales/zh-Hant';
13
+ import { enUS as dfEn, zhCN as dfZhCn, zhTW as dfZhTw, el as dfEl, es as dfEs, fr as dfFr, hr as dfHr, it as dfIt, ko as dfKo, pl as dfPl, sl as dfSl, tr as dfTr } from 'date-fns/locale';
14
+ import { el_GR as yelonElGR, en_US as yelonEnUS, es_ES as yelonEsES, fr_FR as yelonFrFR, hr_HR as yelonHrHR, it_IT as yelonItIT, ko_KR as yelonKoKR, pl_PL as yelonPlPL, sl_SI as yelonSlSI, tr_TR as yelonTrTR, zh_CN as yelonZhCn, zh_TW as yelonZhTw } from '@yelon/theme';
15
+ import { el_GR as zorroElGR, en_US as zorroEnUS, es_ES as zorroEsES, fr_FR as zorroFrFR, hr_HR as zorroHrHR, it_IT as zorroItIT, ko_KR as zorroKoKR, pl_PL as zorroPlPL, sl_SI as zorroSlSI, tr_TR as zorroTrTR, zh_CN as zorroZhCN, zh_TW as zorroZhTW } from 'ng-zorro-antd/i18n';
16
+ export const YUNZAI_LANGS = {
17
+ 'zh-CN': {
18
+ text: '简体中文',
19
+ ng: ngZh,
20
+ zorro: zorroZhCN,
21
+ date: dfZhCn,
22
+ yelon: yelonZhCn,
23
+ abbr: '🇨🇳'
24
+ },
25
+ 'zh-TW': {
26
+ text: '繁体中文',
27
+ ng: ngZhTw,
28
+ zorro: zorroZhTW,
29
+ date: dfZhTw,
30
+ yelon: yelonZhTw,
31
+ abbr: '🇭🇰'
32
+ },
33
+ 'en-US': {
34
+ text: 'English',
35
+ ng: ngEn,
36
+ zorro: zorroEnUS,
37
+ date: dfEn,
38
+ yelon: yelonEnUS,
39
+ abbr: '🇬🇧'
40
+ },
41
+ 'el-GR': {
42
+ text: 'Ελληνικά',
43
+ ng: ngElGr,
44
+ zorro: zorroElGR,
45
+ date: dfEl,
46
+ yelon: yelonElGR,
47
+ abbr: '🇬🇷'
48
+ },
49
+ 'es-ES': {
50
+ text: 'Español',
51
+ ng: ngEsEs,
52
+ zorro: zorroEsES,
53
+ date: dfEs,
54
+ yelon: yelonEsES,
55
+ abbr: '🇪🇸'
56
+ },
57
+ 'fr-FR': {
58
+ text: 'Français',
59
+ ng: ngFr,
60
+ zorro: zorroFrFR,
61
+ date: dfFr,
62
+ yelon: yelonFrFR,
63
+ abbr: '🇫🇷'
64
+ },
65
+ 'hr-HR': {
66
+ text: 'Hrvatski',
67
+ ng: ngHr,
68
+ zorro: zorroHrHR,
69
+ date: dfHr,
70
+ yelon: yelonHrHR,
71
+ abbr: '🇭🇷'
72
+ },
73
+ 'it-IT': {
74
+ text: 'Italiano',
75
+ ng: ngIt,
76
+ zorro: zorroItIT,
77
+ date: dfIt,
78
+ yelon: yelonItIT,
79
+ abbr: '🇮🇹'
80
+ },
81
+ 'ko-KR': {
82
+ text: '한국어',
83
+ ng: ngKo,
84
+ zorro: zorroKoKR,
85
+ date: dfKo,
86
+ yelon: yelonKoKR,
87
+ abbr: '🇰🇷'
88
+ },
89
+ 'pl-PL': {
90
+ text: 'Polski',
91
+ ng: ngPl,
92
+ zorro: zorroPlPL,
93
+ date: dfPl,
94
+ yelon: yelonPlPL,
95
+ abbr: '🇵🇱'
96
+ },
97
+ 'sl-SI': {
98
+ text: 'Slovenščina',
99
+ ng: ngSl,
100
+ zorro: zorroSlSI,
101
+ date: dfSl,
102
+ yelon: yelonSlSI,
103
+ abbr: '🇸🇮'
104
+ },
105
+ 'tr-TR': {
106
+ text: 'Türkçe',
107
+ ng: ngTr,
108
+ zorro: zorroTrTR,
109
+ date: dfTr,
110
+ yelon: yelonTrTR,
111
+ abbr: '🇹🇷'
112
+ }
113
+ };
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLWxhbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iaXMvbGF5b3V0L3l1bnphaS1sYW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hELE9BQU8sSUFBSSxNQUFNLDRCQUE0QixDQUFDO0FBQzlDLE9BQU8sTUFBTSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hELE9BQU8sSUFBSSxNQUFNLDRCQUE0QixDQUFDO0FBQzlDLE9BQU8sSUFBSSxNQUFNLDRCQUE0QixDQUFDO0FBQzlDLE9BQU8sSUFBSSxNQUFNLDRCQUE0QixDQUFDO0FBQzlDLE9BQU8sSUFBSSxNQUFNLDRCQUE0QixDQUFDO0FBQzlDLE9BQU8sSUFBSSxNQUFNLDRCQUE0QixDQUFDO0FBQzlDLE9BQU8sSUFBSSxNQUFNLDRCQUE0QixDQUFDO0FBQzlDLE9BQU8sSUFBSSxNQUFNLDRCQUE0QixDQUFDO0FBQzlDLE9BQU8sSUFBSSxNQUFNLDRCQUE0QixDQUFDO0FBQzlDLE9BQU8sTUFBTSxNQUFNLGlDQUFpQyxDQUFDO0FBRXJELE9BQU8sRUFDTCxJQUFJLElBQUksSUFBSSxFQUNaLElBQUksSUFBSSxNQUFNLEVBQ2QsSUFBSSxJQUFJLE1BQU0sRUFDZCxFQUFFLElBQUksSUFBSSxFQUNWLEVBQUUsSUFBSSxJQUFJLEVBQ1YsRUFBRSxJQUFJLElBQUksRUFDVixFQUFFLElBQUksSUFBSSxFQUNWLEVBQUUsSUFBSSxJQUFJLEVBQ1YsRUFBRSxJQUFJLElBQUksRUFDVixFQUFFLElBQUksSUFBSSxFQUNWLEVBQUUsSUFBSSxJQUFJLEVBQ1YsRUFBRSxJQUFJLElBQUksRUFDWCxNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFDTCxLQUFLLElBQUksU0FBUyxFQUNsQixLQUFLLElBQUksU0FBUyxFQUNsQixLQUFLLElBQUksU0FBUyxFQUNsQixLQUFLLElBQUksU0FB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LEVBQUU7UUFDUCxJQUFJLEVBQUUsUUFBUTtRQUNkLEVBQUUsRUFBRSxJQUFJO1FBQ1IsS0FBSyxFQUFFLFNBQVM7UUFDaEIsSUFBSSxFQUFFLElBQUk7UUFDVixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsTUFBTTtLQUNiO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsSUFBSSxFQUFFLGFBQWE7UUFDbkIsRUFBRSxFQUFFLElBQUk7UUFDUixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsSUFBSTtRQUNWLEtBQUssRUFBRSxTQUFTO1FBQ2hCLElBQUksRUFBRSxNQUFNO0tBQ2I7SUFDRCxPQUFPLEVBQUU7UUFDUCxJQUFJLEVBQUUsUUFBUTtRQUNkLEVBQUUsRUFBRSxJQUFJO1FBQ1IsS0FBSyxFQUFFLFNBQVM7UUFDaEIsSUFBSSxFQUFFLElBQUk7UUFDVixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsTUFBTTtLQUNiO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBuZ0VsR3IgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZWwnO1xuaW1wb3J0IG5nRW4gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZW4nO1xuaW1wb3J0IG5nRXNFcyBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9lcyc7XG5pbXBvcnQgbmdGciBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9mcic7XG5pbXBvcnQgbmdIciBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9ocic7XG5pbXBvcnQgbmdJdCBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9pdCc7XG5pbXBvcnQgbmdLbyBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9rbyc7XG5pbXBvcnQgbmdQbCBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9wbCc7XG5pbXBvcnQgbmdTbCBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9zbCc7XG5pbXBvcnQgbmdUciBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy90cic7XG5pbXBvcnQgbmdaaCBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy96aCc7XG5pbXBvcnQgbmdaaFR3IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL3poLUhhbnQnO1xuXG5pbXBvcnQge1xuICBlblVTIGFzIGRmRW4sXG4gIHpoQ04gYXMgZGZaaENuLFxuICB6aFRXIGFzIGRmWmhUdyxcbiAgZWwgYXMgZGZFbCxcbiAgZXMgYXMgZGZFcyxcbiAgZnIgYXMgZGZGcixcbiAgaHIgYXMgZGZIcixcbiAgaXQgYXMgZGZJdCxcbiAga28gYXMgZGZLbyxcbiAgcGwgYXMgZGZQbCxcbiAgc2wgYXMgZGZTbCxcbiAgdHIgYXMgZGZUclxufSBmcm9tICdkYXRlLWZucy9sb2NhbGUnO1xuXG5pbXBvcnQge1xuICBlbF9HUiBhcyB5ZWxvbkVsR1IsXG4gIGVuX1VTIGFzIHllbG9uRW5VUyxcbiAgZXNfRVMgYXMgeWVsb25Fc0VTLFxuICBmcl9GUiBhcyB5ZWxvbkZyRlIsXG4gIGhyX0hSIGFzIHllbG9uSHJIUixcbiAgaXRfSVQgYXMgeWVsb25JdElULFxuICBrb19LUiBhcyB5ZWxvbktvS1IsXG4gIHBsX1BMIGFzIHllbG9uUGxQTCxcbiAgc2xfU0kgYXMgeWVsb25TbFNJLFxuICB0cl9UUiBhcyB5ZWxvblRyVFIsXG4gIHpoX0NOIGFzIHllbG9uWmhDbixcbiAgemhfVFcgYXMgeWVsb25aaFR3XG59IGZyb20gJ0B5ZWxvbi90aGVtZSc7XG5pbXBvcnQge1xuICBlbF9HUiBhcyB6b3Jyb0VsR1IsXG4gIGVuX1VTIGFzIHpvcnJvRW5VUyxcbiAgZXNfRVMgYXMgem9ycm9Fc0VTLFxuICBmcl9GUiBhcyB6b3Jyb0ZyRlIsXG4gIGhyX0hSIGFzIHpvcnJvSHJIUixcbiAgaXRfSVQgYXMgem9ycm9JdElULFxuICBrb19LUiBhcyB6b3Jyb0tvS1IsXG4gIHBsX1BMIGFzIHpvcnJvUGxQTCxcbiAgc2xfU0kgYXMgem9ycm9TbFNJLFxuICB0cl9UUiBhcyB6b3Jyb1RyVFIsXG4gIHpoX0NOIGFzIHpvcnJvWmhDTixcbiAgemhfVFcgYXMgem9ycm9aaFRXXG59IGZyb20gJ25nLXpvcnJvLWFudGQvaTE4bic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFuZ0NvbmZpZ0RhdGEge1xuICBhYmJyOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgbmc6IGFueTtcbiAgem9ycm86IGFueTtcbiAgZGF0ZTogYW55O1xuICB5ZWxvbjogYW55O1xufVxuXG5leHBvcnQgY29uc3QgWVVOWkFJX0xBTkdTOiB7IFtrZXk6IHN0cmluZ106IExhbmdDb25maWdEYXRhIH0gPSB7XG4gICd6aC1DTic6IHtcbiAgICB0ZXh0OiAn566A5L2T5Lit5paHJyxcbiAgICBuZzogbmdaaCxcbiAgICB6b3Jybzogem9ycm9aaENOLFxuICAgIGRhdGU6IGRmWmhDbixcbiAgICB5ZWxvbjogeWVsb25aaENuLFxuICAgIGFiYnI6ICfwn4eo8J+HsydcbiAgfSxcbiAgJ3poLVRXJzoge1xuICAgIHRleHQ6ICfnuYHkvZPkuK3mlocnLFxuICAgIG5nOiBuZ1poVHcsXG4gICAgem9ycm86IHpvcnJvWmhUVyxcbiAgICBkYXRlOiBkZlpoVHcsXG4gICAgeWVsb246IHllbG9uWmhUdyxcbiAgICBhYmJyOiAn8J+HrfCfh7AnXG4gIH0sXG4gICdlbi1VUyc6IHtcbiAgICB0ZXh0OiAnRW5nbGlzaCcsXG4gICAgbmc6IG5nRW4sXG4gICAgem9ycm86IHpvcnJvRW5VUyxcbiAgICBkYXRlOiBkZkVuLFxuICAgIHllbG9uOiB5ZWxvbkVuVVMsXG4gICAgYWJicjogJ/Cfh6zwn4enJ1xuICB9LFxuICAnZWwtR1InOiB7XG4gICAgdGV4dDogJ86VzrvOu863zr3Ouc66zqwnLFxuICAgIG5nOiBuZ0VsR3IsXG4gICAgem9ycm86IHpvcnJvRWxHUixcbiAgICBkYXRlOiBkZkVsLFxuICAgIHllbG9uOiB5ZWxvbkVsR1IsXG4gICAgYWJicjogJ/Cfh6zwn4e3J1xuICB9LFxuICAnZXMtRVMnOiB7XG4gICAgdGV4dDogJ0VzcGHDsW9sJyxcbiAgICBuZzogbmdFc0VzLFxuICAgIHpvcnJvOiB6b3Jyb0VzRVMsXG4gICAgZGF0ZTogZGZFcyxcbiAgICB5ZWxvbjogeWVsb25Fc0VTLFxuICAgIGFiYnI6ICfwn4eq8J+HuCdcbiAgfSxcbiAgJ2ZyLUZSJzoge1xuICAgIHRleHQ6ICdGcmFuw6dhaXMnLFxuICAgIG5nOiBuZ0ZyLFxuICAgIHpvcnJvOiB6b3Jyb0ZyRlIsXG4gICAgZGF0ZTogZGZGcixcbiAgICB5ZWxvbjogeWVsb25GckZSLFxuICAgIGFiYnI6ICfwn4er8J+HtydcbiAgfSxcbiAgJ2hyLUhSJzoge1xuICAgIHRleHQ6ICdIcnZhdHNraScsXG4gICAgbmc6IG5nSHIsXG4gICAgem9ycm86IHpvcnJvSHJIUixcbiAgICBkYXRlOiBkZkhyLFxuICAgIHllbG9uOiB5ZWxvbkhySFIsXG4gICAgYWJicjogJ/Cfh63wn4e3J1xuICB9LFxuICAnaXQtSVQnOiB7XG4gICAgdGV4dDogJ0l0YWxpYW5vJyxcbiAgICBuZzogbmdJdCxcbiAgICB6b3Jybzogem9ycm9JdElULFxuICAgIGRhdGU6IGRmSXQsXG4gICAgeWVsb246IHllbG9uSXRJVCxcbiAgICBhYmJyOiAn8J+HrvCfh7knXG4gIH0sXG4gICdrby1LUic6IHtcbiAgICB0ZXh0OiAn7ZWc6rWt7Ja0JyxcbiAgICBuZzogbmdLbyxcbiAgICB6b3Jybzogem9ycm9Lb0tSLFxuICAgIGRhdGU6IGRmS28sXG4gICAgeWVsb246IHllbG9uS29LUixcbiAgICBhYmJyOiAn8J+HsPCfh7cnXG4gIH0sXG4gICdwbC1QTCc6IHtcbiAgICB0ZXh0OiAnUG9sc2tpJyxcbiAgICBuZzogbmdQbCxcbiAgICB6b3Jybzogem9ycm9QbFBMLFxuICAgIGRhdGU6IGRmUGwsXG4gICAgeWVsb246IHllbG9uUGxQTCxcbiAgICBhYmJyOiAn8J+HtfCfh7EnXG4gIH0sXG4gICdzbC1TSSc6IHtcbiAgICB0ZXh0OiAnU2xvdmVuxaHEjWluYScsXG4gICAgbmc6IG5nU2wsXG4gICAgem9ycm86IHpvcnJvU2xTSSxcbiAgICBkYXRlOiBkZlNsLFxuICAgIHllbG9uOiB5ZWxvblNsU0ksXG4gICAgYWJicjogJ/Cfh7jwn4euJ1xuICB9LFxuICAndHItVFInOiB7XG4gICAgdGV4dDogJ1TDvHJrw6dlJyxcbiAgICBuZzogbmdUcixcbiAgICB6b3Jybzogem9ycm9UclRSLFxuICAgIGRhdGU6IGRmVHIsXG4gICAgeWVsb246IHllbG9uVHJUUixcbiAgICBhYmJyOiAn8J+HufCfh7cnXG4gIH1cbn07XG4iXX0=
@@ -29,7 +29,9 @@ class YunzaiStartupService {
29
29
  }
30
30
  load() {
31
31
  log('startup.service: ', 'load');
32
- const defaultLang = this.i18n.defaultLang;
32
+ let defaultLang = this.cacheService.getNone(this.i18n.cacheDefaultKey);
33
+ if (!defaultLang)
34
+ defaultLang = this.i18n.defaultLang;
33
35
  return this.i18n.loadLangData(defaultLang).pipe(mergeMap(langData => {
34
36
  log('startup.service: ', 'set i18n, defaultLang->', defaultLang, ' langData->', langData);
35
37
  this.i18n.use(defaultLang, langData);
@@ -154,4 +156,4 @@ const YUNZAI_APPINIT_PROVIDES = [
154
156
  }
155
157
  ];
156
158
  export { YunzaiStartupService as YzStartupService, YunzaiStartupService, YunzaiStartupServiceFactory as YzStartupServiceFactory, YunzaiStartupServiceFactory, YUNZAI_APPINIT_PROVIDES as YZ_APPINIT_PROVIDES, YUNZAI_APPINIT_PROVIDES, mapYzSideToYelonMenu, generateAbility };
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLXN0YXJ0dXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9sYXlvdXQveXVuemFpLXN0YXJ0dXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFjLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJaEQsT0FBTyxFQUFvRCxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsTUFBTSxFQUE2QyxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSS9GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7QUFJM0MsTUFDTSxvQkFBb0I7SUFHeEIsWUFDRSxPQUFzQixFQUNkLFdBQXdCLEVBQ0csSUFBdUIsRUFDbEMsR0FBYyxFQUM5QixjQUErQixFQUMvQixVQUFzQixFQUN0QixZQUEwQixFQUMxQixhQUFnQyxFQUNoQyxZQUEwQixFQUMxQixhQUFrQztRQVJsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNHLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ2xDLFFBQUcsR0FBSCxHQUFHLENBQVc7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBQy9CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBQ2hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQVpwQyxXQUFNLEdBQXlCLHVCQUF1QixDQUFDO1FBYzdE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QUFNLElBQUksRUFBRSxDQUFDO1NBQ2Q7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRTtnQkFDbkMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ25EO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUywyQkFBMkIsQ0FBQyxjQUFvQztJQUN2RSxPQUFPLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNyQyxDQUFDO0FBRUQsWUFBWTtBQUNaLE1BQU0sdUJBQXVCLEdBQUc7SUFDOUIsb0JBQW9CO0lBQ3BCO1FBQ0UsT0FBTyxFQUFFLGVBQWU7UUFDeEIsVUFBVSxFQUFFLDJCQUEyQjtRQUN2QyxJQUFJLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztRQUM1QixLQUFLLEVBQUUsSUFBSTtLQUNaO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFDTCxvQkFBb0IsSUFBSSxnQkFBZ0IsRUFDeEMsb0JBQW9CLEVBQ3BCLDJCQUEyQixJQUFJLHVCQUF1QixFQUN0RCwyQkFBMkIsRUFDM0IsdUJBQXVCLElBQUksbUJBQW1CLEVBQzlDLHVCQUF1QixFQUN2QixvQkFBb0IsRUFDcEIsZUFBZSxFQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1lcmdlTWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBQ0xTZXJ2aWNlIH0gZnJvbSAnQHllbG9uL2FjbCc7XG5pbXBvcnQgeyBDYWNoZVNlcnZpY2UsIFl1bnphaU1lbnUsIFl1bnphaU1lbnVBdHRyaWJ1dGUsIFl1bnphaVVzZXIgfSBmcm9tICdAeWVsb24vY2FjaGUnO1xuaW1wb3J0IHsgTWVudSwgTWVudVNlcnZpY2UsIFNldHRpbmdzU2VydmljZSwgVGl0bGVTZXJ2aWNlLCBZVU5aQUlfSTE4Tl9UT0tFTiB9IGZyb20gJ0B5ZWxvbi90aGVtZSc7XG5pbXBvcnQgeyBXSU5ET1csIFl1bnphaUJ1c2luZXNzQ29uZmlnLCBZdW56YWlDb25maWdTZXJ2aWNlLCBkZWVwQ29weSwgbG9nIH0gZnJvbSAnQHllbG9uL3V0aWwnO1xuaW1wb3J0IHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcbmltcG9ydCB7IE56SWNvblNlcnZpY2UgfSBmcm9tICduZy16b3Jyby1hbnRkL2ljb24nO1xuXG5pbXBvcnQgeyBCVVNJTkVTU19ERUZBVUxUX0NPTkZJRywgbWVyZ2VCaXNDb25maWcgfSBmcm9tICcuL2Jpcy5jb25maWcnO1xuaW1wb3J0IHsgSUNPTlMgfSBmcm9tICcuL2ljb24vc3R5bGUtaWNvbnMnO1xuaW1wb3J0IHsgWXVuemFpQXV0aFNlcnZpY2UgfSBmcm9tICcuL3l1bnphaS1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgWXVuemFpSTE4TlNlcnZpY2UgfSBmcm9tICcuL3l1bnphaS1pMThuLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5jbGFzcyBZdW56YWlTdGFydHVwU2VydmljZSB7XG4gIHByaXZhdGUgY29uZmlnOiBZdW56YWlCdXNpbmVzc0NvbmZpZyA9IEJVU0lORVNTX0RFRkFVTFRfQ09ORklHO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGljb25TcnY6IE56SWNvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZW51U2VydmljZTogTWVudVNlcnZpY2UsXG4gICAgQEluamVjdChZVU5aQUlfSTE4Tl9UT0tFTikgcHJpdmF0ZSBpMThuOiBZdW56YWlJMThOU2VydmljZSxcbiAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSB3aW46IE56U2FmZUFueSxcbiAgICBwcml2YXRlIHNldHRpbmdTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY2xTZXJ2aWNlOiBBQ0xTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGl0bGVTZXJ2aWNlOiBUaXRsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB5ekF1dGhTZXJ2aWNlOiBZdW56YWlBdXRoU2VydmljZSxcbiAgICBwcml2YXRlIGNhY2hlU2VydmljZTogQ2FjaGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogWXVuemFpQ29uZmlnU2VydmljZVxuICApIHtcbiAgICB0aGlzLmNvbmZpZyA9IG1lcmdlQmlzQ29uZmlnKHRoaXMuY29uZmlnU2VydmljZSk7XG4gICAgaWNvblNydi5hZGRJY29uKC4uLklDT05TKTtcbiAgfVxuXG4gIGxvYWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgbG9nKCdzdGFydHVwLnNlcnZpY2U6ICcsICdsb2FkJyk7XG4gICAgY29uc3QgZGVmYXVsdExhbmcgPSB0aGlzLmkxOG4uZGVmYXVsdExhbmc7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi5sb2FkTGFuZ0RhdGEoZGVmYXVsdExhbmcpLnBpcGUoXG4gICAgICBtZXJnZU1hcChsYW5nRGF0YSA9PiB7XG4gICAgICAgIGxvZygnc3RhcnR1cC5zZXJ2aWNlOiAnLCAnc2V0IGkxOG4sIGRlZmF1bHRMYW5nLT4nLCBkZWZhdWx0TGFuZywgJyBsYW5nRGF0YS0+JywgbGFuZ0RhdGEpO1xuICAgICAgICB0aGlzLmkxOG4udXNlKGRlZmF1bHRMYW5nLCBsYW5nRGF0YSk7XG4gICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgIH0pLFxuICAgICAgbWVyZ2VNYXAoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ekF1dGhTZXJ2aWNlLmxvZ2luKCk7XG4gICAgICB9KSxcbiAgICAgIG1lcmdlTWFwKHYgPT4ge1xuICAgICAgICAvLyBwcmVsb2FkZXIgZmluaXNoXG4gICAgICAgIHRoaXMuc3lzdGVtSW5pdCgpO1xuICAgICAgICBsb2coJ3N0YXJ0dXAuc2VydmljZTogcHJlbG9hZGVyIGZpbmlzaCcpO1xuICAgICAgICBpZiAodGhpcy53aW4gJiYgdGhpcy53aW4uYXBwQm9vdHN0cmFwKSB7XG4gICAgICAgICAgdGhpcy53aW4uYXBwQm9vdHN0cmFwKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKHYpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc3lzdGVtSW5pdCgpOiB2b2lkIHtcbiAgICBsb2coJ3N0YXJ0dXAuc2VydmljZTogc3lzdGVtIGluaXQnKTtcbiAgICAvLyB1c2VyXG4gICAgY29uc3QgeXVuemFpVXNlcjogWXVuemFpVXNlciA9IHRoaXMuY2FjaGVTZXJ2aWNlLmdldCgnX3l6X3VzZXInLCB7IG1vZGU6ICdub25lJyB9KTtcbiAgICAvLyBtZW51XG4gICAgY29uc3QgeXVuemFpTWVudXM6IFl1bnphaU1lbnVbXSA9IGRlZXBDb3B5KHl1bnphaVVzZXIubWVudSkuZmlsdGVyKFxuICAgICAgbSA9PiBtLnN5c3RlbUNvZGUgJiYgbS5zeXN0ZW1Db2RlID09PSB0aGlzLmNvbmZpZy5zeXN0ZW1Db2RlXG4gICAgKTtcbiAgICBtYXBZelNpZGVUb1llbG9uTWVudSh5dW56YWlNZW51cyk7XG4gICAgY29uc3QgY3VycmVudE1lbnUgPSB5dW56YWlNZW51cy5wb3AoKTtcbiAgICBpZiAoY3VycmVudE1lbnUpIHtcbiAgICAgIC8vIGxvZ28gYXBwXG4gICAgICB0aGlzLnNldHRpbmdTZXJ2aWNlLnNldEFwcCh7IG5hbWU6IGN1cnJlbnRNZW51LnRleHQsIGRlc2NyaXB0aW9uOiBjdXJyZW50TWVudS5pbnRybyB9KTtcbiAgICAgIHRoaXMuc2V0dGluZ1NlcnZpY2Uuc2V0VXNlcih7XG4gICAgICAgIG5hbWU6IHl1bnphaVVzZXIucmVhbG5hbWUsXG4gICAgICAgIGF2YXRhcjogYCR7dGhpcy5jb25maWcuYmFzZVVybH0vZmlsZWNlbnRlci9maWxlLyR7eXVuemFpVXNlci5hdmF0YXJJZH1gIHx8ICcnLFxuICAgICAgICBlbWFpbDogeXVuemFpVXNlci5lbWFpbFxuICAgICAgfSk7XG4gICAgICAvLyB0aXRsZVxuICAgICAgdGhpcy50aXRsZVNlcnZpY2UuZGVmYXVsdCA9IGN1cnJlbnRNZW51ICYmIGN1cnJlbnRNZW51LnRleHQgPyBjdXJyZW50TWVudS50ZXh0IDogJ2RlZmF1bHQgYXBwbGljYXRpb24gbmFtZSc7XG4gICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZShjdXJyZW50TWVudSAmJiBjdXJyZW50TWVudS50ZXh0ID8gY3VycmVudE1lbnUudGV4dCA6ICdubyB0aXRsZScpO1xuICAgICAgLy8gYWNsXG4gICAgICBjb25zdCBhYmlsaXRpZXM6IHN0cmluZ1tdID0gW107XG4gICAgICBnZW5lcmF0ZUFiaWxpdHkoW2N1cnJlbnRNZW51XSwgYWJpbGl0aWVzLCAnJyk7XG4gICAgICB0aGlzLmFjbFNlcnZpY2UuYXR0YWNoUm9sZShcbiAgICAgICAgeXVuemFpVXNlcj8ucm9sZXNcbiAgICAgICAgICAubWFwKChyb2xlOiBOelNhZmVBbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiByb2xlLnJvbGVWYWx1ZTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5maWx0ZXIoKGE6IE56U2FmZUFueSkgPT4gISFhKSB8fCBbXVxuICAgICAgKTtcbiAgICAgIHRoaXMuYWNsU2VydmljZS5hdHRhY2hBYmlsaXR5KGFiaWxpdGllcyk7XG4gICAgICAvLyBhc2lkZSBtZW51XG4gICAgICB0aGlzLm1lbnVTZXJ2aWNlLmFkZChbY3VycmVudE1lbnUgYXMgTWVudV0pO1xuICAgICAgLy8gY2FjaGUgY3VycmVudFxuICAgICAgdGhpcy5jYWNoZVNlcnZpY2Uuc2V0KCdfeXpfY3VycmVudCcsIHtcbiAgICAgICAgbmFtZTogY3VycmVudE1lbnUudGV4dCxcbiAgICAgICAgaW50cm86IGN1cnJlbnRNZW51LmludHJvIHx8ICcnLFxuICAgICAgICBpY29uOiBjdXJyZW50TWVudS5hcHBJY29uVXJsIHx8ICcuL2Fzc2V0cy90bXAvaW1nL2F2YXRhci5qcGcnXG4gICAgICB9KTtcbiAgICAgIC8vIGNhY2hlIGRpc3BsYXlJbmRleFxuICAgICAgY29uc3QgYXR0cmlidXRlcyA9IGN1cnJlbnRNZW51LmF0dHJpYnV0ZTtcbiAgICAgIGlmIChhdHRyaWJ1dGVzKSB7XG4gICAgICAgIGNvbnN0IGF0dHI6IFl1bnphaU1lbnVBdHRyaWJ1dGUgPSBKU09OLnBhcnNlKGF0dHJpYnV0ZXMpO1xuICAgICAgICBpZiAoYXR0ciAmJiBhdHRyLmRlZmF1bHRSb3V0ZSkge1xuICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldCgnX3l6X2RlZmF1bHRSb3V0ZScsIGF0dHIuZGVmYXVsdFJvdXRlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNhY2hlU2VydmljZS5zZXQoJ195el9kZWZhdWx0Um91dGUnLCAnL2Rpc3BsYXlJbmRleCcpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNhY2hlU2VydmljZS5zZXQoJ195el9kZWZhdWx0Um91dGUnLCAnL2Rpc3BsYXlJbmRleCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtYXBZelNpZGVUb1llbG9uTWVudShtZW51czogWXVuemFpTWVudVtdKTogdm9pZCB7XG4gIG1lbnVzLmZvckVhY2gobWVudSA9PiB7XG4gICAgbWVudS5iYWRnZURvdCA9IG1lbnUuYmFkZ2VfZG90IHx8IG51bGw7XG4gICAgbWVudS5iYWRnZVN0YXR1cyA9IG1lbnUuYmFkZ2Vfc3RhdHVzIHx8IG51bGw7XG4gICAgbWVudS5zaG9ydGN1dFJvb3QgPSBtZW51LnNob3J0Y3V0X3Jvb3QgfHwgbnVsbDtcbiAgICBtZW51LnJldXNlID0gdHJ1ZTtcbiAgICBpZiAobWVudS5jaGlsZHJlbikge1xuICAgICAgbWFwWXpTaWRlVG9ZZWxvbk1lbnUobWVudS5jaGlsZHJlbik7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVBYmlsaXR5KG1lbnVzOiBZdW56YWlNZW51W10sIGFiaWxpdGllczogc3RyaW5nW10sIHByZWZpeDogc3RyaW5nKTogdm9pZCB7XG4gIG1lbnVzLmZvckVhY2gobWVudSA9PiB7XG4gICAgaWYgKG1lbnUubGluaykge1xuICAgICAgcHJlZml4ICs9IG1lbnUubGluaztcbiAgICB9IGVsc2Uge1xuICAgICAgcHJlZml4ICs9ICcnO1xuICAgIH1cbiAgICBpZiAobWVudS5tZW51QXV0aHMpIHtcbiAgICAgIG1lbnUubWVudUF1dGhzLmZvckVhY2goKGE6IHN0cmluZykgPT4ge1xuICAgICAgICBhYmlsaXRpZXMucHVzaChgJHtwcmVmaXh9OiR7YX1gKTtcbiAgICAgICAgYWJpbGl0aWVzLnB1c2goYSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAobWVudS5jaGlsZHJlbikge1xuICAgICAgZ2VuZXJhdGVBYmlsaXR5KG1lbnUuY2hpbGRyZW4sIGFiaWxpdGllcywgcHJlZml4KTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBZdW56YWlTdGFydHVwU2VydmljZUZhY3Rvcnkoc3RhcnR1cFNlcnZpY2U6IFl1bnphaVN0YXJ0dXBTZXJ2aWNlKTogKCkgPT4gT2JzZXJ2YWJsZTx2b2lkPiB7XG4gIHJldHVybiAoKSA9PiBzdGFydHVwU2VydmljZS5sb2FkKCk7XG59XG5cbi8vQHRzLWlnbm9yZVxuY29uc3QgWVVOWkFJX0FQUElOSVRfUFJPVklERVMgPSBbXG4gIFl1bnphaVN0YXJ0dXBTZXJ2aWNlLFxuICB7XG4gICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgIHVzZUZhY3Rvcnk6IFl1bnphaVN0YXJ0dXBTZXJ2aWNlRmFjdG9yeSxcbiAgICBkZXBzOiBbWXVuemFpU3RhcnR1cFNlcnZpY2VdLFxuICAgIG11bHRpOiB0cnVlXG4gIH1cbl07XG5cbmV4cG9ydCB7XG4gIFl1bnphaVN0YXJ0dXBTZXJ2aWNlIGFzIFl6U3RhcnR1cFNlcnZpY2UsXG4gIFl1bnphaVN0YXJ0dXBTZXJ2aWNlLFxuICBZdW56YWlTdGFydHVwU2VydmljZUZhY3RvcnkgYXMgWXpTdGFydHVwU2VydmljZUZhY3RvcnksXG4gIFl1bnphaVN0YXJ0dXBTZXJ2aWNlRmFjdG9yeSxcbiAgWVVOWkFJX0FQUElOSVRfUFJPVklERVMgYXMgWVpfQVBQSU5JVF9QUk9WSURFUyxcbiAgWVVOWkFJX0FQUElOSVRfUFJPVklERVMsXG4gIG1hcFl6U2lkZVRvWWVsb25NZW51LFxuICBnZW5lcmF0ZUFiaWxpdHlcbn07XG4iXX0=
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLXN0YXJ0dXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9sYXlvdXQveXVuemFpLXN0YXJ0dXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFjLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJaEQsT0FBTyxFQUFvRCxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsTUFBTSxFQUE2QyxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSS9GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7QUFJM0MsTUFDTSxvQkFBb0I7SUFHeEIsWUFDRSxPQUFzQixFQUNkLFdBQXdCLEVBQ0csSUFBdUIsRUFDbEMsR0FBYyxFQUM5QixjQUErQixFQUMvQixVQUFzQixFQUN0QixZQUEwQixFQUMxQixhQUFnQyxFQUNoQyxZQUEwQixFQUMxQixhQUFrQztRQVJsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNHLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ2xDLFFBQUcsR0FBSCxHQUFHLENBQVc7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBQy9CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBQ2hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQVpwQyxXQUFNLEdBQXlCLHVCQUF1QixDQUFDO1FBYzdE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aW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1lcmdlTWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBQ0xTZXJ2aWNlIH0gZnJvbSAnQHllbG9uL2FjbCc7XG5pbXBvcnQgeyBDYWNoZVNlcnZpY2UsIFl1bnphaU1lbnUsIFl1bnphaU1lbnVBdHRyaWJ1dGUsIFl1bnphaVVzZXIgfSBmcm9tICdAeWVsb24vY2FjaGUnO1xuaW1wb3J0IHsgTWVudSwgTWVudVNlcnZpY2UsIFNldHRpbmdzU2VydmljZSwgVGl0bGVTZXJ2aWNlLCBZVU5aQUlfSTE4Tl9UT0tFTiB9IGZyb20gJ0B5ZWxvbi90aGVtZSc7XG5pbXBvcnQgeyBXSU5ET1csIFl1bnphaUJ1c2luZXNzQ29uZmlnLCBZdW56YWlDb25maWdTZXJ2aWNlLCBkZWVwQ29weSwgbG9nIH0gZnJvbSAnQHllbG9uL3V0aWwnO1xuaW1wb3J0IHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcbmltcG9ydCB7IE56SWNvblNlcnZpY2UgfSBmcm9tICduZy16b3Jyby1hbnRkL2ljb24nO1xuXG5pbXBvcnQgeyBCVVNJTkVTU19ERUZBVUxUX0NPTkZJRywgbWVyZ2VCaXNDb25maWcgfSBmcm9tICcuL2Jpcy5jb25maWcnO1xuaW1wb3J0IHsgSUNPTlMgfSBmcm9tICcuL2ljb24vc3R5bGUtaWNvbnMnO1xuaW1wb3J0IHsgWXVuemFpQXV0aFNlcnZpY2UgfSBmcm9tICcuL3l1bnphaS1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgWXVuemFpSTE4TlNlcnZpY2UgfSBmcm9tICcuL3l1bnphaS1pMThuLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5jbGFzcyBZdW56YWlTdGFydHVwU2VydmljZSB7XG4gIHByaXZhdGUgY29uZmlnOiBZdW56YWlCdXNpbmVzc0NvbmZpZyA9IEJVU0lORVNTX0RFRkFVTFRfQ09ORklHO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGljb25TcnY6IE56SWNvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZW51U2VydmljZTogTWVudVNlcnZpY2UsXG4gICAgQEluamVjdChZVU5aQUlfSTE4Tl9UT0tFTikgcHJpdmF0ZSBpMThuOiBZdW56YWlJMThOU2VydmljZSxcbiAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSB3aW46IE56U2FmZUFueSxcbiAgICBwcml2YXRlIHNldHRpbmdTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY2xTZXJ2aWNlOiBBQ0xTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGl0bGVTZXJ2aWNlOiBUaXRsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB5ekF1dGhTZXJ2aWNlOiBZdW56YWlBdXRoU2VydmljZSxcbiAgICBwcml2YXRlIGNhY2hlU2VydmljZTogQ2FjaGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogWXVuemFpQ29uZmlnU2VydmljZVxuICApIHtcbiAgICB0aGlzLmNvbmZpZyA9IG1lcmdlQmlzQ29uZmlnKHRoaXMuY29uZmlnU2VydmljZSk7XG4gICAgaWNvblNydi5hZGRJY29uKC4uLklDT05TKTtcbiAgfVxuXG4gIGxvYWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgbG9nKCdzdGFydHVwLnNlcnZpY2U6ICcsICdsb2FkJyk7XG4gICAgbGV0IGRlZmF1bHRMYW5nOiBzdHJpbmcgfCBudWxsID0gdGhpcy5jYWNoZVNlcnZpY2UuZ2V0Tm9uZSh0aGlzLmkxOG4uY2FjaGVEZWZhdWx0S2V5KTtcbiAgICBpZiAoIWRlZmF1bHRMYW5nKSBkZWZhdWx0TGFuZyA9IHRoaXMuaTE4bi5kZWZhdWx0TGFuZztcbiAgICByZXR1cm4gdGhpcy5pMThuLmxvYWRMYW5nRGF0YShkZWZhdWx0TGFuZykucGlwZShcbiAgICAgIG1lcmdlTWFwKGxhbmdEYXRhID0+IHtcbiAgICAgICAgbG9nKCdzdGFydHVwLnNlcnZpY2U6ICcsICdzZXQgaTE4biwgZGVmYXVsdExhbmctPicsIGRlZmF1bHRMYW5nLCAnIGxhbmdEYXRhLT4nLCBsYW5nRGF0YSk7XG4gICAgICAgIHRoaXMuaTE4bi51c2UoZGVmYXVsdExhbmchLCBsYW5nRGF0YSk7XG4gICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgIH0pLFxuICAgICAgbWVyZ2VNYXAoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ekF1dGhTZXJ2aWNlLmxvZ2luKCk7XG4gICAgICB9KSxcbiAgICAgIG1lcmdlTWFwKHYgPT4ge1xuICAgICAgICAvLyBwcmVsb2FkZXIgZmluaXNoXG4gICAgICAgIHRoaXMuc3lzdGVtSW5pdCgpO1xuICAgICAgICBsb2coJ3N0YXJ0dXAuc2VydmljZTogcHJlbG9hZGVyIGZpbmlzaCcpO1xuICAgICAgICBpZiAodGhpcy53aW4gJiYgdGhpcy53aW4uYXBwQm9vdHN0cmFwKSB7XG4gICAgICAgICAgdGhpcy53aW4uYXBwQm9vdHN0cmFwKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKHYpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc3lzdGVtSW5pdCgpOiB2b2lkIHtcbiAgICBsb2coJ3N0YXJ0dXAuc2VydmljZTogc3lzdGVtIGluaXQnKTtcbiAgICAvLyB1c2VyXG4gICAgY29uc3QgeXVuemFpVXNlcjogWXVuemFpVXNlciA9IHRoaXMuY2FjaGVTZXJ2aWNlLmdldCgnX3l6X3VzZXInLCB7IG1vZGU6ICdub25lJyB9KTtcbiAgICAvLyBtZW51XG4gICAgY29uc3QgeXVuemFpTWVudXM6IFl1bnphaU1lbnVbXSA9IGRlZXBDb3B5KHl1bnphaVVzZXIubWVudSkuZmlsdGVyKFxuICAgICAgbSA9PiBtLnN5c3RlbUNvZGUgJiYgbS5zeXN0ZW1Db2RlID09PSB0aGlzLmNvbmZpZy5zeXN0ZW1Db2RlXG4gICAgKTtcbiAgICBtYXBZelNpZGVUb1llbG9uTWVudSh5dW56YWlNZW51cyk7XG4gICAgY29uc3QgY3VycmVudE1lbnUgPSB5dW56YWlNZW51cy5wb3AoKTtcbiAgICBpZiAoY3VycmVudE1lbnUpIHtcbiAgICAgIC8vIGxvZ28gYXBwXG4gICAgICB0aGlzLnNldHRpbmdTZXJ2aWNlLnNldEFwcCh7IG5hbWU6IGN1cnJlbnRNZW51LnRleHQsIGRlc2NyaXB0aW9uOiBjdXJyZW50TWVudS5pbnRybyB9KTtcbiAgICAgIHRoaXMuc2V0dGluZ1NlcnZpY2Uuc2V0VXNlcih7XG4gICAgICAgIG5hbWU6IHl1bnphaVVzZXIucmVhbG5hbWUsXG4gICAgICAgIGF2YXRhcjogYCR7dGhpcy5jb25maWcuYmFzZVVybH0vZmlsZWNlbnRlci9maWxlLyR7eXVuemFpVXNlci5hdmF0YXJJZH1gIHx8ICcnLFxuICAgICAgICBlbWFpbDogeXVuemFpVXNlci5lbWFpbFxuICAgICAgfSk7XG4gICAgICAvLyB0aXRsZVxuICAgICAgdGhpcy50aXRsZVNlcnZpY2UuZGVmYXVsdCA9IGN1cnJlbnRNZW51ICYmIGN1cnJlbnRNZW51LnRleHQgPyBjdXJyZW50TWVudS50ZXh0IDogJ2RlZmF1bHQgYXBwbGljYXRpb24gbmFtZSc7XG4gICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZShjdXJyZW50TWVudSAmJiBjdXJyZW50TWVudS50ZXh0ID8gY3VycmVudE1lbnUudGV4dCA6ICdubyB0aXRsZScpO1xuICAgICAgLy8gYWNsXG4gICAgICBjb25zdCBhYmlsaXRpZXM6IHN0cmluZ1tdID0gW107XG4gICAgICBnZW5lcmF0ZUFiaWxpdHkoW2N1cnJlbnRNZW51XSwgYWJpbGl0aWVzLCAnJyk7XG4gICAgICB0aGlzLmFjbFNlcnZpY2UuYXR0YWNoUm9sZShcbiAgICAgICAgeXVuemFpVXNlcj8ucm9sZXNcbiAgICAgICAgICAubWFwKChyb2xlOiBOelNhZmVBbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiByb2xlLnJvbGVWYWx1ZTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5maWx0ZXIoKGE6IE56U2FmZUFueSkgPT4gISFhKSB8fCBbXVxuICAgICAgKTtcbiAgICAgIHRoaXMuYWNsU2VydmljZS5hdHRhY2hBYmlsaXR5KGFiaWxpdGllcyk7XG4gICAgICAvLyBhc2lkZSBtZW51XG4gICAgICB0aGlzLm1lbnVTZXJ2aWNlLmFkZChbY3VycmVudE1lbnUgYXMgTWVudV0pO1xuICAgICAgLy8gY2FjaGUgY3VycmVudFxuICAgICAgdGhpcy5jYWNoZVNlcnZpY2Uuc2V0KCdfeXpfY3VycmVudCcsIHtcbiAgICAgICAgbmFtZTogY3VycmVudE1lbnUudGV4dCxcbiAgICAgICAgaW50cm86IGN1cnJlbnRNZW51LmludHJvIHx8ICcnLFxuICAgICAgICBpY29uOiBjdXJyZW50TWVudS5hcHBJY29uVXJsIHx8ICcuL2Fzc2V0cy90bXAvaW1nL2F2YXRhci5qcGcnXG4gICAgICB9KTtcbiAgICAgIC8vIGNhY2hlIGRpc3BsYXlJbmRleFxuICAgICAgY29uc3QgYXR0cmlidXRlcyA9IGN1cnJlbnRNZW51LmF0dHJpYnV0ZTtcbiAgICAgIGlmIChhdHRyaWJ1dGVzKSB7XG4gICAgICAgIGNvbnN0IGF0dHI6IFl1bnphaU1lbnVBdHRyaWJ1dGUgPSBKU09OLnBhcnNlKGF0dHJpYnV0ZXMpO1xuICAgICAgICBpZiAoYXR0ciAmJiBhdHRyLmRlZmF1bHRSb3V0ZSkge1xuICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldCgnX3l6X2RlZmF1bHRSb3V0ZScsIGF0dHIuZGVmYXVsdFJvdXRlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNhY2hlU2VydmljZS5zZXQoJ195el9kZWZhdWx0Um91dGUnLCAnL2Rpc3BsYXlJbmRleCcpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNhY2hlU2VydmljZS5zZXQoJ195el9kZWZhdWx0Um91dGUnLCAnL2Rpc3BsYXlJbmRleCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtYXBZelNpZGVUb1llbG9uTWVudShtZW51czogWXVuemFpTWVudVtdKTogdm9pZCB7XG4gIG1lbnVzLmZvckVhY2gobWVudSA9PiB7XG4gICAgbWVudS5iYWRnZURvdCA9IG1lbnUuYmFkZ2VfZG90IHx8IG51bGw7XG4gICAgbWVudS5iYWRnZVN0YXR1cyA9IG1lbnUuYmFkZ2Vfc3RhdHVzIHx8IG51bGw7XG4gICAgbWVudS5zaG9ydGN1dFJvb3QgPSBtZW51LnNob3J0Y3V0X3Jvb3QgfHwgbnVsbDtcbiAgICBtZW51LnJldXNlID0gdHJ1ZTtcbiAgICBpZiAobWVudS5jaGlsZHJlbikge1xuICAgICAgbWFwWXpTaWRlVG9ZZWxvbk1lbnUobWVudS5jaGlsZHJlbik7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVBYmlsaXR5KG1lbnVzOiBZdW56YWlNZW51W10sIGFiaWxpdGllczogc3RyaW5nW10sIHByZWZpeDogc3RyaW5nKTogdm9pZCB7XG4gIG1lbnVzLmZvckVhY2gobWVudSA9PiB7XG4gICAgaWYgKG1lbnUubGluaykge1xuICAgICAgcHJlZml4ICs9IG1lbnUubGluaztcbiAgICB9IGVsc2Uge1xuICAgICAgcHJlZml4ICs9ICcnO1xuICAgIH1cbiAgICBpZiAobWVudS5tZW51QXV0aHMpIHtcbiAgICAgIG1lbnUubWVudUF1dGhzLmZvckVhY2goKGE6IHN0cmluZykgPT4ge1xuICAgICAgICBhYmlsaXRpZXMucHVzaChgJHtwcmVmaXh9OiR7YX1gKTtcbiAgICAgICAgYWJpbGl0aWVzLnB1c2goYSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAobWVudS5jaGlsZHJlbikge1xuICAgICAgZ2VuZXJhdGVBYmlsaXR5KG1lbnUuY2hpbGRyZW4sIGFiaWxpdGllcywgcHJlZml4KTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBZdW56YWlTdGFydHVwU2VydmljZUZhY3Rvcnkoc3RhcnR1cFNlcnZpY2U6IFl1bnphaVN0YXJ0dXBTZXJ2aWNlKTogKCkgPT4gT2JzZXJ2YWJsZTx2b2lkPiB7XG4gIHJldHVybiAoKSA9PiBzdGFydHVwU2VydmljZS5sb2FkKCk7XG59XG5cbi8vQHRzLWlnbm9yZVxuY29uc3QgWVVOWkFJX0FQUElOSVRfUFJPVklERVMgPSBbXG4gIFl1bnphaVN0YXJ0dXBTZXJ2aWNlLFxuICB7XG4gICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgIHVzZUZhY3Rvcnk6IFl1bnphaVN0YXJ0dXBTZXJ2aWNlRmFjdG9yeSxcbiAgICBkZXBzOiBbWXVuemFpU3RhcnR1cFNlcnZpY2VdLFxuICAgIG11bHRpOiB0cnVlXG4gIH1cbl07XG5cbmV4cG9ydCB7XG4gIFl1bnphaVN0YXJ0dXBTZXJ2aWNlIGFzIFl6U3RhcnR1cFNlcnZpY2UsXG4gIFl1bnphaVN0YXJ0dXBTZXJ2aWNlLFxuICBZdW56YWlTdGFydHVwU2VydmljZUZhY3RvcnkgYXMgWXpTdGFydHVwU2VydmljZUZhY3RvcnksXG4gIFl1bnphaVN0YXJ0dXBTZXJ2aWNlRmFjdG9yeSxcbiAgWVVOWkFJX0FQUElOSVRfUFJPVklERVMgYXMgWVpfQVBQSU5JVF9QUk9WSURFUyxcbiAgWVVOWkFJX0FQUElOSVRfUFJPVklERVMsXG4gIG1hcFl6U2lkZVRvWWVsb25NZW51LFxuICBnZW5lcmF0ZUFiaWxpdHlcbn07XG4iXX0=