ng-easycommerce 0.0.592 → 0.0.594

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.
@@ -30,6 +30,7 @@ let ContactFormNewsEcComponent = class ContactFormNewsEcComponent extends Compon
30
30
  this.codeBlock = 'newsletter_block';
31
31
  this.blocks = [];
32
32
  this.blockContact = null;
33
+ this.params = {};
33
34
  this.form_data = {};
34
35
  this.sendForm = (form, success_message) => {
35
36
  console.log('enviando...');
@@ -89,6 +90,7 @@ let ContactFormNewsEcComponent = class ContactFormNewsEcComponent extends Compon
89
90
  ngOnChanges() {
90
91
  }
91
92
  ngOnInit() {
93
+ this.paramsService.parameters.subscribe(res => this.params = res);
92
94
  if (!this.block) {
93
95
  this.blocksService.getBlocks('home');
94
96
  this.blocksService.blocks.pipe(filter((blocks) => (blocks && blocks.length > 0))).subscribe(blocks => {
@@ -147,4 +149,4 @@ ContactFormNewsEcComponent = __decorate([
147
149
  __param(6, Inject('env'))
148
150
  ], ContactFormNewsEcComponent);
149
151
  export { ContactFormNewsEcComponent };
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1mb3JtLW5ld3MtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9ibG9ja3MtZWMvYmxvY2stbmV3c2xldHRlci1lYy9jb250YWN0LWZvcm0tbmV3cy1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBUTVELElBQWEsMEJBQTBCLEdBQXZDLE1BQWEsMEJBQTJCLFNBQVEsZUFBZTtJQWUzRCxZQUFzQixhQUEyQixFQUFTLE1BQWMsRUFBUyxNQUFpQixFQUFTLGFBQWdDLEVBQ2hJLFdBQXdCLEVBQVksYUFBNEIsRUFBd0IsR0FBRztRQUNsRyxLQUFLLEVBQUUsQ0FBQztRQUZVLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVc7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7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QUFDO1NBQ3ZGO1FBQ0QsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFhRCxRQUFRLENBQUMsZUFBdUIsRUFBRSxHQUFHO1FBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQztJQUM3QyxDQUFDO0lBc0JELGNBQWMsQ0FBRSxJQUFXO1FBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQy9FLENBQUM7Q0FFSixDQUFBOztZQXZHd0MsWUFBWTtZQUFpQixNQUFNO1lBQWlCLFNBQVM7WUFBd0IsaUJBQWlCO1lBQ25ILFdBQVc7WUFBMkIsYUFBYTs0Q0FBRyxNQUFNLFNBQUMsS0FBSzs7QUFkakY7SUFBUixLQUFLLEVBQUU7eURBQU87QUFDTjtJQUFSLEtBQUssRUFBRTs0REFBa0I7QUFDakI7SUFBUixLQUFLLEVBQUU7bUVBQWlCO0FBQ2hCO0lBQVIsS0FBSyxFQUFFOzJEQUFVO0FBQ1Q7SUFBUixLQUFLLEVBQUU7NkRBQStCO0FBTjlCLDBCQUEwQjtJQU50QyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsMEJBQTBCO1FBQ3BDLCswRUFBb0Q7UUFFcEQsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDOztLQUM3QixDQUFDO0lBaUJnRixXQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtHQWhCbEYsMEJBQTBCLENBc0h0QztTQXRIWSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XHJcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvcmUuY29uc3RzJztcclxuaW1wb3J0IHsgQmxvY2tUeXBlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ibG9jayc7XHJcbmltcG9ydCB7IEJsb2Nrc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvYmxvY2tzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYXJhbWV0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BhcmFtZXRlcnMuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1jb250YWN0LWZvcm0tbmV3cy1lYycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC1mb3JtLW5ld3MtZWMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY29udGFjdC1mb3JtLW5ld3MtZWMuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW0Jsb2Nrc1NlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250YWN0Rm9ybU5ld3NFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgQElucHV0KCkgYmxvY2s7XHJcbiAgICBASW5wdXQoKSBjb21wbGV0ZSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgc3VjY2Vzc19tZXNzYWdlO1xyXG4gICAgQElucHV0KCkgc3ViamVjdD87XHJcbiAgICBASW5wdXQoKSBjb2RlQmxvY2sgPSAnbmV3c2xldHRlcl9ibG9jaydcclxuXHJcbiAgICBwdWJsaWMgYmxvY2tzOiBCbG9ja1R5cGVbXSA9IFtdO1xyXG4gICAgcHVibGljIGJsb2NrQ29udGFjdDogYW55ID0gbnVsbDtcclxuXHJcbiAgICBwdWJsaWMgY29udGFjdF9mb3JtOiBGb3JtR3JvdXA7XHJcbiAgICBwdWJsaWMgbmV3c2xldHRlcl9mb3JtOiBGb3JtR3JvdXA7XHJcbiAgICBwcm90ZWN0ZWQgZm9ybV9kYXRhOiBhbnkgPSB7fTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLCBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsIHB1YmxpYyBjb25zdHM6IENvbnN0YW50cywgcHVibGljIHBhcmFtc1NlcnZpY2U6IFBhcmFtZXRlcnNTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHByb3RlY3RlZCBibG9ja3NTZXJ2aWNlOiBCbG9ja3NTZXJ2aWNlLCBASW5qZWN0KCdlbnYnKSBwdWJsaWMgZW52ICkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5uZXdzbGV0dGVyX2Zvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgICAgICAgbmFtZTogWycnLCBbXV0sXHJcbiAgICAgICAgICAgIGVtYWlsOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAgICAgICB0ZWxlcGhvbmU6IFsnJywgW11dLFxyXG4gICAgICAgICAgICBzdWJqZWN0OiBbJycsIFtdXSxcclxuICAgICAgICAgICAgYm9keTogWycnLCBbXV0sXHJcbiAgICAgICAgICAgIGNhcHRjaGE6IFsnJywgW11dLFxyXG4gICAgICAgICAgICB0ZXJtczogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgICB9KVxyXG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXHJcblxyXG4gICAgfVxyXG5cclxuICAgIHNlbmRGb3JtID0gKGZvcm0sIHN1Y2Nlc3NfbWVzc2FnZSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdlbnZpYW5kby4uLicpXHJcbiAgICAgICAgaWYgKGZvcm0udmFsaWQgJiYgKGZvcm0udmFsdWUuZW1haWwuaW5jbHVkZXMoJ0AnKSkpIHtcclxuICAgICAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdmb3JtX2NvZGUnLCB0aGlzLmJsb2NrLmNvZGUpXHJcbiAgICAgICAgICAgIHRoaXMuc2VuZFZhbHVlKCduYW1lJykgJiYgZm9ybURhdGEuYXBwZW5kKCduYW1lJywgZm9ybS5nZXQoJ25hbWUnKS52YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5zZW5kVmFsdWUoJ2VtYWlsJykgJiYgZm9ybURhdGEuYXBwZW5kKCdlbWFpbCcsIGZvcm0uZ2V0KCdlbWFpbCcpLnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgndGVsZXBob25lJykgJiYgZm9ybURhdGEuYXBwZW5kKCd0ZWxlcGhvbmUnLCBmb3JtLmdldCgndGVsZXBob25lJykudmFsdWUpXHJcbiAgICAgICAgICAgIHRoaXMuc2VuZFZhbHVlKCdzdWJqZWN0JykgJiYgZm9ybURhdGEuYXBwZW5kKCdzdWJqZWN0JywgZm9ybS5nZXQoJ3N1YmplY3QnKS52YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5zZW5kVmFsdWUoJ2JvZHknKSAmJiBmb3JtRGF0YS5hcHBlbmQoJ2JvZHknLCBmb3JtLmdldCgnYm9keScpLnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgnYXR0YWNobWVudHMnKSAmJiBmb3JtRGF0YS5hcHBlbmQoJ2F0dGFjaG1lbnQnLCBmb3JtLmdldCgnYXR0YWNobWVudCcpLnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLmJsb2Nrc1NlcnZpY2Uuc2VuZFJlc3BvbnNlKGZvcm1EYXRhKS50b1Byb21pc2UoKS50aGVuKFxyXG4gICAgICAgICAgICAgICAgcmVzID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5ld3NsZXR0ZXJfZm9ybS5yZXNldCgpXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3codGhpcy5zdWNjZXNzX21lc3NhZ2UgfHwgc3VjY2Vzc19tZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93KCdpbnF1aXJ5LWVycm9yJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ2ludmFsaWQtZm9ybScpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuYmxvY2spIHtcclxuICAgICAgICAgICAgdGhpcy5ibG9ja3NTZXJ2aWNlLmdldEJsb2NrcygnaG9tZScpIDtcclxuICAgICAgICAgICAgdGhpcy5ibG9ja3NTZXJ2aWNlLmJsb2Nrcy5waXBlKGZpbHRlcigoYmxvY2tzKSA9PiAoYmxvY2tzICYmIGJsb2Nrcy5sZW5ndGggPiAwKSkpLnN1YnNjcmliZShibG9ja3MgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ibG9jayA9IHRoaXMuYmxvY2tzU2VydmljZS5nZXRCbG9ja0J5Q29kZSh0aGlzLmNvZGVCbG9jayk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ibG9jay5jb250YWN0Rm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmxvY2sgPSB0aGlzLmJsb2NrLmNvbnRhY3RGb3JtXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrID0geyAuLi50aGlzLmJsb2NrLCAuLi50aGlzLmJsb2NrLnRyYW5zbGF0aW9uc1t0aGlzLmNvbnN0cy5nZXRMb2NhbGUoKV0gfTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmliZUJsb2NrTmV3cyh0aGlzLmJsb2NrKTtcclxuXHJcbiAgICAgICAgICAgIH0pICAgIFxyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLmJsb2NrID0geyAuLi50aGlzLmJsb2NrLCAuLi50aGlzLmJsb2NrLnRyYW5zbGF0aW9uc1t0aGlzLmNvbnN0cy5nZXRMb2NhbGUoKV0gfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zdWJqZWN0ICYmIHRoaXMuc2V0U3ViamVjdCgpO1xyXG4gICAgICAgIHRoaXMuZWNPbkluaXQoKVxyXG4gICAgfVxyXG5cclxuICAgIHN1YnNjcmliZUJsb2NrTmV3cyA9IChibG9jazogYW55KSA9PiB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgc2V0U3ViamVjdCA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLmNvbnRhY3RfZm9ybS5zZXRWYWx1ZSh7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuY29udGFjdF9mb3JtLnZhbHVlLFxyXG4gICAgICAgICAgICBzdWJqZWN0OiB0aGlzLnN1YmplY3RcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXNvbHZlZChjYXB0Y2hhUmVzcG9uc2U6IHN0cmluZywgcmVzKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtX2RhdGEuY2F0cGNoYSA9IGNhcHRjaGFSZXNwb25zZTtcclxuICAgIH1cclxuXHJcbiAgICBzdWJzY3JpYmUgPSAoKSA9PiB7XHJcbiAgICAgICAgLy8gUEVESVIgQUwgU0VSVklDSU8gU0UgTE8gU1VCU0NSSUJBLCBZIFJFU1BPTkRBIFNJIExPIFNVQlNDUklCScOTIE8gWUEgRVNUQUJBIFNVQlNDUklQVE9cclxuICAgIH1cclxuXHJcbiAgICB0b2FzdE5ld3NsZXR0ZXJGb3JtID0gKGUpID0+IHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdGhpcy5zZW5kRm9ybSh0aGlzLm5ld3NsZXR0ZXJfZm9ybSwgJ25ld3NsZXR0ZXItdGhhbmtzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VuZFZhbHVlID0gKGtleSkgPT4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGxldCBrZXlzZWFyY2ggPSBrZXlbMF0udG9VcHBlckNhc2UoKSArIGtleS5zbGljZSgxKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5ibG9jayAmJiB0aGlzLmJsb2NrWydzZW5kJyArIGtleXNlYXJjaF0gfHwgZmFsc2VcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICB0cmltQ2xhc3NCbG9jayAoY29kZTpzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gKGNvZGUuc3BsaXQoJy0nKS5sZW5ndGggPiAxKSA/IGNvZGUuc3BsaXQoJy0nKVsxXS50b0xvd2VyQ2FzZSgpIDogJydcclxuICAgIH1cclxuXHJcbn1cclxuIl19
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1mb3JtLW5ld3MtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9ibG9ja3MtZWMvYmxvY2stbmV3c2xldHRlci1lYy9jb250YWN0LWZvcm0tbmV3cy1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBUTVELElBQWEsMEJBQTBCLEdBQXZDLE1BQWEsMEJBQTJCLFNBQVEsZUFBZTtJQWUzRCxZQUFzQixhQUEyQixFQUFTLE1BQWMsRUFBUyxNQUFpQixFQUFTLGFBQWdDLEVBQ2hJLFdBQXdCLEVBQVksYUFBNEIsRUFBd0IsR0FBRztRQUNsRyxLQUFLLEVBQUUsQ0FBQztRQUZVLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVc7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7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QTtHQWhCbEYsMEJBQTBCLENBdUh0QztTQXZIWSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XHJcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvcmUuY29uc3RzJztcclxuaW1wb3J0IHsgQmxvY2tUeXBlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ibG9jayc7XHJcbmltcG9ydCB7IEJsb2Nrc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvYmxvY2tzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYXJhbWV0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BhcmFtZXRlcnMuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1jb250YWN0LWZvcm0tbmV3cy1lYycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC1mb3JtLW5ld3MtZWMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY29udGFjdC1mb3JtLW5ld3MtZWMuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW0Jsb2Nrc1NlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250YWN0Rm9ybU5ld3NFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgQElucHV0KCkgYmxvY2s7XHJcbiAgICBASW5wdXQoKSBjb21wbGV0ZSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgc3VjY2Vzc19tZXNzYWdlO1xyXG4gICAgQElucHV0KCkgc3ViamVjdD87XHJcbiAgICBASW5wdXQoKSBjb2RlQmxvY2sgPSAnbmV3c2xldHRlcl9ibG9jaydcclxuXHJcbiAgICBwdWJsaWMgYmxvY2tzOiBCbG9ja1R5cGVbXSA9IFtdO1xyXG4gICAgcHVibGljIGJsb2NrQ29udGFjdDogYW55ID0gbnVsbDtcclxuICAgIHB1YmxpYyBwYXJhbXM6IGFueSA9IHt9O1xyXG4gICAgcHVibGljIGNvbnRhY3RfZm9ybTogRm9ybUdyb3VwO1xyXG4gICAgcHVibGljIG5ld3NsZXR0ZXJfZm9ybTogRm9ybUdyb3VwO1xyXG4gICAgcHJvdGVjdGVkIGZvcm1fZGF0YTogYW55ID0ge307XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHRvYXN0clNlcnZpY2U6IFRvYXN0U2VydmljZSwgcHVibGljIHJvdXRlcjogUm91dGVyLCBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsIHB1YmxpYyBwYXJhbXNTZXJ2aWNlOiBQYXJhbWV0ZXJzU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLCBwcm90ZWN0ZWQgYmxvY2tzU2VydmljZTogQmxvY2tzU2VydmljZSwgQEluamVjdCgnZW52JykgcHVibGljIGVudiApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMubmV3c2xldHRlcl9mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICAgICAgIG5hbWU6IFsnJywgW11dLFxyXG4gICAgICAgICAgICBlbWFpbDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgICAgICAgdGVsZXBob25lOiBbJycsIFtdXSxcclxuICAgICAgICAgICAgc3ViamVjdDogWycnLCBbXV0sXHJcbiAgICAgICAgICAgIGJvZHk6IFsnJywgW11dLFxyXG4gICAgICAgICAgICBjYXB0Y2hhOiBbJycsIFtdXSxcclxuICAgICAgICAgICAgdGVybXM6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBzZW5kRm9ybSA9IChmb3JtLCBzdWNjZXNzX21lc3NhZ2UpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygnZW52aWFuZG8uLi4nKVxyXG4gICAgICAgIGlmIChmb3JtLnZhbGlkICYmIChmb3JtLnZhbHVlLmVtYWlsLmluY2x1ZGVzKCdAJykpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZm9ybV9jb2RlJywgdGhpcy5ibG9jay5jb2RlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgnbmFtZScpICYmIGZvcm1EYXRhLmFwcGVuZCgnbmFtZScsIGZvcm0uZ2V0KCduYW1lJykudmFsdWUpXHJcbiAgICAgICAgICAgIHRoaXMuc2VuZFZhbHVlKCdlbWFpbCcpICYmIGZvcm1EYXRhLmFwcGVuZCgnZW1haWwnLCBmb3JtLmdldCgnZW1haWwnKS52YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5zZW5kVmFsdWUoJ3RlbGVwaG9uZScpICYmIGZvcm1EYXRhLmFwcGVuZCgndGVsZXBob25lJywgZm9ybS5nZXQoJ3RlbGVwaG9uZScpLnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgnc3ViamVjdCcpICYmIGZvcm1EYXRhLmFwcGVuZCgnc3ViamVjdCcsIGZvcm0uZ2V0KCdzdWJqZWN0JykudmFsdWUpXHJcbiAgICAgICAgICAgIHRoaXMuc2VuZFZhbHVlKCdib2R5JykgJiYgZm9ybURhdGEuYXBwZW5kKCdib2R5JywgZm9ybS5nZXQoJ2JvZHknKS52YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5zZW5kVmFsdWUoJ2F0dGFjaG1lbnRzJykgJiYgZm9ybURhdGEuYXBwZW5kKCdhdHRhY2htZW50JywgZm9ybS5nZXQoJ2F0dGFjaG1lbnQnKS52YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5ibG9ja3NTZXJ2aWNlLnNlbmRSZXNwb25zZShmb3JtRGF0YSkudG9Qcm9taXNlKCkudGhlbihcclxuICAgICAgICAgICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXdzbGV0dGVyX2Zvcm0ucmVzZXQoKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93KHRoaXMuc3VjY2Vzc19tZXNzYWdlIHx8IHN1Y2Nlc3NfbWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0clNlcnZpY2Uuc2hvdygnaW5xdWlyeS1lcnJvcicpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93KCdpbnZhbGlkLWZvcm0nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5wYXJhbXNTZXJ2aWNlLnBhcmFtZXRlcnMuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLnBhcmFtcyA9IHJlcyk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmJsb2NrKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYmxvY2tzU2VydmljZS5nZXRCbG9ja3MoJ2hvbWUnKSA7XHJcbiAgICAgICAgICAgIHRoaXMuYmxvY2tzU2VydmljZS5ibG9ja3MucGlwZShmaWx0ZXIoKGJsb2NrcykgPT4gKGJsb2NrcyAmJiBibG9ja3MubGVuZ3RoID4gMCkpKS5zdWJzY3JpYmUoYmxvY2tzID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2sgPSB0aGlzLmJsb2Nrc1NlcnZpY2UuZ2V0QmxvY2tCeUNvZGUodGhpcy5jb2RlQmxvY2spO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYmxvY2suY29udGFjdEZvcm0pIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJsb2NrID0gdGhpcy5ibG9jay5jb250YWN0Rm9ybVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5ibG9jayA9IHsgLi4udGhpcy5ibG9jaywgLi4udGhpcy5ibG9jay50cmFuc2xhdGlvbnNbdGhpcy5jb25zdHMuZ2V0TG9jYWxlKCldIH07XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVCbG9ja05ld3ModGhpcy5ibG9jayk7XHJcblxyXG4gICAgICAgICAgICB9KSAgICBcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5ibG9jayA9IHsgLi4udGhpcy5ibG9jaywgLi4udGhpcy5ibG9jay50cmFuc2xhdGlvbnNbdGhpcy5jb25zdHMuZ2V0TG9jYWxlKCldIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc3ViamVjdCAmJiB0aGlzLnNldFN1YmplY3QoKTtcclxuICAgICAgICB0aGlzLmVjT25Jbml0KClcclxuICAgIH1cclxuXHJcbiAgICBzdWJzY3JpYmVCbG9ja05ld3MgPSAoYmxvY2s6IGFueSkgPT4ge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIHNldFN1YmplY3QgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb250YWN0X2Zvcm0uc2V0VmFsdWUoe1xyXG4gICAgICAgICAgICAuLi50aGlzLmNvbnRhY3RfZm9ybS52YWx1ZSxcclxuICAgICAgICAgICAgc3ViamVjdDogdGhpcy5zdWJqZWN0XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzb2x2ZWQoY2FwdGNoYVJlc3BvbnNlOiBzdHJpbmcsIHJlcykge1xyXG4gICAgICAgIHRoaXMuZm9ybV9kYXRhLmNhdHBjaGEgPSBjYXB0Y2hhUmVzcG9uc2U7XHJcbiAgICB9XHJcblxyXG4gICAgc3Vic2NyaWJlID0gKCkgPT4ge1xyXG4gICAgICAgIC8vIFBFRElSIEFMIFNFUlZJQ0lPIFNFIExPIFNVQlNDUklCQSwgWSBSRVNQT05EQSBTSSBMTyBTVUJTQ1JJQknDkyBPIFlBIEVTVEFCQSBTVUJTQ1JJUFRPXHJcbiAgICB9XHJcblxyXG4gICAgdG9hc3ROZXdzbGV0dGVyRm9ybSA9IChlKSA9PiB7XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHRoaXMuc2VuZEZvcm0odGhpcy5uZXdzbGV0dGVyX2Zvcm0sICduZXdzbGV0dGVyLXRoYW5rcycpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbmRWYWx1ZSA9IChrZXkpID0+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBsZXQga2V5c2VhcmNoID0ga2V5WzBdLnRvVXBwZXJDYXNlKCkgKyBrZXkuc2xpY2UoMSkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmxvY2sgJiYgdGhpcy5ibG9ja1snc2VuZCcgKyBrZXlzZWFyY2hdIHx8IGZhbHNlXHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgdHJpbUNsYXNzQmxvY2sgKGNvZGU6c3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIChjb2RlLnNwbGl0KCctJykubGVuZ3RoID4gMSkgPyBjb2RlLnNwbGl0KCctJylbMV0udG9Mb3dlckNhc2UoKSA6ICcnXHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -17,13 +17,13 @@ import { Injectable } from '@angular/core';
17
17
  import { ConnectionService } from '../../api/connection.service';
18
18
  import { CartService } from '../cart.service';
19
19
  import { Constants } from '../../core.consts';
20
- import { BehaviorSubject, ReplaySubject, combineLatest, forkJoin } from 'rxjs';
20
+ import { BehaviorSubject, ReplaySubject, combineLatest, forkJoin, of } from 'rxjs';
21
21
  import { Step } from '../../classes/checkout/step';
22
22
  import { OrderUtilityService } from '../../utils/order-util.service';
23
23
  import { AnalyticsService } from '../analytics.service';
24
24
  import { AuthService } from '../auth.service';
25
25
  import { ErrorHandlerService } from './error-handler.service';
26
- import { filter } from 'rxjs/operators';
26
+ import { catchError, filter } from 'rxjs/operators';
27
27
  import { Router } from '@angular/router';
28
28
  import { ToastService } from '../../utils/toast.service';
29
29
  import { IpService } from '../ip-address.service';
@@ -77,18 +77,16 @@ let CheckoutService = class CheckoutService {
77
77
  this.stateSubject.next(final_steps);
78
78
  // Obtener IP y ubicación
79
79
  forkJoin({
80
- ip: this.ipService.getIp(),
81
- location: this.ipService.getLocation()
80
+ ip: this.ipService.getIp().pipe(catchError(() => of(null))),
81
+ location: this.ipService.getLocation().pipe(catchError(() => of(null)))
82
82
  }).subscribe(results => {
83
83
  var _a, _b, _c;
84
84
  const params = {
85
- ip: (_a = results.ip) === null || _a === void 0 ? void 0 : _a.ip,
86
- country: (_b = results.location) === null || _b === void 0 ? void 0 : _b.country,
87
- city: (_c = results.location) === null || _c === void 0 ? void 0 : _c.city
85
+ ip: ((_a = results.ip) === null || _a === void 0 ? void 0 : _a.ip) || 'unknown',
86
+ country: ((_b = results.location) === null || _b === void 0 ? void 0 : _b.country) || 'unknown',
87
+ city: ((_c = results.location) === null || _c === void 0 ? void 0 : _c.city) || 'unknown'
88
88
  };
89
- // Convertir los datos a una cadena de consulta
90
89
  const queryString = new URLSearchParams(params).toString();
91
- // Agregar la cadena de consulta a la URL del endpoint
92
90
  const urlWithParams = `${this.getHasPurchaseConditions()}?${queryString}`;
93
91
  this.connection.getErrorNotHandler(urlWithParams).toPromise().then(res => {
94
92
  var _a, _b;
@@ -232,4 +230,4 @@ CheckoutService = __decorate([
232
230
  })
233
231
  ], CheckoutService);
234
232
  export { CheckoutService };
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9jaGVja291dC9jaGVja291dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBUSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBS2xELElBQWEsZUFBZSxHQUE1QixNQUFhLGVBQWU7SUErQnhCLFlBQW9CLFVBQTZCLEVBQ3JDLFdBQXdCLEVBQ3hCLE1BQWlCLEVBQ2pCLGFBQTJC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ZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9jb25uZWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uL2NhcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvcmUuY29uc3RzJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBSZXBsYXlTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTdGVwSSwgU3RlcFR5cGVJIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zdGVwJztcclxuaW1wb3J0IHsgU3RlcCB9IGZyb20gJy4uLy4uL2NsYXNzZXMvY2hlY2tvdXQvc3RlcCc7XHJcbmltcG9ydCB7IENoZWNrb3V0RGF0YSwgQ2hlY2tvdXREYXRhVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY2hlY2tvdXQtZGF0YSc7XHJcbmltcG9ydCB7IE9yZGVyVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9vcmRlci11dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vYW5hbHl0aWNzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3VzZXInO1xyXG5pbXBvcnQgeyBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi9lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJcFNlcnZpY2UgfSBmcm9tICcuLi9pcC1hZGRyZXNzLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja291dFNlcnZpY2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAgIGJhc2VBcGkgPSAoKSA9PiAnc2hvcC1hcGkvJyArIHRoaXMuY29uc3RzLmdldENoYW5uZWwoKSArICcvY2hlY2tvdXQvJyArIHRoaXMuY2FydFNlcnZpY2UuZ2V0Q2FydFRva2VuKCk7XHJcbiAgICBnZXRQYXltZW50TWV0aG9kc0FwaSA9ICgpID0+IHRoaXMuYmFzZUFwaSgpICsgJy9wYXltZW50JztcclxuICAgIHB1dEFkZHJlc3NBcGkgPSAoKSA9PiB0aGlzLmJhc2VBcGkoKSArICcvYWRkcmVzcyc7XHJcbiAgICBwdXRQYXltZW50QXBpID0gKG1ldGhvZCkgPT4gdGhpcy5iYXNlQXBpKCkgKyAnL3BheW1lbnQvJyArIG1ldGhvZDtcclxuICAgIGNvbXBsZXRlQXBpID0gKCkgPT4gdGhpcy5iYXNlQXBpKCkgKyAnL2NvbXBsZXRlJztcclxuICAgIHBlcnNpc3RTaGlwbWVudEFwaSA9ICgpID0+ICcnO1xyXG4gICAgZ2V0UHJlZmVyZW5jZUFwaSA9ICgpID0+ICdzaG9wLWFwaS8nICsgdGhpcy5jb25zdHMuZ2V0Q2hhbm5lbCgpICsgJy9tZXJjYWRvLXBhZ28vJyArIHRoaXMuY2FydFNlcnZpY2UuZ2V0Q2FydFRva2VuKCkgKyAnL3ByZWZlcmVuY2UnO1xyXG4gICAgZ2V0SGFzUHVyY2hhc2VDb25kaXRpb25zID0gKCkgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0cy5nZXRDaGFubmVsKCkgKyAnL2NhcnRzLycgKyB0aGlzLmNhcnRTZXJ2aWNlLmdldENhcnRUb2tlbigpICsgJy9oYXNfcHVyY2hhc2VfY29uZGl0aW9ucyc7XHJcblxyXG4gICAgcHJpdmF0ZSBjYW5DaGVja291dFN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigpO1xyXG4gICAgcHJpdmF0ZSBvblJlYWR5U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAgIHByaXZhdGUgc3RhdGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGVwW10+KG51bGwpO1xyXG4gICAgcHJpdmF0ZSBsb2FkaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHJpdmF0ZSBvcmRlclN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgICBwcml2YXRlIGFzb2NpYXRlZERhdGFTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDaGVja291dERhdGFbXT4obnVsbCk7XHJcbiAgICBwcml2YXRlIG9yZGVyOiBhbnk7XHJcbiAgICBwcml2YXRlIGNoZWNrb3V0X2RhdGE6IGFueSA9IHt9O1xyXG4gICAgcHVibGljIHRvdGFsO1xyXG4gICAgcHJpdmF0ZSBjYXJ0TG9jYWw7XHJcbiAgICBwcml2YXRlIHVzZXI6IFVzZXI7XHJcblxyXG4gICAgcHVibGljIG9yZGVyJCA9IHRoaXMub3JkZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgcHVibGljIHN0YXRlJCA9IHRoaXMuc3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgcHVibGljIGxvYWRpbmckID0gdGhpcy5sb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIHB1YmxpYyBjYW5DaGVja291dCQgPSB0aGlzLmNhbkNoZWNrb3V0U3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIHB1YmxpYyBhc29jaWF0ZWREYXRhJCA9IHRoaXMuYXNvY2lhdGVkRGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBwdWJsaWMgb25SZWFkeSQgPSB0aGlzLm9uUmVhZHlTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY29ubmVjdGlvbjogQ29ubmVjdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjb25zdHM6IENvbnN0YW50cyxcclxuICAgICAgICBwcml2YXRlIHRvYXN0clNlcnZpY2U6IFRvYXN0U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIG9yZGVyVXRpbHM6IE9yZGVyVXRpbGl0eVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwcml2YXRlIGVycm9ySGFuZGxlcjogRXJyb3JIYW5kbGVyU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGlwU2VydmljZTogSXBTZXJ2aWNlKSB7XHJcblxyXG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuY2FydFNlcnZpY2UuY2FydEl0ZW1zLCB0aGlzLmNhcnRTZXJ2aWNlLmxvYWRpbmddKS5zdWJzY3JpYmUoKFtpdGVtcywgbG9hZGluZ10pID0+IHtcclxuICAgICAgICAgICAgaWYgKCFsb2FkaW5nICYmIGl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2FuQ2hlY2tvdXRTdWJqZWN0Lm5leHQodHJ1ZSlcclxuICAgICAgICAgICAgICAgIHRoaXMuY2FydFNlcnZpY2UuZ2V0VG90YWxBbW91bnQoKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvdGFsID0gcmVzO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmNhcnQuc3Vic2NyaWJlKGNhcnQgPT4gY2FydCAmJiAodGhpcy5jYXJ0TG9jYWwgPSBjYXJ0KSAmJiB0aGlzLnVwZGF0ZUFzb2NpYXRlZERhdGEoY2FydCkpO1xyXG4gICAgICAgIHRoaXMub3JkZXIkLnN1YnNjcmliZShvcmRlciA9PiBvcmRlciAmJiB0aGlzLnVwZGF0ZUFzb2NpYXRlZERhdGEob3JkZXIpKVxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0VXNlclByb2ZpbGUoKS5zdWJzY3JpYmUodXNlciA9PiB0aGlzLnVzZXIgPSB1c2VyKVxyXG4gICAgICAgIHRoaXMuZXJyb3JIYW5kbGVyLmVycm9yJC5waXBlKGZpbHRlcihyZXMgPT4gcmVzICE9IG51bGwpKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzLmNvZGUgID09ICdvdXRfb2Zfc3RvY2snIHx8IHJlcy5jb2RlICA9PSAnaXRlbXNfd2l0aF9wcm9kdWN0X29yX3Byb2R1Y3RfdmFyaWFudF9ub3RfZW5hYmxlZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0clNlcnZpY2Uuc2hvdygncmVkaXJlY3QtY2FydCcpXHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9jYXJ0JylcclxuICAgICAgICAgICAgICAgICAgICB9LCAyMDAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVPcmRlciA9IChvcmRlcikgPT4gb3JkZXIgJiYgdGhpcy5vcmRlclN1YmplY3QubmV4dChvcmRlcik7XHJcblxyXG4gICAgZ2V0U3RlcERhdGEgPSAoc3RlcF9uYW1lOiBTdGVwVHlwZUkpID0+IHtcclxuICAgICAgICBsZXQgc3RlcF9yZXN1bHQgPSB0aGlzLnN0YXRlU3ViamVjdC5nZXRWYWx1ZSgpLmZpbmQoc3RlcCA9PiBzdGVwLm5hbWUgPT0gc3RlcF9uYW1lKTtcclxuICAgICAgICByZXR1cm4gKHN0ZXBfcmVzdWx0ICYmIHN0ZXBfcmVzdWx0LmRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFN0ZXBzID0gKHN0ZXBzOiBTdGVwSVtdLCBhdXRvaGFuZGxlID0gdHJ1ZSkgPT4ge1xyXG4gICAgICAgIGxldCBmaW5hbF9zdGVwcyA9IFtdO1xyXG4gICAgICAgIHN0ZXBzLmZvckVhY2goKHN0ZXAsIGkpID0+IGZpbmFsX3N0ZXBzLnB1c2gobmV3IFN0ZXAoc3RlcC5uYW1lLCBzdGVwLnByaW9yaXR5IHx8IChpICsgMSkpKSk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZVN1YmplY3QubmV4dChmaW5hbF9zdGVwcyk7XHJcbiAgICBcclxuICAgICAgICAvLyBPYnRlbmVyIElQIHkgdWJpY2FjacOzblxyXG4gICAgICAgIGZvcmtKb2luKHtcclxuICAgICAgICAgICAgaXA6IHRoaXMuaXBTZXJ2aWNlLmdldElwKCksXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiB0aGlzLmlwU2VydmljZS5nZXRMb2NhdGlvbigpXHJcbiAgICAgICAgfSkuc3Vic2NyaWJlKHJlc3VsdHMgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7XHJcbiAgICAgICAgICAgICAgICBpcDogcmVzdWx0cy5pcD8uaXAsXHJcbiAgICAgICAgICAgICAgICBjb3VudHJ5OiByZXN1bHRzLmxvY2F0aW9uPy5jb3VudHJ5LFxyXG4gICAgICAgICAgICAgICAgY2l0eTogcmVzdWx0cy5sb2NhdGlvbj8uY2l0eVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgXHJcbiAgICAgICAgICAgIC8vIENvbnZlcnRpciBsb3MgZGF0b3MgYSB1bmEgY2FkZW5hIGRlIGNvbnN1bHRhXHJcbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhwYXJhbXMpLnRvU3RyaW5nKCk7XHJcbiAgICBcclxuICAgICAgICAgICAgLy8gQWdyZWdhciBsYSBjYWRlbmEgZGUgY29uc3VsdGEgYSBsYSBVUkwgZGVsIGVuZHBvaW50XHJcbiAgICAgICAgICAgIGNvbnN0IHVybFdpdGhQYXJhbXMgPSBgJHt0aGlzLmdldEhhc1B1cmNoYXNlQ29uZGl0aW9ucygpfT8ke3F1ZXJ5U3RyaW5nfWA7XHJcbiAgICBcclxuICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmdldEVycm9yTm90SGFuZGxlcih1cmxXaXRoUGFyYW1zKS50b1Byb21pc2UoKS50aGVuKFxyXG4gICAgICAgICAgICAgICAgcmVzID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2UuY2FsbEV2ZW50KCdjaGVja291dF9pbml0JywgeyAuLi50aGlzLmNhcnRMb2NhbCwgY3VycmVuY3k6IHRoaXMuY2FydExvY2FsPy5jdXJyZW5jeSwgdmFsdWU6IHRoaXMuY2FydExvY2FsPy50b3RhbCB9KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFN0ZXBSZWFkeSA9IGFzeW5jIChzdGVwX251bWJlciwgZGF0YSwgb3JkZXI/LCBhdXRvbWF0aWM/KSA9PiB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5yZXN0YXJ0QWxsU3RlcHNGcm9tKHN0ZXBfbnVtYmVyKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgbGV0IHN0ZXBzID0gdGhpcy5zdGF0ZVN1YmplY3QuZ2V0VmFsdWUoKTtcclxuICAgICAgICAgICAgc3RlcHMuZmluZChzdGVwID0+IHN0ZXAucHJpb3JpdHkgPT0gc3RlcF9udW1iZXIpLnJlYWR5KGRhdGEpO1xyXG4gICAgICAgICAgICB0aGlzLnN0YXRlU3ViamVjdC5uZXh0KHN0ZXBzKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChvcmRlcikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vcmRlclN1YmplY3QubmV4dChvcmRlcik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvdGFsID0gb3JkZXIudG90YWxzLnRvdGFsO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5pc0NoZWNrb3V0UmVhZHkoKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHN0ZXBzW3N0ZXBzLmxlbmd0aCAtIDFdLm5hbWUgPT0gJ3NoaXBtZW50Jykge1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vblJlYWR5U3ViamVjdC5uZXh0KHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSwgMTUwKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRTdGVwRG9pbmcgPSBhc3luYyAoc3RlcF9udW1iZXIpID0+IHtcclxuICAgICAgICBsZXQgc3RlcHMgPSB0aGlzLnN0YXRlU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG4gICAgICAgIHN0ZXBzID0gYXdhaXQgdGhpcy5yZXN0YXJ0QWxsU3RlcHNGcm9tKHN0ZXBfbnVtYmVyLCBmYWxzZSwgZmFsc2UpO1xyXG4gICAgICAgIHN0ZXBzLmZpbmQoc3RlcCA9PiBzdGVwLnByaW9yaXR5ID09IHN0ZXBfbnVtYmVyKS5kb2luZygpO1xyXG4gICAgICAgIHRoaXMuc3RhdGVTdWJqZWN0Lm5leHQoc3RlcHMpO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJlc3RhcnRBbGxTdGVwc0Zyb20gPSAoc3RlcF9udW1iZXIsIGluY2x1ZGVkID0gdHJ1ZSwgdXBkYXRlID0gdHJ1ZSkgPT4ge1xyXG4gICAgICAgIGxldCBzdGVwcyA9IHRoaXMuc3RhdGVTdWJqZWN0LmdldFZhbHVlKCk7XHJcbiAgICAgICAgc3RlcHMgPSBzdGVwcy5tYXAoKHN0ZXApID0+IHtcclxuICAgICAgICAgICAgaW5jbHVkZWRcclxuICAgICAgICAgICAgICAgID8gKHN0ZXAucHJpb3JpdHkgPj0gc3RlcF9udW1iZXIpICYmIHN0ZXAucmVzdGFydCgpXHJcbiAgICAgICAgICAgICAgICA6IChzdGVwLnByaW9yaXR5ID4gc3RlcF9udW1iZXIpICYmIHN0ZXAucmVzdGFydCgpXHJcbiAgICAgICAgICAgIHJldHVybiBzdGVwO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdXBkYXRlICYmIHRoaXMuc3RhdGVTdWJqZWN0Lm5leHQoc3RlcHMpO1xyXG4gICAgICAgIHJldHVybiBzdGVwcztcclxuICAgIH1cclxuXHJcbiAgICBpc0NoZWNrb3V0UmVhZHkgPSAoKSA9PiB7XHJcbiAgICAgICAgbGV0IHN0ZXBzID0gdGhpcy5zdGF0ZVN1YmplY3QudmFsdWU7XHJcbiAgICAgICAgY29uc3Qgc3RlcF9taXNzaW5nID0gc3RlcHMuZmluZChzdGVwID0+IHN0ZXAuaXNQZW5kaW5nKCkpO1xyXG4gICAgICAgIHJldHVybiAhc3RlcF9taXNzaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGlzU3RlcFJlYWR5ID0gKHN0ZXBfbmFtZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlU3ViamVjdC5nZXRWYWx1ZSgpLmZpbmQoc3RlcCA9PiBzdGVwLm5hbWUgPT0gc3RlcF9uYW1lKS5pc1JlYWR5KClcclxuICAgIH07XHJcblxyXG4gICAgc2V0T3JkZXIgPSAob3JkZXIpID0+IHsgdGhpcy5vcmRlciA9IG9yZGVyLCB0aGlzLm9yZGVyU3ViamVjdC5uZXh0KG9yZGVyKSB9O1xyXG4gICAgZ2V0T3JkZXIgPSAoKSA9PiB0aGlzLm9yZGVyIHx8IHRoaXMub3JkZXJTdWJqZWN0LnZhbHVlO1xyXG5cclxuICAgIHByaXZhdGUgY29tcGxldGVPcmRlciA9ICgpID0+IHRoaXMuY29ubmVjdGlvbi5wdXQodGhpcy5jb21wbGV0ZUFwaSgpLCB7IGVtYWlsOiB0aGlzLmNoZWNrb3V0X2RhdGEuZW1haWwsIG5vdGVzOiB0aGlzLmNoZWNrb3V0X2RhdGEubm90ZXMgfHwgJycgfSkudG9Qcm9taXNlKCk7XHJcblxyXG4gICAgY29tcGxldGUgPSBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KHRydWUpO1xyXG4gICAgICAgIGxldCByZXN1bHQgPSBhd2FpdCB0aGlzLmNvbXBsZXRlT3JkZXIoKTtcclxuICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5lcnJvcikge1xyXG4gICAgICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmNoYW5nZUhhdmVUb1VwZGF0ZShmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZ1N1YmplY3QubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICAgIHJldHVybiAoeyBvazogZmFsc2UsIHJlcXVpcmVfbG9naW46IHRydWUsIG1lc3NhZ2U6ICdub3QtY29tcGxldGVkJyB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRPcmRlcihyZXN1bHQpO1xyXG4gICAgICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5jYWxsRXZlbnQoJ3B1cmNoYXNlJywgeyAuLi5yZXN1bHQsIGN1cnJlbmN5OiByZXN1bHQuY3VycmVuY3ksIHZhbHVlOiByZXN1bHQudG90YWwgfSk7XHJcbiAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5jbGVhckFuZFJlc2V0Q2FydCgpO1xyXG4gICAgICAgIHRoaXMuY2FuQ2hlY2tvdXRTdWJqZWN0Lm5leHQoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMub25SZWFkeVN1YmplY3QubmV4dChmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcclxuICAgICAgICByZXR1cm4gKHsgb2s6IHRydWUsIHJlcXVpcmVfbG9naW46IGZhbHNlLCBtZXNzYWdlOiAnJyB9KTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVBc29jaWF0ZWREYXRhID0gKGNhcnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLm9yZGVyVXRpbHMuZ2V0UHJvbW90aW9ucyhjYXJ0KTtcclxuICAgICAgICBpZiAodGhpcy5hdXRoU2VydmljZS5nZXRVc2VyUHJvZmlsZUFzVXNlcigpPy5pc1dob2xlc2FsZXIoKSAmJiBjYXJ0LnRvdGFscy50YXhlcyAhPSAwKSB7XHJcbiAgICAgICAgICAgIGxldCB0b3RhbCA9IHsgLi4ucmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXSB9O1xyXG4gICAgICAgICAgICByZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdID0ge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RheGVzJyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICd0YXhlcycsXHJcbiAgICAgICAgICAgICAgICBhbW91bnQ6IGNhcnQudG90YWxzLnRheGVzXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmVzdWx0LnB1c2godG90YWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgc2hpcG1lbnQgPSByZXN1bHQ/LmZpbmQocHJvbW90aW9uID0+IHByb21vdGlvbi50eXBlID09IFwic2hpcG1lbnRcIik7XHJcbiAgICAgICAgaWYgKCFzaGlwbWVudCAmJiBjYXJ0LnRvdGFscy5zaGlwcGluZyAhPSAwKSB7XHJcblxyXG4gICAgICAgICAgICBpZiAocmVzdWx0Py5sZW5ndGggJiYgIXJlc3VsdC5maW5kKGl0ZW0gPT4gaXRlbS50eXBlID09PSBcInNoaXBtZW50XCIpKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgdG90YWwgPSB7IC4uLnJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gfTtcclxuICAgICAgICAgICAgICAgIHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3NoaXBtZW50JyxcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnc2hpcG1lbnQnLFxyXG4gICAgICAgICAgICAgICAgICAgIGFtb3VudDogY2FydC50b3RhbHMuc2hpcHBpbmdcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRvdGFsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmFzb2NpYXRlZERhdGFTdWJqZWN0Lm5leHQocmVzdWx0KTtcclxuICAgIH1cclxuXHJcbiAgICByZXN0YXJ0Q2hlY2tvdXQgPSAoKSA9PiB7IH1cclxuXHJcbn1cclxuIl19
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9jaGVja291dC9jaGVja291dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVuRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFRLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7QUFLbEQsSUFBYSxlQUFlLEdBQTVCLE1BQWEsZUFBZTtJQStCeEIsWUFBb0IsVUFBNkIsRUFDckMsV0FBd0IsRUFD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LFNBQVM7WUFDRixZQUFZO1lBQ2YsbUJBQW1CO1lBQ2IsZ0JBQWdCO1lBQ3RCLFdBQVc7WUFDZixNQUFNO1lBQ0EsbUJBQW1CO1lBQ3RCLFNBQVM7OztBQXhDdkIsZUFBZTtJQUgzQixVQUFVLENBQUM7UUFDUixVQUFVLEVBQUUsTUFBTTtLQUNyQixDQUFDO0dBQ1csZUFBZSxDQXFOM0I7U0FyTlksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9jb25uZWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uL2NhcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvcmUuY29uc3RzJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBSZXBsYXlTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmb3JrSm9pbiwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU3RlcEksIFN0ZXBUeXBlSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc3RlcCc7XHJcbmltcG9ydCB7IFN0ZXAgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2NoZWNrb3V0L3N0ZXAnO1xyXG5pbXBvcnQgeyBDaGVja291dERhdGEsIENoZWNrb3V0RGF0YVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NoZWNrb3V0LWRhdGEnO1xyXG5pbXBvcnQgeyBPcmRlclV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvb3JkZXItdXRpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uL2FuYWx5dGljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy91c2VyJztcclxuaW1wb3J0IHsgRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4vZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSXBTZXJ2aWNlIH0gZnJvbSAnLi4vaXAtYWRkcmVzcy5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tvdXRTZXJ2aWNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBiYXNlQXBpID0gKCkgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0cy5nZXRDaGFubmVsKCkgKyAnL2NoZWNrb3V0LycgKyB0aGlzLmNhcnRTZXJ2aWNlLmdldENhcnRUb2tlbigpO1xyXG4gICAgZ2V0UGF5bWVudE1ldGhvZHNBcGkgPSAoKSA9PiB0aGlzLmJhc2VBcGkoKSArICcvcGF5bWVudCc7XHJcbiAgICBwdXRBZGRyZXNzQXBpID0gKCkgPT4gdGhpcy5iYXNlQXBpKCkgKyAnL2FkZHJlc3MnO1xyXG4gICAgcHV0UGF5bWVudEFwaSA9IChtZXRob2QpID0+IHRoaXMuYmFzZUFwaSgpICsgJy9wYXltZW50LycgKyBtZXRob2Q7XHJcbiAgICBjb21wbGV0ZUFwaSA9ICgpID0+IHRoaXMuYmFzZUFwaSgpICsgJy9jb21wbGV0ZSc7XHJcbiAgICBwZXJzaXN0U2hpcG1lbnRBcGkgPSAoKSA9PiAnJztcclxuICAgIGdldFByZWZlcmVuY2VBcGkgPSAoKSA9PiAnc2hvcC1hcGkvJyArIHRoaXMuY29uc3RzLmdldENoYW5uZWwoKSArICcvbWVyY2Fkby1wYWdvLycgKyB0aGlzLmNhcnRTZXJ2aWNlLmdldENhcnRUb2tlbigpICsgJy9wcmVmZXJlbmNlJztcclxuICAgIGdldEhhc1B1cmNoYXNlQ29uZGl0aW9ucyA9ICgpID0+ICdzaG9wLWFwaS8nICsgdGhpcy5jb25zdHMuZ2V0Q2hhbm5lbCgpICsgJy9jYXJ0cy8nICsgdGhpcy5jYXJ0U2VydmljZS5nZXRDYXJ0VG9rZW4oKSArICcvaGFzX3B1cmNoYXNlX2NvbmRpdGlvbnMnO1xyXG5cclxuICAgIHByaXZhdGUgY2FuQ2hlY2tvdXRTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICAgIHByaXZhdGUgb25SZWFkeVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgICBwcml2YXRlIHN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RlcFtdPihudWxsKTtcclxuICAgIHByaXZhdGUgbG9hZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHByaXZhdGUgb3JkZXJTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG4gICAgcHJpdmF0ZSBhc29jaWF0ZWREYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2hlY2tvdXREYXRhW10+KG51bGwpO1xyXG4gICAgcHJpdmF0ZSBvcmRlcjogYW55O1xyXG4gICAgcHJpdmF0ZSBjaGVja291dF9kYXRhOiBhbnkgPSB7fTtcclxuICAgIHB1YmxpYyB0b3RhbDtcclxuICAgIHByaXZhdGUgY2FydExvY2FsO1xyXG4gICAgcHJpdmF0ZSB1c2VyOiBVc2VyO1xyXG5cclxuICAgIHB1YmxpYyBvcmRlciQgPSB0aGlzLm9yZGVyU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIHB1YmxpYyBzdGF0ZSQgPSB0aGlzLnN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIHB1YmxpYyBsb2FkaW5nJCA9IHRoaXMubG9hZGluZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBwdWJsaWMgY2FuQ2hlY2tvdXQkID0gdGhpcy5jYW5DaGVja291dFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBwdWJsaWMgYXNvY2lhdGVkRGF0YSQgPSB0aGlzLmFzb2NpYXRlZERhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgcHVibGljIG9uUmVhZHkkID0gdGhpcy5vblJlYWR5U3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbm5lY3Rpb246IENvbm5lY3Rpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY29uc3RzOiBDb25zdGFudHMsXHJcbiAgICAgICAgcHJpdmF0ZSB0b2FzdHJTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBvcmRlclV0aWxzOiBPcmRlclV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBlcnJvckhhbmRsZXI6IEVycm9ySGFuZGxlclNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBpcFNlcnZpY2U6IElwU2VydmljZSkge1xyXG5cclxuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmNhcnRTZXJ2aWNlLmNhcnRJdGVtcywgdGhpcy5jYXJ0U2VydmljZS5sb2FkaW5nXSkuc3Vic2NyaWJlKChbaXRlbXMsIGxvYWRpbmddKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghbG9hZGluZyAmJiBpdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhbkNoZWNrb3V0U3ViamVjdC5uZXh0KHRydWUpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmdldFRvdGFsQW1vdW50KCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b3RhbCA9IHJlcztcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5jYXJ0LnN1YnNjcmliZShjYXJ0ID0+IGNhcnQgJiYgKHRoaXMuY2FydExvY2FsID0gY2FydCkgJiYgdGhpcy51cGRhdGVBc29jaWF0ZWREYXRhKGNhcnQpKTtcclxuICAgICAgICB0aGlzLm9yZGVyJC5zdWJzY3JpYmUob3JkZXIgPT4gb3JkZXIgJiYgdGhpcy51cGRhdGVBc29jaWF0ZWREYXRhKG9yZGVyKSlcclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldFVzZXJQcm9maWxlKCkuc3Vic2NyaWJlKHVzZXIgPT4gdGhpcy51c2VyID0gdXNlcilcclxuICAgICAgICB0aGlzLmVycm9ySGFuZGxlci5lcnJvciQucGlwZShmaWx0ZXIocmVzID0+IHJlcyAhPSBudWxsKSkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICByZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlcy5jb2RlICA9PSAnb3V0X29mX3N0b2NrJyB8fCByZXMuY29kZSAgPT0gJ2l0ZW1zX3dpdGhfcHJvZHVjdF9vcl9wcm9kdWN0X3ZhcmlhbnRfbm90X2VuYWJsZWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ3JlZGlyZWN0LWNhcnQnKVxyXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvY2FydCcpXHJcbiAgICAgICAgICAgICAgICAgICAgfSwgMjAwMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlT3JkZXIgPSAob3JkZXIpID0+IG9yZGVyICYmIHRoaXMub3JkZXJTdWJqZWN0Lm5leHQob3JkZXIpO1xyXG5cclxuICAgIGdldFN0ZXBEYXRhID0gKHN0ZXBfbmFtZTogU3RlcFR5cGVJKSA9PiB7XHJcbiAgICAgICAgbGV0IHN0ZXBfcmVzdWx0ID0gdGhpcy5zdGF0ZVN1YmplY3QuZ2V0VmFsdWUoKS5maW5kKHN0ZXAgPT4gc3RlcC5uYW1lID09IHN0ZXBfbmFtZSk7XHJcbiAgICAgICAgcmV0dXJuIChzdGVwX3Jlc3VsdCAmJiBzdGVwX3Jlc3VsdC5kYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRTdGVwcyA9IChzdGVwczogU3RlcElbXSwgYXV0b2hhbmRsZSA9IHRydWUpID0+IHtcclxuICAgICAgICBsZXQgZmluYWxfc3RlcHMgPSBbXTtcclxuICAgICAgICBzdGVwcy5mb3JFYWNoKChzdGVwLCBpKSA9PiBmaW5hbF9zdGVwcy5wdXNoKG5ldyBTdGVwKHN0ZXAubmFtZSwgc3RlcC5wcmlvcml0eSB8fCAoaSArIDEpKSkpO1xyXG4gICAgICAgIHRoaXMuc3RhdGVTdWJqZWN0Lm5leHQoZmluYWxfc3RlcHMpO1xyXG4gICAgXHJcbiAgICAgICAgLy8gT2J0ZW5lciBJUCB5IHViaWNhY2nDs25cclxuICAgICAgICBmb3JrSm9pbih7XHJcbiAgICAgICAgICAgIGlwOiB0aGlzLmlwU2VydmljZS5nZXRJcCgpLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZihudWxsKSkpLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogdGhpcy5pcFNlcnZpY2UuZ2V0TG9jYXRpb24oKS5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpKVxyXG4gICAgICAgIH0pLnN1YnNjcmliZShyZXN1bHRzID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgICAgaXA6IHJlc3VsdHMuaXA/LmlwIHx8ICd1bmtub3duJyxcclxuICAgICAgICAgICAgICAgIGNvdW50cnk6IHJlc3VsdHMubG9jYXRpb24/LmNvdW50cnkgfHwgJ3Vua25vd24nLFxyXG4gICAgICAgICAgICAgICAgY2l0eTogcmVzdWx0cy5sb2NhdGlvbj8uY2l0eSB8fCAndW5rbm93bidcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgY29uc3QgcXVlcnlTdHJpbmcgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHBhcmFtcykudG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgY29uc3QgdXJsV2l0aFBhcmFtcyA9IGAke3RoaXMuZ2V0SGFzUHVyY2hhc2VDb25kaXRpb25zKCl9PyR7cXVlcnlTdHJpbmd9YDtcclxuICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmdldEVycm9yTm90SGFuZGxlcih1cmxXaXRoUGFyYW1zKS50b1Byb21pc2UoKS50aGVuKFxyXG4gICAgICAgICAgICAgICAgcmVzID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2UuY2FsbEV2ZW50KCdjaGVja291dF9pbml0JywgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5jYXJ0TG9jYWwsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeTogdGhpcy5jYXJ0TG9jYWw/LmN1cnJlbmN5LCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuY2FydExvY2FsPy50b3RhbCBcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRTdGVwUmVhZHkgPSBhc3luYyAoc3RlcF9udW1iZXIsIGRhdGEsIG9yZGVyPywgYXV0b21hdGljPykgPT4ge1xyXG4gICAgICAgIGF3YWl0IHRoaXMucmVzdGFydEFsbFN0ZXBzRnJvbShzdGVwX251bWJlcik7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBzdGVwcyA9IHRoaXMuc3RhdGVTdWJqZWN0LmdldFZhbHVlKCk7XHJcbiAgICAgICAgICAgIHN0ZXBzLmZpbmQoc3RlcCA9PiBzdGVwLnByaW9yaXR5ID09IHN0ZXBfbnVtYmVyKS5yZWFkeShkYXRhKTtcclxuICAgICAgICAgICAgdGhpcy5zdGF0ZVN1YmplY3QubmV4dChzdGVwcyk7XHJcblxyXG4gICAgICAgICAgICBpZiAob3JkZXIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3JkZXJTdWJqZWN0Lm5leHQob3JkZXIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b3RhbCA9IG9yZGVyLnRvdGFscy50b3RhbDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNDaGVja291dFJlYWR5KCkpIHtcclxuICAgICAgICAgICAgICAgIGlmIChzdGVwc1tzdGVwcy5sZW5ndGggLSAxXS5uYW1lID09ICdzaGlwbWVudCcpIHtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25SZWFkeVN1YmplY3QubmV4dCh0cnVlKTtcclxuICAgICAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0sIDE1MCk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0U3RlcERvaW5nID0gYXN5bmMgKHN0ZXBfbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgbGV0IHN0ZXBzID0gdGhpcy5zdGF0ZVN1YmplY3QuZ2V0VmFsdWUoKTtcclxuICAgICAgICBzdGVwcyA9IGF3YWl0IHRoaXMucmVzdGFydEFsbFN0ZXBzRnJvbShzdGVwX251bWJlciwgZmFsc2UsIGZhbHNlKTtcclxuICAgICAgICBzdGVwcy5maW5kKHN0ZXAgPT4gc3RlcC5wcmlvcml0eSA9PSBzdGVwX251bWJlcikuZG9pbmcoKTtcclxuICAgICAgICB0aGlzLnN0YXRlU3ViamVjdC5uZXh0KHN0ZXBzKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXN0YXJ0QWxsU3RlcHNGcm9tID0gKHN0ZXBfbnVtYmVyLCBpbmNsdWRlZCA9IHRydWUsIHVwZGF0ZSA9IHRydWUpID0+IHtcclxuICAgICAgICBsZXQgc3RlcHMgPSB0aGlzLnN0YXRlU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG4gICAgICAgIHN0ZXBzID0gc3RlcHMubWFwKChzdGVwKSA9PiB7XHJcbiAgICAgICAgICAgIGluY2x1ZGVkXHJcbiAgICAgICAgICAgICAgICA/IChzdGVwLnByaW9yaXR5ID49IHN0ZXBfbnVtYmVyKSAmJiBzdGVwLnJlc3RhcnQoKVxyXG4gICAgICAgICAgICAgICAgOiAoc3RlcC5wcmlvcml0eSA+IHN0ZXBfbnVtYmVyKSAmJiBzdGVwLnJlc3RhcnQoKVxyXG4gICAgICAgICAgICByZXR1cm4gc3RlcDtcclxuICAgICAgICB9KVxyXG4gICAgICAgIHVwZGF0ZSAmJiB0aGlzLnN0YXRlU3ViamVjdC5uZXh0KHN0ZXBzKTtcclxuICAgICAgICByZXR1cm4gc3RlcHM7XHJcbiAgICB9XHJcblxyXG4gICAgaXNDaGVja291dFJlYWR5ID0gKCkgPT4ge1xyXG4gICAgICAgIGxldCBzdGVwcyA9IHRoaXMuc3RhdGVTdWJqZWN0LnZhbHVlO1xyXG4gICAgICAgIGNvbnN0IHN0ZXBfbWlzc2luZyA9IHN0ZXBzLmZpbmQoc3RlcCA9PiBzdGVwLmlzUGVuZGluZygpKTtcclxuICAgICAgICByZXR1cm4gIXN0ZXBfbWlzc2luZztcclxuICAgIH1cclxuXHJcbiAgICBpc1N0ZXBSZWFkeSA9IChzdGVwX25hbWUpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZVN1YmplY3QuZ2V0VmFsdWUoKS5maW5kKHN0ZXAgPT4gc3RlcC5uYW1lID09IHN0ZXBfbmFtZSkuaXNSZWFkeSgpXHJcbiAgICB9O1xyXG5cclxuICAgIHNldE9yZGVyID0gKG9yZGVyKSA9PiB7IHRoaXMub3JkZXIgPSBvcmRlciwgdGhpcy5vcmRlclN1YmplY3QubmV4dChvcmRlcikgfTtcclxuICAgIGdldE9yZGVyID0gKCkgPT4gdGhpcy5vcmRlciB8fCB0aGlzLm9yZGVyU3ViamVjdC52YWx1ZTtcclxuXHJcbiAgICBwcml2YXRlIGNvbXBsZXRlT3JkZXIgPSAoKSA9PiB0aGlzLmNvbm5lY3Rpb24ucHV0KHRoaXMuY29tcGxldGVBcGkoKSwgeyBlbWFpbDogdGhpcy5jaGVja291dF9kYXRhLmVtYWlsLCBub3RlczogdGhpcy5jaGVja291dF9kYXRhLm5vdGVzIHx8ICcnIH0pLnRvUHJvbWlzZSgpO1xyXG5cclxuICAgIGNvbXBsZXRlID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZ1N1YmplY3QubmV4dCh0cnVlKTtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gYXdhaXQgdGhpcy5jb21wbGV0ZU9yZGVyKCk7XHJcbiAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQuZXJyb3IpIHtcclxuICAgICAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5jaGFuZ2VIYXZlVG9VcGRhdGUoZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xyXG4gICAgICAgICAgICByZXR1cm4gKHsgb2s6IGZhbHNlLCByZXF1aXJlX2xvZ2luOiB0cnVlLCBtZXNzYWdlOiAnbm90LWNvbXBsZXRlZCcgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0T3JkZXIocmVzdWx0KTtcclxuICAgICAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2UuY2FsbEV2ZW50KCdwdXJjaGFzZScsIHsgLi4ucmVzdWx0LCBjdXJyZW5jeTogcmVzdWx0LmN1cnJlbmN5LCB2YWx1ZTogcmVzdWx0LnRvdGFsIH0pO1xyXG4gICAgICAgIHRoaXMuY2FydFNlcnZpY2UuY2xlYXJBbmRSZXNldENhcnQoKTtcclxuICAgICAgICB0aGlzLmNhbkNoZWNrb3V0U3ViamVjdC5uZXh0KGZhbHNlKTtcclxuICAgICAgICB0aGlzLm9uUmVhZHlTdWJqZWN0Lm5leHQoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMubG9hZGluZ1N1YmplY3QubmV4dChmYWxzZSk7XHJcbiAgICAgICAgcmV0dXJuICh7IG9rOiB0cnVlLCByZXF1aXJlX2xvZ2luOiBmYWxzZSwgbWVzc2FnZTogJycgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlQXNvY2lhdGVkRGF0YSA9IChjYXJ0OiBhbnkpID0+IHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy5vcmRlclV0aWxzLmdldFByb21vdGlvbnMoY2FydCk7XHJcbiAgICAgICAgaWYgKHRoaXMuYXV0aFNlcnZpY2UuZ2V0VXNlclByb2ZpbGVBc1VzZXIoKT8uaXNXaG9sZXNhbGVyKCkgJiYgY2FydC50b3RhbHMudGF4ZXMgIT0gMCkge1xyXG4gICAgICAgICAgICBsZXQgdG90YWwgPSB7IC4uLnJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gfTtcclxuICAgICAgICAgICAgcmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXSA9IHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICd0YXhlcycsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAndGF4ZXMnLFxyXG4gICAgICAgICAgICAgICAgYW1vdW50OiBjYXJ0LnRvdGFscy50YXhlc1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRvdGFsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHNoaXBtZW50ID0gcmVzdWx0Py5maW5kKHByb21vdGlvbiA9PiBwcm9tb3Rpb24udHlwZSA9PSBcInNoaXBtZW50XCIpO1xyXG4gICAgICAgIGlmICghc2hpcG1lbnQgJiYgY2FydC50b3RhbHMuc2hpcHBpbmcgIT0gMCkge1xyXG5cclxuICAgICAgICAgICAgaWYgKHJlc3VsdD8ubGVuZ3RoICYmICFyZXN1bHQuZmluZChpdGVtID0+IGl0ZW0udHlwZSA9PT0gXCJzaGlwbWVudFwiKSkge1xyXG4gICAgICAgICAgICAgICAgbGV0IHRvdGFsID0geyAuLi5yZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdIH07XHJcbiAgICAgICAgICAgICAgICByZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzaGlwbWVudCcsXHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3NoaXBtZW50JyxcclxuICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IGNhcnQudG90YWxzLnNoaXBwaW5nXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh0b3RhbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hc29jaWF0ZWREYXRhU3ViamVjdC5uZXh0KHJlc3VsdCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzdGFydENoZWNrb3V0ID0gKCkgPT4geyB9XHJcblxyXG59XHJcbiJdfQ==
@@ -12,7 +12,7 @@ let IpService = class IpService {
12
12
  constructor(http) {
13
13
  this.http = http;
14
14
  this.apiGetIp = 'https://api64.ipify.org?format=json'; // También puedes usar 'https://api.myip.com'
15
- this.apiGetLocation = 'http://ip-api.com/json/';
15
+ this.apiGetLocation = 'https://ipinfo.io/json';
16
16
  }
17
17
  getIp() {
18
18
  return this.http.get(this.apiGetIp);
@@ -31,4 +31,4 @@ IpService = __decorate([
31
31
  })
32
32
  ], IpService);
33
33
  export { IpService };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXAtYWRkcmVzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2lwLWFkZHJlc3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBTWxELElBQWEsU0FBUyxHQUF0QixNQUFhLFNBQVM7SUFHcEIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUY1QixhQUFRLEdBQUcscUNBQXFDLENBQUMsQ0FBQyw2Q0FBNkM7UUFDL0YsbUJBQWMsR0FBRyx5QkFBeUIsQ0FBQztJQUNYLENBQUM7SUFFekMsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFOUMsQ0FBQztDQUNBLENBQUE7O1lBVjJCLFVBQVU7OztBQUh6QixTQUFTO0lBSHJCLFVBQVUsQ0FBQztRQUNWLFVBQVUsRUFBRSxNQUFNO0tBQ25CLENBQUM7R0FDVyxTQUFTLENBYXJCO1NBYlksU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSXBTZXJ2aWNlIHtcclxuICBwcml2YXRlIGFwaUdldElwID0gJ2h0dHBzOi8vYXBpNjQuaXBpZnkub3JnP2Zvcm1hdD1qc29uJzsgLy8gVGFtYmnDqW4gcHVlZGVzIHVzYXIgJ2h0dHBzOi8vYXBpLm15aXAuY29tJ1xyXG4gIHByaXZhdGUgYXBpR2V0TG9jYXRpb24gPSAnaHR0cDovL2lwLWFwaS5jb20vanNvbi8nO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gIGdldElwKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmFwaUdldElwKTtcclxuICB9XHJcblxyXG4gIGdldExvY2F0aW9uKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmFwaUdldExvY2F0aW9uKTtcclxuICBcclxufVxyXG59XHJcbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXAtYWRkcmVzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2lwLWFkZHJlc3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBTWxELElBQWEsU0FBUyxHQUF0QixNQUFhLFNBQVM7SUFHcEIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUY1QixhQUFRLEdBQUcscUNBQXFDLENBQUMsQ0FBQyw2Q0FBNkM7UUFDL0YsbUJBQWMsR0FBRyx3QkFBd0IsQ0FBQztJQUNWLENBQUM7SUFFekMsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFOUMsQ0FBQztDQUNBLENBQUE7O1lBVjJCLFVBQVU7OztBQUh6QixTQUFTO0lBSHJCLFVBQVUsQ0FBQztRQUNWLFVBQVUsRUFBRSxNQUFNO0tBQ25CLENBQUM7R0FDVyxTQUFTLENBYXJCO1NBYlksU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSXBTZXJ2aWNlIHtcclxuICBwcml2YXRlIGFwaUdldElwID0gJ2h0dHBzOi8vYXBpNjQuaXBpZnkub3JnP2Zvcm1hdD1qc29uJzsgLy8gVGFtYmnDqW4gcHVlZGVzIHVzYXIgJ2h0dHBzOi8vYXBpLm15aXAuY29tJ1xyXG4gIHByaXZhdGUgYXBpR2V0TG9jYXRpb24gPSAnaHR0cHM6Ly9pcGluZm8uaW8vanNvbic7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgZ2V0SXAoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuYXBpR2V0SXApO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9jYXRpb24oKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuYXBpR2V0TG9jYXRpb24pO1xyXG4gIFxyXG59XHJcbn1cclxuIl19
@@ -55,6 +55,7 @@ var ContactFormNewsEcComponent = /** @class */ (function (_super) {
55
55
  _this.codeBlock = 'newsletter_block';
56
56
  _this.blocks = [];
57
57
  _this.blockContact = null;
58
+ _this.params = {};
58
59
  _this.form_data = {};
59
60
  _this.sendForm = function (form, success_message) {
60
61
  console.log('enviando...');
@@ -116,6 +117,7 @@ var ContactFormNewsEcComponent = /** @class */ (function (_super) {
116
117
  };
117
118
  ContactFormNewsEcComponent.prototype.ngOnInit = function () {
118
119
  var _this = this;
120
+ this.paramsService.parameters.subscribe(function (res) { return _this.params = res; });
119
121
  if (!this.block) {
120
122
  this.blocksService.getBlocks('home');
121
123
  this.blocksService.blocks.pipe(filter(function (blocks) { return (blocks && blocks.length > 0); })).subscribe(function (blocks) {
@@ -175,4 +177,4 @@ var ContactFormNewsEcComponent = /** @class */ (function (_super) {
175
177
  return ContactFormNewsEcComponent;
176
178
  }(ComponentHelper));
177
179
  export { ContactFormNewsEcComponent };
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1mb3JtLW5ld3MtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9ibG9ja3MtZWMvYmxvY2stbmV3c2xldHRlci1lYy9jb250YWN0LWZvcm0tbmV3cy1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBUTVEO0lBQWdELDhDQUFlO0lBZTNELG9DQUFzQixhQUEyQixFQUFTLE1BQWMsRUFBUyxNQUFpQixFQUFTLGFBQWdDLEVBQ2hJLFdBQXdCLEVBQVksYUFBNEIsRUFBd0IsR0FBRztRQUR0RyxZQUVJLGlCQUFPLFNBWVY7UUFkcUIsbUJBQWEsR0FBYixhQUFhLENBQWM7UUFBUyxZQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVMsWUFBTSxHQUFOLE1BQU0sQ0FBVztRQUFTLG1CQUFhLEdBQWIsYUFBYSxDQUFtQjtR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QyxVQUFVLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQWFELDZDQUFRLEdBQVIsVUFBUyxlQUF1QixFQUFFLEdBQUc7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsZUFBZSxDQUFDO0lBQzdDLENBQUM7SUFzQkQsbURBQWMsR0FBZCxVQUFnQixJQUFXO1FBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQy9FLENBQUM7O2dCQXJHb0MsWUFBWTtnQkFBaUIsTUFBTTtnQkFBaUIsU0FBUztnQkFBd0IsaUJBQWlCO2dCQUNuSCxXQUFXO2dCQUEyQixhQUFhO2dEQUFHLE1BQU0sU0FBQyxLQUFLOztJQWRqRjtRQUFSLEtBQUssRUFBRTs2REFBTztJQUNOO1FBQVIsS0FBSyxFQUFFO2dFQUFrQjtJQUNqQjtRQUFSLEtBQUssRUFBRTt1RUFBaUI7SUFDaEI7UUFBUixLQUFLLEVBQUU7K0RBQVU7SUFDVDtRQUFSLEtBQUssRUFBRTtpRUFBK0I7SUFOOUIsMEJBQTBCO1FBTnRDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSwwQkFBMEI7WUFDcEMsKzBFQUFvRDtZQUVwRCxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7O1NBQzdCLENBQUM7UUFpQmdGLFdBQUEsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO09BaEJsRiwwQkFBMEIsQ0FzSHRDO0lBQUQsaUNBQUM7Q0FBQSxBQXRIRCxDQUFnRCxlQUFlLEdBc0g5RDtTQXRIWSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XHJcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvcmUuY29uc3RzJztcclxuaW1wb3J0IHsgQmxvY2tUeXBlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ibG9jayc7XHJcbmltcG9ydCB7IEJsb2Nrc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvYmxvY2tzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYXJhbWV0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BhcmFtZXRlcnMuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1jb250YWN0LWZvcm0tbmV3cy1lYycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC1mb3JtLW5ld3MtZWMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY29udGFjdC1mb3JtLW5ld3MtZWMuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW0Jsb2Nrc1NlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250YWN0Rm9ybU5ld3NFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgQElucHV0KCkgYmxvY2s7XHJcbiAgICBASW5wdXQoKSBjb21wbGV0ZSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgc3VjY2Vzc19tZXNzYWdlO1xyXG4gICAgQElucHV0KCkgc3ViamVjdD87XHJcbiAgICBASW5wdXQoKSBjb2RlQmxvY2sgPSAnbmV3c2xldHRlcl9ibG9jaydcclxuXHJcbiAgICBwdWJsaWMgYmxvY2tzOiBCbG9ja1R5cGVbXSA9IFtdO1xyXG4gICAgcHVibGljIGJsb2NrQ29udGFjdDogYW55ID0gbnVsbDtcclxuXHJcbiAgICBwdWJsaWMgY29udGFjdF9mb3JtOiBGb3JtR3JvdXA7XHJcbiAgICBwdWJsaWMgbmV3c2xldHRlcl9mb3JtOiBGb3JtR3JvdXA7XHJcbiAgICBwcm90ZWN0ZWQgZm9ybV9kYXRhOiBhbnkgPSB7fTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLCBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsIHB1YmxpYyBjb25zdHM6IENvbnN0YW50cywgcHVibGljIHBhcmFtc1NlcnZpY2U6IFBhcmFtZXRlcnNTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHByb3RlY3RlZCBibG9ja3NTZXJ2aWNlOiBCbG9ja3NTZXJ2aWNlLCBASW5qZWN0KCdlbnYnKSBwdWJsaWMgZW52ICkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5uZXdzbGV0dGVyX2Zvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgICAgICAgbmFtZTogWycnLCBbXV0sXHJcbiAgICAgICAgICAgIGVtYWlsOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAgICAgICB0ZWxlcGhvbmU6IFsnJywgW11dLFxyXG4gICAgICAgICAgICBzdWJqZWN0OiBbJycsIFtdXSxcclxuICAgICAgICAgICAgYm9keTogWycnLCBbXV0sXHJcbiAgICAgICAgICAgIGNhcHRjaGE6IFsnJywgW11dLFxyXG4gICAgICAgICAgICB0ZXJtczogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgICB9KVxyXG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXHJcblxyXG4gICAgfVxyXG5cclxuICAgIHNlbmRGb3JtID0gKGZvcm0sIHN1Y2Nlc3NfbWVzc2FnZSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdlbnZpYW5kby4uLicpXHJcbiAgICAgICAgaWYgKGZvcm0udmFsaWQgJiYgKGZvcm0udmFsdWUuZW1haWwuaW5jbHVkZXMoJ0AnKSkpIHtcclxuICAgICAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdmb3JtX2NvZGUnLCB0aGlzLmJsb2NrLmNvZGUpXHJcbiAgICAgICAgICAgIHRoaXMuc2VuZFZhbHVlKCduYW1lJykgJiYgZm9ybURhdGEuYXBwZW5kKCduYW1lJywgZm9ybS5nZXQoJ25hbWUnKS52YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5zZW5kVmFsdWUoJ2VtYWlsJykgJiYgZm9ybURhdGEuYXBwZW5kKCdlbWFpbCcsIGZvcm0uZ2V0KCdlbWFpbCcpLnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgndGVsZXBob25lJykgJiYgZm9ybURhdGEuYXBwZW5kKCd0ZWxlcGhvbmUnLCBmb3JtLmdldCgndGVsZXBob25lJykudmFsdWUpXHJcbiAgICAgICAgICAgIHRoaXMuc2VuZFZhbHVlKCdzdWJqZWN0JykgJiYgZm9ybURhdGEuYXBwZW5kKCdzdWJqZWN0JywgZm9ybS5nZXQoJ3N1YmplY3QnKS52YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5zZW5kVmFsdWUoJ2JvZHknKSAmJiBmb3JtRGF0YS5hcHBlbmQoJ2JvZHknLCBmb3JtLmdldCgnYm9keScpLnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgnYXR0YWNobWVudHMnKSAmJiBmb3JtRGF0YS5hcHBlbmQoJ2F0dGFjaG1lbnQnLCBmb3JtLmdldCgnYXR0YWNobWVudCcpLnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLmJsb2Nrc1NlcnZpY2Uuc2VuZFJlc3BvbnNlKGZvcm1EYXRhKS50b1Byb21pc2UoKS50aGVuKFxyXG4gICAgICAgICAgICAgICAgcmVzID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5ld3NsZXR0ZXJfZm9ybS5yZXNldCgpXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3codGhpcy5zdWNjZXNzX21lc3NhZ2UgfHwgc3VjY2Vzc19tZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93KCdpbnF1aXJ5LWVycm9yJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ2ludmFsaWQtZm9ybScpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuYmxvY2spIHtcclxuICAgICAgICAgICAgdGhpcy5ibG9ja3NTZXJ2aWNlLmdldEJsb2NrcygnaG9tZScpIDtcclxuICAgICAgICAgICAgdGhpcy5ibG9ja3NTZXJ2aWNlLmJsb2Nrcy5waXBlKGZpbHRlcigoYmxvY2tzKSA9PiAoYmxvY2tzICYmIGJsb2Nrcy5sZW5ndGggPiAwKSkpLnN1YnNjcmliZShibG9ja3MgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ibG9jayA9IHRoaXMuYmxvY2tzU2VydmljZS5nZXRCbG9ja0J5Q29kZSh0aGlzLmNvZGVCbG9jayk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ibG9jay5jb250YWN0Rm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmxvY2sgPSB0aGlzLmJsb2NrLmNvbnRhY3RGb3JtXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrID0geyAuLi50aGlzLmJsb2NrLCAuLi50aGlzLmJsb2NrLnRyYW5zbGF0aW9uc1t0aGlzLmNvbnN0cy5nZXRMb2NhbGUoKV0gfTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmliZUJsb2NrTmV3cyh0aGlzLmJsb2NrKTtcclxuXHJcbiAgICAgICAgICAgIH0pICAgIFxyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLmJsb2NrID0geyAuLi50aGlzLmJsb2NrLCAuLi50aGlzLmJsb2NrLnRyYW5zbGF0aW9uc1t0aGlzLmNvbnN0cy5nZXRMb2NhbGUoKV0gfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zdWJqZWN0ICYmIHRoaXMuc2V0U3ViamVjdCgpO1xyXG4gICAgICAgIHRoaXMuZWNPbkluaXQoKVxyXG4gICAgfVxyXG5cclxuICAgIHN1YnNjcmliZUJsb2NrTmV3cyA9IChibG9jazogYW55KSA9PiB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgc2V0U3ViamVjdCA9ICgpID0+IHtcclxuICAgICAgICB0aGlzLmNvbnRhY3RfZm9ybS5zZXRWYWx1ZSh7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuY29udGFjdF9mb3JtLnZhbHVlLFxyXG4gICAgICAgICAgICBzdWJqZWN0OiB0aGlzLnN1YmplY3RcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXNvbHZlZChjYXB0Y2hhUmVzcG9uc2U6IHN0cmluZywgcmVzKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtX2RhdGEuY2F0cGNoYSA9IGNhcHRjaGFSZXNwb25zZTtcclxuICAgIH1cclxuXHJcbiAgICBzdWJzY3JpYmUgPSAoKSA9PiB7XHJcbiAgICAgICAgLy8gUEVESVIgQUwgU0VSVklDSU8gU0UgTE8gU1VCU0NSSUJBLCBZIFJFU1BPTkRBIFNJIExPIFNVQlNDUklCScOTIE8gWUEgRVNUQUJBIFNVQlNDUklQVE9cclxuICAgIH1cclxuXHJcbiAgICB0b2FzdE5ld3NsZXR0ZXJGb3JtID0gKGUpID0+IHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdGhpcy5zZW5kRm9ybSh0aGlzLm5ld3NsZXR0ZXJfZm9ybSwgJ25ld3NsZXR0ZXItdGhhbmtzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VuZFZhbHVlID0gKGtleSkgPT4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGxldCBrZXlzZWFyY2ggPSBrZXlbMF0udG9VcHBlckNhc2UoKSArIGtleS5zbGljZSgxKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5ibG9jayAmJiB0aGlzLmJsb2NrWydzZW5kJyArIGtleXNlYXJjaF0gfHwgZmFsc2VcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICB0cmltQ2xhc3NCbG9jayAoY29kZTpzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gKGNvZGUuc3BsaXQoJy0nKS5sZW5ndGggPiAxKSA/IGNvZGUuc3BsaXQoJy0nKVsxXS50b0xvd2VyQ2FzZSgpIDogJydcclxuICAgIH1cclxuXHJcbn1cclxuIl19
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1mb3JtLW5ld3MtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9ibG9ja3MtZWMvYmxvY2stbmV3c2xldHRlci1lYy9jb250YWN0LWZvcm0tbmV3cy1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBUTVEO0lBQWdELDhDQUFlO0lBZTNELG9DQUFzQixhQUEyQixFQUFTLE1BQWMsRUFBUyxNQUFpQixFQUFTLGFBQWdDLEVBQ2hJLFdBQXdCLEVBQVksYUFBNEIsRUFBd0IsR0FBRztRQUR0RyxZQUVJLGlCQUFPLFNBWVY7UUFkcUIsbUJBQWEsR0FBYixhQUFhLENBQWM7UUFBUyxZQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVMsWUFBTSxHQUFOLE1BQU0sQ0FBVztRQUFTLG1CQUFhLEdBQWIsYUFBYSxDQUFtQjtR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O0lBQUQsaUNBQUM7Q0FBQSxBQXZIRCxDQUFnRCxlQUFlLEdBdUg5RDtTQXZIWSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XHJcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvcmUuY29uc3RzJztcclxuaW1wb3J0IHsgQmxvY2tUeXBlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ibG9jayc7XHJcbmltcG9ydCB7IEJsb2Nrc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvYmxvY2tzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYXJhbWV0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BhcmFtZXRlcnMuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1jb250YWN0LWZvcm0tbmV3cy1lYycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC1mb3JtLW5ld3MtZWMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY29udGFjdC1mb3JtLW5ld3MtZWMuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW0Jsb2Nrc1NlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250YWN0Rm9ybU5ld3NFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgQElucHV0KCkgYmxvY2s7XHJcbiAgICBASW5wdXQoKSBjb21wbGV0ZSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgc3VjY2Vzc19tZXNzYWdlO1xyXG4gICAgQElucHV0KCkgc3ViamVjdD87XHJcbiAgICBASW5wdXQoKSBjb2RlQmxvY2sgPSAnbmV3c2xldHRlcl9ibG9jaydcclxuXHJcbiAgICBwdWJsaWMgYmxvY2tzOiBCbG9ja1R5cGVbXSA9IFtdO1xyXG4gICAgcHVibGljIGJsb2NrQ29udGFjdDogYW55ID0gbnVsbDtcclxuICAgIHB1YmxpYyBwYXJhbXM6IGFueSA9IHt9O1xyXG4gICAgcHVibGljIGNvbnRhY3RfZm9ybTogRm9ybUdyb3VwO1xyXG4gICAgcHVibGljIG5ld3NsZXR0ZXJfZm9ybTogRm9ybUdyb3VwO1xyXG4gICAgcHJvdGVjdGVkIGZvcm1fZGF0YTogYW55ID0ge307XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHRvYXN0clNlcnZpY2U6IFRvYXN0U2VydmljZSwgcHVibGljIHJvdXRlcjogUm91dGVyLCBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsIHB1YmxpYyBwYXJhbXNTZXJ2aWNlOiBQYXJhbWV0ZXJzU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLCBwcm90ZWN0ZWQgYmxvY2tzU2VydmljZTogQmxvY2tzU2VydmljZSwgQEluamVjdCgnZW52JykgcHVibGljIGVudiApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMubmV3c2xldHRlcl9mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICAgICAgIG5hbWU6IFsnJywgW11dLFxyXG4gICAgICAgICAgICBlbWFpbDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgICAgICAgdGVsZXBob25lOiBbJycsIFtdXSxcclxuICAgICAgICAgICAgc3ViamVjdDogWycnLCBbXV0sXHJcbiAgICAgICAgICAgIGJvZHk6IFsnJywgW11dLFxyXG4gICAgICAgICAgICBjYXB0Y2hhOiBbJycsIFtdXSxcclxuICAgICAgICAgICAgdGVybXM6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBzZW5kRm9ybSA9IChmb3JtLCBzdWNjZXNzX21lc3NhZ2UpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygnZW52aWFuZG8uLi4nKVxyXG4gICAgICAgIGlmIChmb3JtLnZhbGlkICYmIChmb3JtLnZhbHVlLmVtYWlsLmluY2x1ZGVzKCdAJykpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZm9ybV9jb2RlJywgdGhpcy5ibG9jay5jb2RlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgnbmFtZScpICYmIGZvcm1EYXRhLmFwcGVuZCgnbmFtZScsIGZvcm0uZ2V0KCduYW1lJykudmFsdWUpXHJcbiAgICAgICAgICAgIHRoaXMuc2VuZFZhbHVlKCdlbWFpbCcpICYmIGZvcm1EYXRhLmFwcGVuZCgnZW1haWwnLCBmb3JtLmdldCgnZW1haWwnKS52YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5zZW5kVmFsdWUoJ3RlbGVwaG9uZScpICYmIGZvcm1EYXRhLmFwcGVuZCgndGVsZXBob25lJywgZm9ybS5nZXQoJ3RlbGVwaG9uZScpLnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgnc3ViamVjdCcpICYmIGZvcm1EYXRhLmFwcGVuZCgnc3ViamVjdCcsIGZvcm0uZ2V0KCdzdWJqZWN0JykudmFsdWUpXHJcbiAgICAgICAgICAgIHRoaXMuc2VuZFZhbHVlKCdib2R5JykgJiYgZm9ybURhdGEuYXBwZW5kKCdib2R5JywgZm9ybS5nZXQoJ2JvZHknKS52YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5zZW5kVmFsdWUoJ2F0dGFjaG1lbnRzJykgJiYgZm9ybURhdGEuYXBwZW5kKCdhdHRhY2htZW50JywgZm9ybS5nZXQoJ2F0dGFjaG1lbnQnKS52YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5ibG9ja3NTZXJ2aWNlLnNlbmRSZXNwb25zZShmb3JtRGF0YSkudG9Qcm9taXNlKCkudGhlbihcclxuICAgICAgICAgICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXdzbGV0dGVyX2Zvcm0ucmVzZXQoKVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93KHRoaXMuc3VjY2Vzc19tZXNzYWdlIHx8IHN1Y2Nlc3NfbWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0clNlcnZpY2Uuc2hvdygnaW5xdWlyeS1lcnJvcicpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93KCdpbnZhbGlkLWZvcm0nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5wYXJhbXNTZXJ2aWNlLnBhcmFtZXRlcnMuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLnBhcmFtcyA9IHJlcyk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmJsb2NrKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYmxvY2tzU2VydmljZS5nZXRCbG9ja3MoJ2hvbWUnKSA7XHJcbiAgICAgICAgICAgIHRoaXMuYmxvY2tzU2VydmljZS5ibG9ja3MucGlwZShmaWx0ZXIoKGJsb2NrcykgPT4gKGJsb2NrcyAmJiBibG9ja3MubGVuZ3RoID4gMCkpKS5zdWJzY3JpYmUoYmxvY2tzID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2sgPSB0aGlzLmJsb2Nrc1NlcnZpY2UuZ2V0QmxvY2tCeUNvZGUodGhpcy5jb2RlQmxvY2spO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYmxvY2suY29udGFjdEZvcm0pIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJsb2NrID0gdGhpcy5ibG9jay5jb250YWN0Rm9ybVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5ibG9jayA9IHsgLi4udGhpcy5ibG9jaywgLi4udGhpcy5ibG9jay50cmFuc2xhdGlvbnNbdGhpcy5jb25zdHMuZ2V0TG9jYWxlKCldIH07XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVCbG9ja05ld3ModGhpcy5ibG9jayk7XHJcblxyXG4gICAgICAgICAgICB9KSAgICBcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5ibG9jayA9IHsgLi4udGhpcy5ibG9jaywgLi4udGhpcy5ibG9jay50cmFuc2xhdGlvbnNbdGhpcy5jb25zdHMuZ2V0TG9jYWxlKCldIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc3ViamVjdCAmJiB0aGlzLnNldFN1YmplY3QoKTtcclxuICAgICAgICB0aGlzLmVjT25Jbml0KClcclxuICAgIH1cclxuXHJcbiAgICBzdWJzY3JpYmVCbG9ja05ld3MgPSAoYmxvY2s6IGFueSkgPT4ge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIHNldFN1YmplY3QgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb250YWN0X2Zvcm0uc2V0VmFsdWUoe1xyXG4gICAgICAgICAgICAuLi50aGlzLmNvbnRhY3RfZm9ybS52YWx1ZSxcclxuICAgICAgICAgICAgc3ViamVjdDogdGhpcy5zdWJqZWN0XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzb2x2ZWQoY2FwdGNoYVJlc3BvbnNlOiBzdHJpbmcsIHJlcykge1xyXG4gICAgICAgIHRoaXMuZm9ybV9kYXRhLmNhdHBjaGEgPSBjYXB0Y2hhUmVzcG9uc2U7XHJcbiAgICB9XHJcblxyXG4gICAgc3Vic2NyaWJlID0gKCkgPT4ge1xyXG4gICAgICAgIC8vIFBFRElSIEFMIFNFUlZJQ0lPIFNFIExPIFNVQlNDUklCQSwgWSBSRVNQT05EQSBTSSBMTyBTVUJTQ1JJQknDkyBPIFlBIEVTVEFCQSBTVUJTQ1JJUFRPXHJcbiAgICB9XHJcblxyXG4gICAgdG9hc3ROZXdzbGV0dGVyRm9ybSA9IChlKSA9PiB7XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHRoaXMuc2VuZEZvcm0odGhpcy5uZXdzbGV0dGVyX2Zvcm0sICduZXdzbGV0dGVyLXRoYW5rcycpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbmRWYWx1ZSA9IChrZXkpID0+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBsZXQga2V5c2VhcmNoID0ga2V5WzBdLnRvVXBwZXJDYXNlKCkgKyBrZXkuc2xpY2UoMSkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmxvY2sgJiYgdGhpcy5ibG9ja1snc2VuZCcgKyBrZXlzZWFyY2hdIHx8IGZhbHNlXHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgdHJpbUNsYXNzQmxvY2sgKGNvZGU6c3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIChjb2RlLnNwbGl0KCctJykubGVuZ3RoID4gMSkgPyBjb2RlLnNwbGl0KCctJylbMV0udG9Mb3dlckNhc2UoKSA6ICcnXHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -71,13 +71,13 @@ import { Injectable } from '@angular/core';
71
71
  import { ConnectionService } from '../../api/connection.service';
72
72
  import { CartService } from '../cart.service';
73
73
  import { Constants } from '../../core.consts';
74
- import { BehaviorSubject, ReplaySubject, combineLatest, forkJoin } from 'rxjs';
74
+ import { BehaviorSubject, ReplaySubject, combineLatest, forkJoin, of } from 'rxjs';
75
75
  import { Step } from '../../classes/checkout/step';
76
76
  import { OrderUtilityService } from '../../utils/order-util.service';
77
77
  import { AnalyticsService } from '../analytics.service';
78
78
  import { AuthService } from '../auth.service';
79
79
  import { ErrorHandlerService } from './error-handler.service';
80
- import { filter } from 'rxjs/operators';
80
+ import { catchError, filter } from 'rxjs/operators';
81
81
  import { Router } from '@angular/router';
82
82
  import { ToastService } from '../../utils/toast.service';
83
83
  import { IpService } from '../ip-address.service';
@@ -133,18 +133,16 @@ var CheckoutService = /** @class */ (function () {
133
133
  _this.stateSubject.next(final_steps);
134
134
  // Obtener IP y ubicación
135
135
  forkJoin({
136
- ip: _this.ipService.getIp(),
137
- location: _this.ipService.getLocation()
136
+ ip: _this.ipService.getIp().pipe(catchError(function () { return of(null); })),
137
+ location: _this.ipService.getLocation().pipe(catchError(function () { return of(null); }))
138
138
  }).subscribe(function (results) {
139
139
  var _a, _b, _c;
140
140
  var params = {
141
- ip: (_a = results.ip) === null || _a === void 0 ? void 0 : _a.ip,
142
- country: (_b = results.location) === null || _b === void 0 ? void 0 : _b.country,
143
- city: (_c = results.location) === null || _c === void 0 ? void 0 : _c.city
141
+ ip: ((_a = results.ip) === null || _a === void 0 ? void 0 : _a.ip) || 'unknown',
142
+ country: ((_b = results.location) === null || _b === void 0 ? void 0 : _b.country) || 'unknown',
143
+ city: ((_c = results.location) === null || _c === void 0 ? void 0 : _c.city) || 'unknown'
144
144
  };
145
- // Convertir los datos a una cadena de consulta
146
145
  var queryString = new URLSearchParams(params).toString();
147
- // Agregar la cadena de consulta a la URL del endpoint
148
146
  var urlWithParams = _this.getHasPurchaseConditions() + "?" + queryString;
149
147
  _this.connection.getErrorNotHandler(urlWithParams).toPromise().then(function (res) {
150
148
  var _a, _b;
@@ -315,4 +313,4 @@ var CheckoutService = /** @class */ (function () {
315
313
  return CheckoutService;
316
314
  }());
317
315
  export { CheckoutService };
318
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9jaGVja291dC9jaGVja291dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBUSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBS2xEO0lBK0JJLHlCQUFvQixVQUE2QixFQUNyQyxX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WUFBWTtnQkFDZixtQkFBbUI7Z0JBQ2IsZ0JBQWdCO2dCQUN0QixXQUFXO2dCQUNmLE1BQU07Z0JBQ0EsbUJBQW1CO2dCQUN0QixTQUFTOzs7SUF4Q3ZCLGVBQWU7UUFIM0IsVUFBVSxDQUFDO1lBQ1IsVUFBVSxFQUFFLE1BQU07U0FDckIsQ0FBQztPQUNXLGVBQWUsQ0FvTjNCOzBCQXpPRDtDQXlPQyxBQXBORCxJQW9OQztTQXBOWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBpL2Nvbm5lY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vY2FydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29yZS5jb25zdHMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFJlcGxheVN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFN0ZXBJLCBTdGVwVHlwZUkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3N0ZXAnO1xyXG5pbXBvcnQgeyBTdGVwIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9jaGVja291dC9zdGVwJztcclxuaW1wb3J0IHsgQ2hlY2tvdXREYXRhLCBDaGVja291dERhdGFUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jaGVja291dC1kYXRhJztcclxuaW1wb3J0IHsgT3JkZXJVdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL29yZGVyLXV0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi9hbmFseXRpY3Muc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvdXNlcic7XHJcbmltcG9ydCB7IEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IGZpbHRlciwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvdG9hc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IElwU2VydmljZSB9IGZyb20gJy4uL2lwLWFkZHJlc3Muc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrb3V0U2VydmljZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgYmFzZUFwaSA9ICgpID0+ICdzaG9wLWFwaS8nICsgdGhpcy5jb25zdHMuZ2V0Q2hhbm5lbCgpICsgJy9jaGVja291dC8nICsgdGhpcy5jYXJ0U2VydmljZS5nZXRDYXJ0VG9rZW4oKTtcclxuICAgIGdldFBheW1lbnRNZXRob2RzQXBpID0gKCkgPT4gdGhpcy5iYXNlQXBpKCkgKyAnL3BheW1lbnQnO1xyXG4gICAgcHV0QWRkcmVzc0FwaSA9ICgpID0+IHRoaXMuYmFzZUFwaSgpICsgJy9hZGRyZXNzJztcclxuICAgIHB1dFBheW1lbnRBcGkgPSAobWV0aG9kKSA9PiB0aGlzLmJhc2VBcGkoKSArICcvcGF5bWVudC8nICsgbWV0aG9kO1xyXG4gICAgY29tcGxldGVBcGkgPSAoKSA9PiB0aGlzLmJhc2VBcGkoKSArICcvY29tcGxldGUnO1xyXG4gICAgcGVyc2lzdFNoaXBtZW50QXBpID0gKCkgPT4gJyc7XHJcbiAgICBnZXRQcmVmZXJlbmNlQXBpID0gKCkgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0cy5nZXRDaGFubmVsKCkgKyAnL21lcmNhZG8tcGFnby8nICsgdGhpcy5jYXJ0U2VydmljZS5nZXRDYXJ0VG9rZW4oKSArICcvcHJlZmVyZW5jZSc7XHJcbiAgICBnZXRIYXNQdXJjaGFzZUNvbmRpdGlvbnMgPSAoKSA9PiAnc2hvcC1hcGkvJyArIHRoaXMuY29uc3RzLmdldENoYW5uZWwoKSArICcvY2FydHMvJyArIHRoaXMuY2FydFNlcnZpY2UuZ2V0Q2FydFRva2VuKCkgKyAnL2hhc19wdXJjaGFzZV9jb25kaXRpb25zJztcclxuXHJcbiAgICBwcml2YXRlIGNhbkNoZWNrb3V0U3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgICBwcml2YXRlIG9uUmVhZHlTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0ZXBbXT4obnVsbCk7XHJcbiAgICBwcml2YXRlIGxvYWRpbmdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgICBwcml2YXRlIG9yZGVyU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICAgIHByaXZhdGUgYXNvY2lhdGVkRGF0YVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENoZWNrb3V0RGF0YVtdPihudWxsKTtcclxuICAgIHByaXZhdGUgb3JkZXI6IGFueTtcclxuICAgIHByaXZhdGUgY2hlY2tvdXRfZGF0YTogYW55ID0ge307XHJcbiAgICBwdWJsaWMgdG90YWw7XHJcbiAgICBwcml2YXRlIGNhcnRMb2NhbDtcclxuICAgIHByaXZhdGUgdXNlcjogVXNlcjtcclxuXHJcbiAgICBwdWJsaWMgb3JkZXIkID0gdGhpcy5vcmRlclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBwdWJsaWMgc3RhdGUkID0gdGhpcy5zdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBwdWJsaWMgbG9hZGluZyQgPSB0aGlzLmxvYWRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgcHVibGljIGNhbkNoZWNrb3V0JCA9IHRoaXMuY2FuQ2hlY2tvdXRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgcHVibGljIGFzb2NpYXRlZERhdGEkID0gdGhpcy5hc29jaWF0ZWREYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIHB1YmxpYyBvblJlYWR5JCA9IHRoaXMub25SZWFkeVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGNvbnN0czogQ29uc3RhbnRzLFxyXG4gICAgICAgIHByaXZhdGUgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgb3JkZXJVdGlsczogT3JkZXJVdGlsaXR5U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGFuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyOiBFcnJvckhhbmRsZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgaXBTZXJ2aWNlOiBJcFNlcnZpY2UpIHtcclxuXHJcbiAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5jYXJ0U2VydmljZS5jYXJ0SXRlbXMsIHRoaXMuY2FydFNlcnZpY2UubG9hZGluZ10pLnN1YnNjcmliZSgoW2l0ZW1zLCBsb2FkaW5nXSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIWxvYWRpbmcgJiYgaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jYW5DaGVja291dFN1YmplY3QubmV4dCh0cnVlKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5nZXRUb3RhbEFtb3VudCgpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG90YWwgPSByZXM7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9KVxyXG4gICAgICAgIHRoaXMuY2FydFNlcnZpY2UuY2FydC5zdWJzY3JpYmUoY2FydCA9PiBjYXJ0ICYmICh0aGlzLmNhcnRMb2NhbCA9IGNhcnQpICYmIHRoaXMudXBkYXRlQXNvY2lhdGVkRGF0YShjYXJ0KSk7XHJcbiAgICAgICAgdGhpcy5vcmRlciQuc3Vic2NyaWJlKG9yZGVyID0+IG9yZGVyICYmIHRoaXMudXBkYXRlQXNvY2lhdGVkRGF0YShvcmRlcikpXHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRVc2VyUHJvZmlsZSgpLnN1YnNjcmliZSh1c2VyID0+IHRoaXMudXNlciA9IHVzZXIpXHJcbiAgICAgICAgdGhpcy5lcnJvckhhbmRsZXIuZXJyb3IkLnBpcGUoZmlsdGVyKHJlcyA9PiByZXMgIT0gbnVsbCkpLnN1YnNjcmliZShcclxuICAgICAgICAgICAgcmVzID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXMuY29kZSAgPT0gJ291dF9vZl9zdG9jaycgfHwgcmVzLmNvZGUgID09ICdpdGVtc193aXRoX3Byb2R1Y3Rfb3JfcHJvZHVjdF92YXJpYW50X25vdF9lbmFibGVkJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93KCdyZWRpcmVjdC1jYXJ0JylcclxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2NhcnQnKVxyXG4gICAgICAgICAgICAgICAgICAgIH0sIDIwMDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZU9yZGVyID0gKG9yZGVyKSA9PiBvcmRlciAmJiB0aGlzLm9yZGVyU3ViamVjdC5uZXh0KG9yZGVyKTtcclxuXHJcbiAgICBnZXRTdGVwRGF0YSA9IChzdGVwX25hbWU6IFN0ZXBUeXBlSSkgPT4ge1xyXG4gICAgICAgIGxldCBzdGVwX3Jlc3VsdCA9IHRoaXMuc3RhdGVTdWJqZWN0LmdldFZhbHVlKCkuZmluZChzdGVwID0+IHN0ZXAubmFtZSA9PSBzdGVwX25hbWUpO1xyXG4gICAgICAgIHJldHVybiAoc3RlcF9yZXN1bHQgJiYgc3RlcF9yZXN1bHQuZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0U3RlcHMgPSAoc3RlcHM6IFN0ZXBJW10sIGF1dG9oYW5kbGUgPSB0cnVlKSA9PiB7XHJcbiAgICAgICAgbGV0IGZpbmFsX3N0ZXBzID0gW107XHJcbiAgICAgICAgc3RlcHMuZm9yRWFjaCgoc3RlcCwgaSkgPT4gZmluYWxfc3RlcHMucHVzaChuZXcgU3RlcChzdGVwLm5hbWUsIHN0ZXAucHJpb3JpdHkgfHwgKGkgKyAxKSkpKTtcclxuICAgICAgICB0aGlzLnN0YXRlU3ViamVjdC5uZXh0KGZpbmFsX3N0ZXBzKTtcclxuICAgIFxyXG4gICAgICAgIC8vIE9idGVuZXIgSVAgeSB1YmljYWNpw7NuXHJcbiAgICAgICAgZm9ya0pvaW4oe1xyXG4gICAgICAgICAgICBpcDogdGhpcy5pcFNlcnZpY2UuZ2V0SXAoKSxcclxuICAgICAgICAgICAgbG9jYXRpb246IHRoaXMuaXBTZXJ2aWNlLmdldExvY2F0aW9uKClcclxuICAgICAgICB9KS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAgIGlwOiByZXN1bHRzLmlwPy5pcCxcclxuICAgICAgICAgICAgICAgIGNvdW50cnk6IHJlc3VsdHMubG9jYXRpb24/LmNvdW50cnksXHJcbiAgICAgICAgICAgICAgICBjaXR5OiByZXN1bHRzLmxvY2F0aW9uPy5jaXR5XHJcbiAgICAgICAgICAgIH07XHJcbiAgICBcclxuICAgICAgICAgICAgLy8gQ29udmVydGlyIGxvcyBkYXRvcyBhIHVuYSBjYWRlbmEgZGUgY29uc3VsdGFcclxuICAgICAgICAgICAgY29uc3QgcXVlcnlTdHJpbmcgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHBhcmFtcykudG9TdHJpbmcoKTtcclxuICAgIFxyXG4gICAgICAgICAgICAvLyBBZ3JlZ2FyIGxhIGNhZGVuYSBkZSBjb25zdWx0YSBhIGxhIFVSTCBkZWwgZW5kcG9pbnRcclxuICAgICAgICAgICAgY29uc3QgdXJsV2l0aFBhcmFtcyA9IGAke3RoaXMuZ2V0SGFzUHVyY2hhc2VDb25kaXRpb25zKCl9PyR7cXVlcnlTdHJpbmd9YDtcclxuICAgIFxyXG4gICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZ2V0RXJyb3JOb3RIYW5kbGVyKHVybFdpdGhQYXJhbXMpLnRvUHJvbWlzZSgpLnRoZW4oXHJcbiAgICAgICAgICAgICAgICByZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS5jYWxsRXZlbnQoJ2NoZWNrb3V0X2luaXQnLCB7IC4uLnRoaXMuY2FydExvY2FsLCBjdXJyZW5jeTogdGhpcy5jYXJ0TG9jYWw/LmN1cnJlbmN5LCB2YWx1ZTogdGhpcy5jYXJ0TG9jYWw/LnRvdGFsIH0pXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0U3RlcFJlYWR5ID0gYXN5bmMgKHN0ZXBfbnVtYmVyLCBkYXRhLCBvcmRlcj8sIGF1dG9tYXRpYz8pID0+IHtcclxuICAgICAgICBhd2FpdCB0aGlzLnJlc3RhcnRBbGxTdGVwc0Zyb20oc3RlcF9udW1iZXIpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgc3RlcHMgPSB0aGlzLnN0YXRlU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG4gICAgICAgICAgICBzdGVwcy5maW5kKHN0ZXAgPT4gc3RlcC5wcmlvcml0eSA9PSBzdGVwX251bWJlcikucmVhZHkoZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhdGVTdWJqZWN0Lm5leHQoc3RlcHMpO1xyXG5cclxuICAgICAgICAgICAgaWYgKG9yZGVyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVyU3ViamVjdC5uZXh0KG9yZGVyKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudG90YWwgPSBvcmRlci50b3RhbHMudG90YWw7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzQ2hlY2tvdXRSZWFkeSgpKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoc3RlcHNbc3RlcHMubGVuZ3RoIC0gMV0ubmFtZSA9PSAnc2hpcG1lbnQnKSB7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uUmVhZHlTdWJqZWN0Lm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9LCAxNTApO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFN0ZXBEb2luZyA9IGFzeW5jIChzdGVwX251bWJlcikgPT4ge1xyXG4gICAgICAgIGxldCBzdGVwcyA9IHRoaXMuc3RhdGVTdWJqZWN0LmdldFZhbHVlKCk7XHJcbiAgICAgICAgc3RlcHMgPSBhd2FpdCB0aGlzLnJlc3RhcnRBbGxTdGVwc0Zyb20oc3RlcF9udW1iZXIsIGZhbHNlLCBmYWxzZSk7XHJcbiAgICAgICAgc3RlcHMuZmluZChzdGVwID0+IHN0ZXAucHJpb3JpdHkgPT0gc3RlcF9udW1iZXIpLmRvaW5nKCk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZVN1YmplY3QubmV4dChzdGVwcyk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzdGFydEFsbFN0ZXBzRnJvbSA9IChzdGVwX251bWJlciwgaW5jbHVkZWQgPSB0cnVlLCB1cGRhdGUgPSB0cnVlKSA9PiB7XHJcbiAgICAgICAgbGV0IHN0ZXBzID0gdGhpcy5zdGF0ZVN1YmplY3QuZ2V0VmFsdWUoKTtcclxuICAgICAgICBzdGVwcyA9IHN0ZXBzLm1hcCgoc3RlcCkgPT4ge1xyXG4gICAgICAgICAgICBpbmNsdWRlZFxyXG4gICAgICAgICAgICAgICAgPyAoc3RlcC5wcmlvcml0eSA+PSBzdGVwX251bWJlcikgJiYgc3RlcC5yZXN0YXJ0KClcclxuICAgICAgICAgICAgICAgIDogKHN0ZXAucHJpb3JpdHkgPiBzdGVwX251bWJlcikgJiYgc3RlcC5yZXN0YXJ0KClcclxuICAgICAgICAgICAgcmV0dXJuIHN0ZXA7XHJcbiAgICAgICAgfSlcclxuICAgICAgICB1cGRhdGUgJiYgdGhpcy5zdGF0ZVN1YmplY3QubmV4dChzdGVwcyk7XHJcbiAgICAgICAgcmV0dXJuIHN0ZXBzO1xyXG4gICAgfVxyXG5cclxuICAgIGlzQ2hlY2tvdXRSZWFkeSA9ICgpID0+IHtcclxuICAgICAgICBsZXQgc3RlcHMgPSB0aGlzLnN0YXRlU3ViamVjdC52YWx1ZTtcclxuICAgICAgICBjb25zdCBzdGVwX21pc3NpbmcgPSBzdGVwcy5maW5kKHN0ZXAgPT4gc3RlcC5pc1BlbmRpbmcoKSk7XHJcbiAgICAgICAgcmV0dXJuICFzdGVwX21pc3Npbmc7XHJcbiAgICB9XHJcblxyXG4gICAgaXNTdGVwUmVhZHkgPSAoc3RlcF9uYW1lKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVTdWJqZWN0LmdldFZhbHVlKCkuZmluZChzdGVwID0+IHN0ZXAubmFtZSA9PSBzdGVwX25hbWUpLmlzUmVhZHkoKVxyXG4gICAgfTtcclxuXHJcbiAgICBzZXRPcmRlciA9IChvcmRlcikgPT4geyB0aGlzLm9yZGVyID0gb3JkZXIsIHRoaXMub3JkZXJTdWJqZWN0Lm5leHQob3JkZXIpIH07XHJcbiAgICBnZXRPcmRlciA9ICgpID0+IHRoaXMub3JkZXIgfHwgdGhpcy5vcmRlclN1YmplY3QudmFsdWU7XHJcblxyXG4gICAgcHJpdmF0ZSBjb21wbGV0ZU9yZGVyID0gKCkgPT4gdGhpcy5jb25uZWN0aW9uLnB1dCh0aGlzLmNvbXBsZXRlQXBpKCksIHsgZW1haWw6IHRoaXMuY2hlY2tvdXRfZGF0YS5lbWFpbCwgbm90ZXM6IHRoaXMuY2hlY2tvdXRfZGF0YS5ub3RlcyB8fCAnJyB9KS50b1Byb21pc2UoKTtcclxuXHJcbiAgICBjb21wbGV0ZSA9IGFzeW5jICgpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQodHJ1ZSk7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY29tcGxldGVPcmRlcigpO1xyXG4gICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmVycm9yKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FydFNlcnZpY2UuY2hhbmdlSGF2ZVRvVXBkYXRlKGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgICAgcmV0dXJuICh7IG9rOiBmYWxzZSwgcmVxdWlyZV9sb2dpbjogdHJ1ZSwgbWVzc2FnZTogJ25vdC1jb21wbGV0ZWQnIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldE9yZGVyKHJlc3VsdCk7XHJcbiAgICAgICAgdGhpcy5hbmFseXRpY3NTZXJ2aWNlLmNhbGxFdmVudCgncHVyY2hhc2UnLCB7IC4uLnJlc3VsdCwgY3VycmVuY3k6IHJlc3VsdC5jdXJyZW5jeSwgdmFsdWU6IHJlc3VsdC50b3RhbCB9KTtcclxuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmNsZWFyQW5kUmVzZXRDYXJ0KCk7XHJcbiAgICAgICAgdGhpcy5jYW5DaGVja291dFN1YmplY3QubmV4dChmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5vblJlYWR5U3ViamVjdC5uZXh0KGZhbHNlKTtcclxuICAgICAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xyXG4gICAgICAgIHJldHVybiAoeyBvazogdHJ1ZSwgcmVxdWlyZV9sb2dpbjogZmFsc2UsIG1lc3NhZ2U6ICcnIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUFzb2NpYXRlZERhdGEgPSAoY2FydDogYW55KSA9PiB7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMub3JkZXJVdGlscy5nZXRQcm9tb3Rpb25zKGNhcnQpO1xyXG4gICAgICAgIGlmICh0aGlzLmF1dGhTZXJ2aWNlLmdldFVzZXJQcm9maWxlQXNVc2VyKCk/LmlzV2hvbGVzYWxlcigpICYmIGNhcnQudG90YWxzLnRheGVzICE9IDApIHtcclxuICAgICAgICAgICAgbGV0IHRvdGFsID0geyAuLi5yZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdIH07XHJcbiAgICAgICAgICAgIHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gPSB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiAndGF4ZXMnLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJ3RheGVzJyxcclxuICAgICAgICAgICAgICAgIGFtb3VudDogY2FydC50b3RhbHMudGF4ZXNcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXN1bHQucHVzaCh0b3RhbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBzaGlwbWVudCA9IHJlc3VsdD8uZmluZChwcm9tb3Rpb24gPT4gcHJvbW90aW9uLnR5cGUgPT0gXCJzaGlwbWVudFwiKTtcclxuICAgICAgICBpZiAoIXNoaXBtZW50ICYmIGNhcnQudG90YWxzLnNoaXBwaW5nICE9IDApIHtcclxuXHJcbiAgICAgICAgICAgIGlmIChyZXN1bHQ/Lmxlbmd0aCAmJiAhcmVzdWx0LmZpbmQoaXRlbSA9PiBpdGVtLnR5cGUgPT09IFwic2hpcG1lbnRcIikpIHtcclxuICAgICAgICAgICAgICAgIGxldCB0b3RhbCA9IHsgLi4ucmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXSB9O1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXSA9IHtcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc2hpcG1lbnQnLFxyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdzaGlwbWVudCcsXHJcbiAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBjYXJ0LnRvdGFscy5zaGlwcGluZ1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2godG90YWwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYXNvY2lhdGVkRGF0YVN1YmplY3QubmV4dChyZXN1bHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlc3RhcnRDaGVja291dCA9ICgpID0+IHsgfVxyXG5cclxufVxyXG4iXX0=
316
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9jaGVja291dC9jaGVja291dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVuRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFRLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7QUFLbEQ7SUErQkks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b0JBQ1AsS0FBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUE7Z0JBQ3RDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNaO1FBQ0wsQ0FBQyxDQUNKLENBQUE7SUFDTCxDQUFDO0lBRUQsa0NBQVEsR0FBUjtJQUNBLENBQUM7O2dCQXBDK0IsaUJBQWlCO2dCQUN4QixXQUFXO2dCQUNoQixTQUFTO2dCQUNGLFlBQVk7Z0JBQ2YsbUJBQW1CO2dCQUNiLGdCQUFnQjtnQkFDdEIsV0FBVztnQkFDZixNQUFNO2dCQUNBLG1CQUFtQjtnQkFDdEIsU0FBUzs7O0lBeEN2QixlQUFlO1FBSDNCLFVBQVUsQ0FBQztZQUNSLFVBQVUsRUFBRSxNQUFNO1NBQ3JCLENBQUM7T0FDVyxlQUFlLENBcU4zQjswQkExT0Q7Q0EwT0MsQUFyTkQsSUFxTkM7U0FyTlksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9jb25uZWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uL2NhcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvcmUuY29uc3RzJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBSZXBsYXlTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmb3JrSm9pbiwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU3RlcEksIFN0ZXBUeXBlSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc3RlcCc7XHJcbmltcG9ydCB7IFN0ZXAgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2NoZWNrb3V0L3N0ZXAnO1xyXG5pbXBvcnQgeyBDaGVja291dERhdGEsIENoZWNrb3V0RGF0YVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NoZWNrb3V0LWRhdGEnO1xyXG5pbXBvcnQgeyBPcmRlclV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvb3JkZXItdXRpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uL2FuYWx5dGljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy91c2VyJztcclxuaW1wb3J0IHsgRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4vZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSXBTZXJ2aWNlIH0gZnJvbSAnLi4vaXAtYWRkcmVzcy5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tvdXRTZXJ2aWNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBiYXNlQXBpID0gKCkgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0cy5nZXRDaGFubmVsKCkgKyAnL2NoZWNrb3V0LycgKyB0aGlzLmNhcnRTZXJ2aWNlLmdldENhcnRUb2tlbigpO1xyXG4gICAgZ2V0UGF5bWVudE1ldGhvZHNBcGkgPSAoKSA9PiB0aGlzLmJhc2VBcGkoKSArICcvcGF5bWVudCc7XHJcbiAgICBwdXRBZGRyZXNzQXBpID0gKCkgPT4gdGhpcy5iYXNlQXBpKCkgKyAnL2FkZHJlc3MnO1xyXG4gICAgcHV0UGF5bWVudEFwaSA9IChtZXRob2QpID0+IHRoaXMuYmFzZUFwaSgpICsgJy9wYXltZW50LycgKyBtZXRob2Q7XHJcbiAgICBjb21wbGV0ZUFwaSA9ICgpID0+IHRoaXMuYmFzZUFwaSgpICsgJy9jb21wbGV0ZSc7XHJcbiAgICBwZXJzaXN0U2hpcG1lbnRBcGkgPSAoKSA9PiAnJztcclxuICAgIGdldFByZWZlcmVuY2VBcGkgPSAoKSA9PiAnc2hvcC1hcGkvJyArIHRoaXMuY29uc3RzLmdldENoYW5uZWwoKSArICcvbWVyY2Fkby1wYWdvLycgKyB0aGlzLmNhcnRTZXJ2aWNlLmdldENhcnRUb2tlbigpICsgJy9wcmVmZXJlbmNlJztcclxuICAgIGdldEhhc1B1cmNoYXNlQ29uZGl0aW9ucyA9ICgpID0+ICdzaG9wLWFwaS8nICsgdGhpcy5jb25zdHMuZ2V0Q2hhbm5lbCgpICsgJy9jYXJ0cy8nICsgdGhpcy5jYXJ0U2VydmljZS5nZXRDYXJ0VG9rZW4oKSArICcvaGFzX3B1cmNoYXNlX2NvbmRpdGlvbnMnO1xyXG5cclxuICAgIHByaXZhdGUgY2FuQ2hlY2tvdXRTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICAgIHByaXZhdGUgb25SZWFkeVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgICBwcml2YXRlIHN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RlcFtdPihudWxsKTtcclxuICAgIHByaXZhdGUgbG9hZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIHByaXZhdGUgb3JkZXJTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG4gICAgcHJpdmF0ZSBhc29jaWF0ZWREYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2hlY2tvdXREYXRhW10+KG51bGwpO1xyXG4gICAgcHJpdmF0ZSBvcmRlcjogYW55O1xyXG4gICAgcHJpdmF0ZSBjaGVja291dF9kYXRhOiBhbnkgPSB7fTtcclxuICAgIHB1YmxpYyB0b3RhbDtcclxuICAgIHByaXZhdGUgY2FydExvY2FsO1xyXG4gICAgcHJpdmF0ZSB1c2VyOiBVc2VyO1xyXG5cclxuICAgIHB1YmxpYyBvcmRlciQgPSB0aGlzLm9yZGVyU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIHB1YmxpYyBzdGF0ZSQgPSB0aGlzLnN0YXRlU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIHB1YmxpYyBsb2FkaW5nJCA9IHRoaXMubG9hZGluZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBwdWJsaWMgY2FuQ2hlY2tvdXQkID0gdGhpcy5jYW5DaGVja291dFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICBwdWJsaWMgYXNvY2lhdGVkRGF0YSQgPSB0aGlzLmFzb2NpYXRlZERhdGFTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgcHVibGljIG9uUmVhZHkkID0gdGhpcy5vblJlYWR5U3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbm5lY3Rpb246IENvbm5lY3Rpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY29uc3RzOiBDb25zdGFudHMsXHJcbiAgICAgICAgcHJpdmF0ZSB0b2FzdHJTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBvcmRlclV0aWxzOiBPcmRlclV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBlcnJvckhhbmRsZXI6IEVycm9ySGFuZGxlclNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBpcFNlcnZpY2U6IElwU2VydmljZSkge1xyXG5cclxuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmNhcnRTZXJ2aWNlLmNhcnRJdGVtcywgdGhpcy5jYXJ0U2VydmljZS5sb2FkaW5nXSkuc3Vic2NyaWJlKChbaXRlbXMsIGxvYWRpbmddKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghbG9hZGluZyAmJiBpdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhbkNoZWNrb3V0U3ViamVjdC5uZXh0KHRydWUpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmdldFRvdGFsQW1vdW50KCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b3RhbCA9IHJlcztcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5jYXJ0LnN1YnNjcmliZShjYXJ0ID0+IGNhcnQgJiYgKHRoaXMuY2FydExvY2FsID0gY2FydCkgJiYgdGhpcy51cGRhdGVBc29jaWF0ZWREYXRhKGNhcnQpKTtcclxuICAgICAgICB0aGlzLm9yZGVyJC5zdWJzY3JpYmUob3JkZXIgPT4gb3JkZXIgJiYgdGhpcy51cGRhdGVBc29jaWF0ZWREYXRhKG9yZGVyKSlcclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldFVzZXJQcm9maWxlKCkuc3Vic2NyaWJlKHVzZXIgPT4gdGhpcy51c2VyID0gdXNlcilcclxuICAgICAgICB0aGlzLmVycm9ySGFuZGxlci5lcnJvciQucGlwZShmaWx0ZXIocmVzID0+IHJlcyAhPSBudWxsKSkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICByZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlcy5jb2RlICA9PSAnb3V0X29mX3N0b2NrJyB8fCByZXMuY29kZSAgPT0gJ2l0ZW1zX3dpdGhfcHJvZHVjdF9vcl9wcm9kdWN0X3ZhcmlhbnRfbm90X2VuYWJsZWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ3JlZGlyZWN0LWNhcnQnKVxyXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvY2FydCcpXHJcbiAgICAgICAgICAgICAgICAgICAgfSwgMjAwMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlT3JkZXIgPSAob3JkZXIpID0+IG9yZGVyICYmIHRoaXMub3JkZXJTdWJqZWN0Lm5leHQob3JkZXIpO1xyXG5cclxuICAgIGdldFN0ZXBEYXRhID0gKHN0ZXBfbmFtZTogU3RlcFR5cGVJKSA9PiB7XHJcbiAgICAgICAgbGV0IHN0ZXBfcmVzdWx0ID0gdGhpcy5zdGF0ZVN1YmplY3QuZ2V0VmFsdWUoKS5maW5kKHN0ZXAgPT4gc3RlcC5uYW1lID09IHN0ZXBfbmFtZSk7XHJcbiAgICAgICAgcmV0dXJuIChzdGVwX3Jlc3VsdCAmJiBzdGVwX3Jlc3VsdC5kYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRTdGVwcyA9IChzdGVwczogU3RlcElbXSwgYXV0b2hhbmRsZSA9IHRydWUpID0+IHtcclxuICAgICAgICBsZXQgZmluYWxfc3RlcHMgPSBbXTtcclxuICAgICAgICBzdGVwcy5mb3JFYWNoKChzdGVwLCBpKSA9PiBmaW5hbF9zdGVwcy5wdXNoKG5ldyBTdGVwKHN0ZXAubmFtZSwgc3RlcC5wcmlvcml0eSB8fCAoaSArIDEpKSkpO1xyXG4gICAgICAgIHRoaXMuc3RhdGVTdWJqZWN0Lm5leHQoZmluYWxfc3RlcHMpO1xyXG4gICAgXHJcbiAgICAgICAgLy8gT2J0ZW5lciBJUCB5IHViaWNhY2nDs25cclxuICAgICAgICBmb3JrSm9pbih7XHJcbiAgICAgICAgICAgIGlwOiB0aGlzLmlwU2VydmljZS5nZXRJcCgpLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZihudWxsKSkpLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogdGhpcy5pcFNlcnZpY2UuZ2V0TG9jYXRpb24oKS5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpKVxyXG4gICAgICAgIH0pLnN1YnNjcmliZShyZXN1bHRzID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgICAgaXA6IHJlc3VsdHMuaXA/LmlwIHx8ICd1bmtub3duJyxcclxuICAgICAgICAgICAgICAgIGNvdW50cnk6IHJlc3VsdHMubG9jYXRpb24/LmNvdW50cnkgfHwgJ3Vua25vd24nLFxyXG4gICAgICAgICAgICAgICAgY2l0eTogcmVzdWx0cy5sb2NhdGlvbj8uY2l0eSB8fCAndW5rbm93bidcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICBcclxuICAgICAgICAgICAgY29uc3QgcXVlcnlTdHJpbmcgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHBhcmFtcykudG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgY29uc3QgdXJsV2l0aFBhcmFtcyA9IGAke3RoaXMuZ2V0SGFzUHVyY2hhc2VDb25kaXRpb25zKCl9PyR7cXVlcnlTdHJpbmd9YDtcclxuICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmdldEVycm9yTm90SGFuZGxlcih1cmxXaXRoUGFyYW1zKS50b1Byb21pc2UoKS50aGVuKFxyXG4gICAgICAgICAgICAgICAgcmVzID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2UuY2FsbEV2ZW50KCdjaGVja291dF9pbml0JywgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5jYXJ0TG9jYWwsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW5jeTogdGhpcy5jYXJ0TG9jYWw/LmN1cnJlbmN5LCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuY2FydExvY2FsPy50b3RhbCBcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRTdGVwUmVhZHkgPSBhc3luYyAoc3RlcF9udW1iZXIsIGRhdGEsIG9yZGVyPywgYXV0b21hdGljPykgPT4ge1xyXG4gICAgICAgIGF3YWl0IHRoaXMucmVzdGFydEFsbFN0ZXBzRnJvbShzdGVwX251bWJlcik7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBzdGVwcyA9IHRoaXMuc3RhdGVTdWJqZWN0LmdldFZhbHVlKCk7XHJcbiAgICAgICAgICAgIHN0ZXBzLmZpbmQoc3RlcCA9PiBzdGVwLnByaW9yaXR5ID09IHN0ZXBfbnVtYmVyKS5yZWFkeShkYXRhKTtcclxuICAgICAgICAgICAgdGhpcy5zdGF0ZVN1YmplY3QubmV4dChzdGVwcyk7XHJcblxyXG4gICAgICAgICAgICBpZiAob3JkZXIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3JkZXJTdWJqZWN0Lm5leHQob3JkZXIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b3RhbCA9IG9yZGVyLnRvdGFscy50b3RhbDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNDaGVja291dFJlYWR5KCkpIHtcclxuICAgICAgICAgICAgICAgIGlmIChzdGVwc1tzdGVwcy5sZW5ndGggLSAxXS5uYW1lID09ICdzaGlwbWVudCcpIHtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25SZWFkeVN1YmplY3QubmV4dCh0cnVlKTtcclxuICAgICAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH0sIDE1MCk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0U3RlcERvaW5nID0gYXN5bmMgKHN0ZXBfbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgbGV0IHN0ZXBzID0gdGhpcy5zdGF0ZVN1YmplY3QuZ2V0VmFsdWUoKTtcclxuICAgICAgICBzdGVwcyA9IGF3YWl0IHRoaXMucmVzdGFydEFsbFN0ZXBzRnJvbShzdGVwX251bWJlciwgZmFsc2UsIGZhbHNlKTtcclxuICAgICAgICBzdGVwcy5maW5kKHN0ZXAgPT4gc3RlcC5wcmlvcml0eSA9PSBzdGVwX251bWJlcikuZG9pbmcoKTtcclxuICAgICAgICB0aGlzLnN0YXRlU3ViamVjdC5uZXh0KHN0ZXBzKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXN0YXJ0QWxsU3RlcHNGcm9tID0gKHN0ZXBfbnVtYmVyLCBpbmNsdWRlZCA9IHRydWUsIHVwZGF0ZSA9IHRydWUpID0+IHtcclxuICAgICAgICBsZXQgc3RlcHMgPSB0aGlzLnN0YXRlU3ViamVjdC5nZXRWYWx1ZSgpO1xyXG4gICAgICAgIHN0ZXBzID0gc3RlcHMubWFwKChzdGVwKSA9PiB7XHJcbiAgICAgICAgICAgIGluY2x1ZGVkXHJcbiAgICAgICAgICAgICAgICA/IChzdGVwLnByaW9yaXR5ID49IHN0ZXBfbnVtYmVyKSAmJiBzdGVwLnJlc3RhcnQoKVxyXG4gICAgICAgICAgICAgICAgOiAoc3RlcC5wcmlvcml0eSA+IHN0ZXBfbnVtYmVyKSAmJiBzdGVwLnJlc3RhcnQoKVxyXG4gICAgICAgICAgICByZXR1cm4gc3RlcDtcclxuICAgICAgICB9KVxyXG4gICAgICAgIHVwZGF0ZSAmJiB0aGlzLnN0YXRlU3ViamVjdC5uZXh0KHN0ZXBzKTtcclxuICAgICAgICByZXR1cm4gc3RlcHM7XHJcbiAgICB9XHJcblxyXG4gICAgaXNDaGVja291dFJlYWR5ID0gKCkgPT4ge1xyXG4gICAgICAgIGxldCBzdGVwcyA9IHRoaXMuc3RhdGVTdWJqZWN0LnZhbHVlO1xyXG4gICAgICAgIGNvbnN0IHN0ZXBfbWlzc2luZyA9IHN0ZXBzLmZpbmQoc3RlcCA9PiBzdGVwLmlzUGVuZGluZygpKTtcclxuICAgICAgICByZXR1cm4gIXN0ZXBfbWlzc2luZztcclxuICAgIH1cclxuXHJcbiAgICBpc1N0ZXBSZWFkeSA9IChzdGVwX25hbWUpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZVN1YmplY3QuZ2V0VmFsdWUoKS5maW5kKHN0ZXAgPT4gc3RlcC5uYW1lID09IHN0ZXBfbmFtZSkuaXNSZWFkeSgpXHJcbiAgICB9O1xyXG5cclxuICAgIHNldE9yZGVyID0gKG9yZGVyKSA9PiB7IHRoaXMub3JkZXIgPSBvcmRlciwgdGhpcy5vcmRlclN1YmplY3QubmV4dChvcmRlcikgfTtcclxuICAgIGdldE9yZGVyID0gKCkgPT4gdGhpcy5vcmRlciB8fCB0aGlzLm9yZGVyU3ViamVjdC52YWx1ZTtcclxuXHJcbiAgICBwcml2YXRlIGNvbXBsZXRlT3JkZXIgPSAoKSA9PiB0aGlzLmNvbm5lY3Rpb24ucHV0KHRoaXMuY29tcGxldGVBcGkoKSwgeyBlbWFpbDogdGhpcy5jaGVja291dF9kYXRhLmVtYWlsLCBub3RlczogdGhpcy5jaGVja291dF9kYXRhLm5vdGVzIHx8ICcnIH0pLnRvUHJvbWlzZSgpO1xyXG5cclxuICAgIGNvbXBsZXRlID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZ1N1YmplY3QubmV4dCh0cnVlKTtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gYXdhaXQgdGhpcy5jb21wbGV0ZU9yZGVyKCk7XHJcbiAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQuZXJyb3IpIHtcclxuICAgICAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5jaGFuZ2VIYXZlVG9VcGRhdGUoZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xyXG4gICAgICAgICAgICByZXR1cm4gKHsgb2s6IGZhbHNlLCByZXF1aXJlX2xvZ2luOiB0cnVlLCBtZXNzYWdlOiAnbm90LWNvbXBsZXRlZCcgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0T3JkZXIocmVzdWx0KTtcclxuICAgICAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2UuY2FsbEV2ZW50KCdwdXJjaGFzZScsIHsgLi4ucmVzdWx0LCBjdXJyZW5jeTogcmVzdWx0LmN1cnJlbmN5LCB2YWx1ZTogcmVzdWx0LnRvdGFsIH0pO1xyXG4gICAgICAgIHRoaXMuY2FydFNlcnZpY2UuY2xlYXJBbmRSZXNldENhcnQoKTtcclxuICAgICAgICB0aGlzLmNhbkNoZWNrb3V0U3ViamVjdC5uZXh0KGZhbHNlKTtcclxuICAgICAgICB0aGlzLm9uUmVhZHlTdWJqZWN0Lm5leHQoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMubG9hZGluZ1N1YmplY3QubmV4dChmYWxzZSk7XHJcbiAgICAgICAgcmV0dXJuICh7IG9rOiB0cnVlLCByZXF1aXJlX2xvZ2luOiBmYWxzZSwgbWVzc2FnZTogJycgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlQXNvY2lhdGVkRGF0YSA9IChjYXJ0OiBhbnkpID0+IHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy5vcmRlclV0aWxzLmdldFByb21vdGlvbnMoY2FydCk7XHJcbiAgICAgICAgaWYgKHRoaXMuYXV0aFNlcnZpY2UuZ2V0VXNlclByb2ZpbGVBc1VzZXIoKT8uaXNXaG9sZXNhbGVyKCkgJiYgY2FydC50b3RhbHMudGF4ZXMgIT0gMCkge1xyXG4gICAgICAgICAgICBsZXQgdG90YWwgPSB7IC4uLnJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gfTtcclxuICAgICAgICAgICAgcmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXSA9IHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICd0YXhlcycsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAndGF4ZXMnLFxyXG4gICAgICAgICAgICAgICAgYW1vdW50OiBjYXJ0LnRvdGFscy50YXhlc1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRvdGFsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHNoaXBtZW50ID0gcmVzdWx0Py5maW5kKHByb21vdGlvbiA9PiBwcm9tb3Rpb24udHlwZSA9PSBcInNoaXBtZW50XCIpO1xyXG4gICAgICAgIGlmICghc2hpcG1lbnQgJiYgY2FydC50b3RhbHMuc2hpcHBpbmcgIT0gMCkge1xyXG5cclxuICAgICAgICAgICAgaWYgKHJlc3VsdD8ubGVuZ3RoICYmICFyZXN1bHQuZmluZChpdGVtID0+IGl0ZW0udHlwZSA9PT0gXCJzaGlwbWVudFwiKSkge1xyXG4gICAgICAgICAgICAgICAgbGV0IHRvdGFsID0geyAuLi5yZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdIH07XHJcbiAgICAgICAgICAgICAgICByZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzaGlwbWVudCcsXHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3NoaXBtZW50JyxcclxuICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IGNhcnQudG90YWxzLnNoaXBwaW5nXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh0b3RhbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hc29jaWF0ZWREYXRhU3ViamVjdC5uZXh0KHJlc3VsdCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzdGFydENoZWNrb3V0ID0gKCkgPT4geyB9XHJcblxyXG59XHJcbiJdfQ==
@@ -12,7 +12,7 @@ var IpService = /** @class */ (function () {
12
12
  function IpService(http) {
13
13
  this.http = http;
14
14
  this.apiGetIp = 'https://api64.ipify.org?format=json'; // También puedes usar 'https://api.myip.com'
15
- this.apiGetLocation = 'http://ip-api.com/json/';
15
+ this.apiGetLocation = 'https://ipinfo.io/json';
16
16
  }
17
17
  IpService.prototype.getIp = function () {
18
18
  return this.http.get(this.apiGetIp);
@@ -32,4 +32,4 @@ var IpService = /** @class */ (function () {
32
32
  return IpService;
33
33
  }());
34
34
  export { IpService };
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXAtYWRkcmVzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2lwLWFkZHJlc3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBTWxEO0lBR0UsbUJBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFGNUIsYUFBUSxHQUFHLHFDQUFxQyxDQUFDLENBQUMsNkNBQTZDO1FBQy9GLG1CQUFjLEdBQUcseUJBQXlCLENBQUM7SUFDWCxDQUFDO0lBRXpDLHlCQUFLLEdBQUw7UUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsK0JBQVcsR0FBWDtRQUNFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTlDLENBQUM7O2dCQVQyQixVQUFVOzs7SUFIekIsU0FBUztRQUhyQixVQUFVLENBQUM7WUFDVixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDO09BQ1csU0FBUyxDQWFyQjtvQkFwQkQ7Q0FvQkMsQUFiRCxJQWFDO1NBYlksU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSXBTZXJ2aWNlIHtcclxuICBwcml2YXRlIGFwaUdldElwID0gJ2h0dHBzOi8vYXBpNjQuaXBpZnkub3JnP2Zvcm1hdD1qc29uJzsgLy8gVGFtYmnDqW4gcHVlZGVzIHVzYXIgJ2h0dHBzOi8vYXBpLm15aXAuY29tJ1xyXG4gIHByaXZhdGUgYXBpR2V0TG9jYXRpb24gPSAnaHR0cDovL2lwLWFwaS5jb20vanNvbi8nO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gIGdldElwKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmFwaUdldElwKTtcclxuICB9XHJcblxyXG4gIGdldExvY2F0aW9uKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmFwaUdldExvY2F0aW9uKTtcclxuICBcclxufVxyXG59XHJcbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXAtYWRkcmVzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2lwLWFkZHJlc3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBTWxEO0lBR0UsbUJBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFGNUIsYUFBUSxHQUFHLHFDQUFxQyxDQUFDLENBQUMsNkNBQTZDO1FBQy9GLG1CQUFjLEdBQUcsd0JBQXdCLENBQUM7SUFDVixDQUFDO0lBRXpDLHlCQUFLLEdBQUw7UUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsK0JBQVcsR0FBWDtRQUNFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTlDLENBQUM7O2dCQVQyQixVQUFVOzs7SUFIekIsU0FBUztRQUhyQixVQUFVLENBQUM7WUFDVixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDO09BQ1csU0FBUyxDQWFyQjtvQkFwQkQ7Q0FvQkMsQUFiRCxJQWFDO1NBYlksU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSXBTZXJ2aWNlIHtcclxuICBwcml2YXRlIGFwaUdldElwID0gJ2h0dHBzOi8vYXBpNjQuaXBpZnkub3JnP2Zvcm1hdD1qc29uJzsgLy8gVGFtYmnDqW4gcHVlZGVzIHVzYXIgJ2h0dHBzOi8vYXBpLm15aXAuY29tJ1xyXG4gIHByaXZhdGUgYXBpR2V0TG9jYXRpb24gPSAnaHR0cHM6Ly9pcGluZm8uaW8vanNvbic7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cclxuXHJcbiAgZ2V0SXAoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuYXBpR2V0SXApO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9jYXRpb24oKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuYXBpR2V0TG9jYXRpb24pO1xyXG4gIFxyXG59XHJcbn1cclxuIl19