ctt-babylon 0.25.9 → 0.25.10

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.
@@ -90,6 +90,7 @@ export class BabylonBookingWidgetComponent {
90
90
  'gbraid',
91
91
  'wbraid',
92
92
  'dclid',
93
+ 'GCL_AW_P',
93
94
  'msclkid',
94
95
  'vmcid',
95
96
  'yclid',
@@ -142,6 +143,12 @@ export class BabylonBookingWidgetComponent {
142
143
  if (gclidInfo)
143
144
  marketingData['gclid'] = gclidInfo;
144
145
  }
146
+ // 2.5 Nueva Cookie GCL_AW_P
147
+ if (!marketingData['gclid']) {
148
+ const gclAwP = getCookie('GCL_AW_P') || getCookie('gcl_aw_p');
149
+ if (gclAwP)
150
+ marketingData['GCL_AW_P'] = gclAwP;
151
+ }
145
152
  // 3. DoubleClick / Google Display nativo (_gcl_dc)
146
153
  const gclDc = getCookie('_gcl_dc');
147
154
  if (gclDc && gclDc.split('.').length >= 3) {
@@ -224,8 +231,9 @@ export class BabylonBookingWidgetComponent {
224
231
  else if (marketingData['gclid'] ||
225
232
  marketingData['wbraid'] ||
226
233
  marketingData['gbraid'] ||
227
- marketingData['dclid']) {
228
- marketingData['origin'] = 'google_cpc';
234
+ marketingData['dclid'] ||
235
+ marketingData['GCL_AW_P']) {
236
+ marketingData['origin'] = 'gads_cpc';
229
237
  }
230
238
  else if (marketingData['fbclid']) {
231
239
  marketingData['origin'] = 'meta_ads';
@@ -459,4 +467,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
459
467
  }], monthsToDisplay: [{
460
468
  type: Input
461
469
  }] } });
462
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1ib29raW5nLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tYm9va2luZy13aWRnZXQvYmFieWxvbi1ib29raW5nLXdpZGdldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUNILGVBQWUsRUFDZixTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFHTCxXQUFXLEVBRVgsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDOzs7QUFXdkIsSUFBSSxtQkFBbUIsR0FBeUIsSUFBSSxDQUFDO0FBRXJELFNBQVMsUUFBUSxDQUFDLEdBQVc7SUFDekIsSUFBSSxtQkFBbUI7UUFBRSxPQUFPLG1CQUFtQixDQUFDO0lBRXBELG1CQUFtQixHQUFHLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3hELDJCQUEyQjtRQUMzQixJQUFJLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLHNCQUFzQixFQUFFO1lBQ3RELE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTztTQUNWO1FBRUQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUNiLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLENB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Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUExBVEZPUk1fSUQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFieWxvbldpZGdldFNlYXJjaExvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9iYWJ5bG9uLXdpZGdldC1zZWFyY2gtbG9hZGVyLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gICAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgICAgIFdpZGdldFNlYXJjaDogYW55O1xuICAgICAgICBpbml0aWFsaXplV2lkZ2V0U2VhcmNoPzogKCkgPT4gdm9pZDtcbiAgICAgICAgZ2V0V2lkZ2V0SW5zdGFuY2U/OiAoaWQ6IHN0cmluZykgPT4gYW55O1xuICAgIH1cbn1cblxubGV0IHdpZGdldFNjcmlwdFByb21pc2U6IFByb21pc2U8dm9pZD4gfCBudWxsID0gbnVsbDtcblxuZnVuY3Rpb24gbG9hZE9uY2Uoc3JjOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAod2lkZ2V0U2NyaXB0UHJvbWlzZSkgcmV0dXJuIHdpZGdldFNjcmlwdFByb21pc2U7XG5cbiAgICB3aWRnZXRTY3JpcHRQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAvLyBTaSB5YSBleGlzdGUsIHJlc29sdmVtb3NcbiAgICAgICAgaWYgKHdpbmRvdy5XaWRnZXRTZWFyY2ggfHwgd2luZG93LmluaXRpYWxpemVXaWRnZXRTZWFyY2gpIHtcbiAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgcy5zcmMgPSBzcmM7XG4gICAgICAgIHMuYXN5bmMgPSB0cnVlO1xuICAgICAgICBzLm9ubG9hZCA9ICgpID0+IHJlc29sdmUoKTtcbiAgICAgICAgcy5vbmVycm9yID0gKCkgPT5cbiAgICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ05vIHNlIHB1ZG8gY2FyZ2FyIGVsIHNjcmlwdCBkZWwgd2lkZ2V0JykpO1xuICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHdpZGdldFNjcmlwdFByb21pc2U7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLWJhYnlsb24tYm9va2luZy13aWRnZXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgI3dpZGdldENvbnRhaW5lclxuICAgICAgICAgICAgW2lkXT1cIndpZGdldElkXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtYm9vay1pZF09XCJob3RlbElkXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtaG90ZWxdPVwidGlja2VyXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZW5naW5lXT1cImVuZ2luZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXRoZW1lXT1cInRoZW1lXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtY3VycmVuY3ldPVwiY3VycmVuY3lcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1sb2NhbGVdPVwibG9jYWxlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbGF5b3V0XT1cImxheW91dFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWxheW91dC1jb2x1bW5dPVwibGF5b3V0Q29sdW1uXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZGVmYXVsdC1hZHVsdHNdPVwiZGVmYXVsdEFkdWx0c1wiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWRlZmF1bHQtanVuaW9yXT1cImRlZmF1bHRKdW5pb3JcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1kZWZhdWx0LWNoaWxkcmVuXT1cImRlZmF1bHRDaGlsZHJlblwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXNob3ctcHJpY2VdPVwic2hvd1ByaWNlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1ob3RlbC1zZWxlY3Rvcl09XCJzaG93SG90ZWxTZWxlY3RvclwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXNob3ctcHJvbW8tY29kZV09XCJzaG93UHJvbW9Db2RlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1jaGlsZC1hZ2VzXT1cInNob3dDaGlsZEFnZXNcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1tYXgtY2hpbGRyZW5dPVwibWF4Q2hpbGRyZW5cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1tYXgtanVuaW9yXT1cIm1heEp1bmlvclwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWJhc2UtdXJsXT1cImJhc2VVcmxcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS11cmwtY2hhaW5dPVwidXJsQ2hhaW5cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS11cmwtaG90ZWxdPVwidXJsSG90ZWxcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1idXR0b24tdGV4dF09XCJidXR0b25UZXh0XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbWF4LXJvb21zXT1cIm1heFJvb21zXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtc2hvdy1hbGwtaG90ZWxzLW9wdGlvbl09XCJzaG93QWxsSG90ZWxzT3B0aW9uXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdGFyZ2V0LWJsYW5rXT1cInRhcmdldEJsYW5rXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtaG90ZWwtdGV4dF09XCJob3RlbFRleHRcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1taW4tZGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbWF4LWRhdGVdPVwibWF4RGF0ZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWRpc3BsYXktbW9udGhzXT1cIm1vbnRoc1RvRGlzcGxheVwiXG4gICAgICAgID48L2Rpdj5cbiAgICBgLFxufSlcbmV4cG9ydCBjbGFzcyBCYWJ5bG9uQm9va2luZ1dpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZCgnd2lkZ2V0Q29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICB3aWRnZXRDb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpIHdpZGdldElkID0gJ3dpZGdldC1zZWFyY2gnO1xuICAgIEBJbnB1dCgpIGhvdGVsSWQgPSAnYWxlY2FkJztcbiAgICBASW5wdXQoKSB0aWNrZXIgPSAnaG90ZWxtYXJpc3RlbC5jb20nO1xuICAgIEBJbnB1dCgpIHR5cGU6ICdjaGFpbicgfCAnaG90ZWwnIHwgc3RyaW5nID0gJ2NoYWluJztcbiAgICBASW5wdXQoKSBlbmdpbmU6ICd3aXRib29raW5nJyB8ICdyb2liYWNrJyB8IHN0cmluZyA9ICd3aXRib29raW5nJztcbiAgICBASW5wdXQoKSB0aGVtZTogJ2xpZ2h0JyB8ICdkYXJrJyB8IHN0cmluZyA9ICdsaWdodCc7XG4gICAgQElucHV0KCkgY3VycmVuY3kgPSAnRVVSJztcbiAgICBASW5wdXQoKSBsb2NhbGU/OiBzdHJpbmcgPSAnZXMtRVMnO1xuICAgIEBJbnB1dCgpIGxheW91dDogJ2lubGluZScgfCAnY29sdW1uJyB8IHN0cmluZyA9ICdpbmxpbmUnO1xuICAgIEBJbnB1dCgpIGRlZmF1bHRBZHVsdHMgPSAyO1xuICAgIEBJbnB1dCgpIGRlZmF1bHRDaGlsZHJlbiA9IDA7XG4gICAgQElucHV0KCkgZGVmYXVsdEp1bmlvciA9IDA7XG4gICAgQElucHV0KCkgc2hvd1ByaWNlID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hvd0hvdGVsU2VsZWN0b3IgPSB0cnVlO1xuICAgIEBJbnB1dCgpIHNob3dQcm9tb0NvZGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpIHNob3dDaGlsZEFnZXMgPSB0cnVlO1xuICAgIEBJbnB1dCgpIG1heENoaWxkcmVuPzogbnVtYmVyO1xuICAgIEBJbnB1dCgpIG1heEp1bmlvcj86IG51bWJlcjtcbiAgICBASW5wdXQoKSBiYXNlVXJsPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHVybENoYWluPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHVybEhvdGVsID0gJ2hvdGVsJztcbiAgICBASW5wdXQoKSBidXR0b25UZXh0Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxheW91dENvbHVtbj86IHN0cmluZztcbiAgICBASW5wdXQoKSBtYXhSb29tcz86IHN0cmluZztcbiAgICBASW5wdXQoKSBzaG93QWxsSG90ZWxzT3B0aW9uPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHRhcmdldEJsYW5rPzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBob3RlbFRleHQ/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbWF4RGF0ZT86IHN0cmluZzsgLyogMjAyOC0wMS0wMSAqL1xuICAgIEBJbnB1dCgpIG1pbkRhdGU/OiBzdHJpbmc7IC8qIDIwMjgtMDEtMDEgKi9cblxuICAgIEBJbnB1dCgpIGZsYWdUaW1lPzogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgbW9udGhzVG9EaXNwbGF5PzogbnVtYmVyID0gMTtcblxuICAgIHByaXZhdGUgbW91bnRlZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBwZW5kaW5nVGlja2VyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIHJldHJ5VGltZW91dDogYW55O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogb2JqZWN0LFxuICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBsb2FkZXI6IEJhYnlsb25XaWRnZXRTZWFyY2hMb2FkZXJTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm1JZCkpIHJldHVybjtcblxuICAgICAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dChcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vV2FpdCBmb3IgaW5wdXRzXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcihhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5tb3VudGVkKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIOKsh++4jyBQT04gQVFVw40gbGEgVVJMIHJlYWwgZGVsIHNjcmlwdCBkZSBXaXRib29raW5nXG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmxvYWRlci5sb2FkKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW91bnQoKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0aGlzLmZsYWdUaW1lID8gMzAwIDogMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3VudCgpIHtcbiAgICAgICAgaWYgKHRoaXMubW91bnRlZCkgcmV0dXJuO1xuICAgICAgICB0aGlzLm1vdW50ZWQgPSB0cnVlO1xuXG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy53aWRnZXRDb250YWluZXIubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAvLyBPcGNpw7NuIEEgKHNpIGV4aXN0ZSk6IGluaXQgZ2xvYmFsIG1hbnVhbFxuICAgICAgICBpZiAod2luZG93LmluaXRpYWxpemVXaWRnZXRTZWFyY2gpIHtcbiAgICAgICAgICAgIHdpbmRvdy5pbml0aWFsaXplV2lkZ2V0U2VhcmNoKCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gT3BjacOzbiBCOiBjb25zdHJ1Y3RvciAoU29sbyBlbnRyYSBzaSBubyBleGlzdGUgbGEgQSlcbiAgICAgICAgZWxzZSBpZiAod2luZG93LldpZGdldFNlYXJjaCkge1xuICAgICAgICAgICAgbmV3IHdpbmRvdy5XaWRnZXRTZWFyY2goZWwsIHt9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5qZWN0TWFya2V0aW5nUGFyYW1zKGVsKTtcblxuICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAgICAgJ2NsaWNrJyxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmluamVjdE1hcmtldGluZ1BhcmFtcyhlbCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5qZWN0TWFya2V0aW5nUGFyYW1zKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8XG4gICAgICAgICAgICB0eXBlb2Ygc2Vzc2lvblN0b3JhZ2UgPT09ICd1bmRlZmluZWQnXG4gICAgICAgIClcbiAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICAvLyBEaWNjaW9uYXJpb3MgZXN0w6FuZGFyW2NpdGU6IDIzXVxuICAgICAgICBjb25zdCBDTElDS19JRFMgPSBbXG4gICAgICAgICAgICAnZ2NsaWQnLFxuICAgICAgICAgICAgJ2dicmFpZCcsXG4gICAgICAgICAgICAnd2JyYWlkJyxcbiAgICAgICAgICAgICdkY2xpZCcsXG4gICAgICAgICAgICAnbXNjbGtpZCcsXG4gICAgICAgICAgICAndm1jaWQnLFxuICAgICAgICAgICAgJ3ljbGlkJyxcbiAgICAgICAgICAgICd5bWNsaWQnLFxuICAgICAgICAgICAgJ2ZiY2xpZCcsXG4gICAgICAgICAgICAndHRjbGlkJyxcbiAgICAgICAgICAgICdsaV9mYXRfaWQnLFxuICAgICAgICAgICAgJ3R3Y2xpZCcsXG4gICAgICAgICAgICAnZXBpaycsXG4gICAgICAgICAgICAncmR0X2NpZCcsXG4gICAgICAgICAgICAnU2NDaWQnLFxuICAgICAgICAgICAgJ3FjbGlkJyxcbiAgICAgICAgICAgICdzaScsXG4gICAgICAgICAgICAnYXdjbGlkJyxcbiAgICAgICAgICAgICd0YmxjaScsXG4gICAgICAgICAgICAnZGljYm8nLFxuICAgICAgICAgICAgJ2FkX2lkJyxcbiAgICAgICAgICAgICdpcmNsaWNraWQnLFxuICAgICAgICAgICAgJ2NqZXZlbnQnLFxuICAgICAgICBdO1xuICAgICAgICBjb25zdCBVVE1TID0gW1xuICAgICAgICAgICAgJ3V0bV9zb3VyY2UnLFxuICAgICAgICAgICAgJ3V0bV9tZWRpdW0nLFxuICAgICAgICAgICAgJ3V0bV9jYW1wYWlnbicsXG4gICAgICAgICAgICAndXRtX3Rlcm0nLFxuICAgICAgICAgICAgJ3V0bV9jb250ZW50JyxcbiAgICAgICAgXTtcblxuICAgICAgICBjb25zdCBtYXJrZXRpbmdEYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG5cbiAgICAgICAgLy8gLS0tIENBUEEgMTogVVJMIC0tLVxuICAgICAgICBbLi4uQ0xJQ0tfSURTLCAuLi5VVE1TLCAnb3JpZ2luJ10uZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWwgPSBwYXJhbXMuZ2V0KGtleSk7XG4gICAgICAgICAgICBpZiAodmFsKSBtYXJrZXRpbmdEYXRhW2tleV0gPSB2YWw7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIC0tLSBDQVBBIDI6IENPT0tJRVMgLS0tXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhtYXJrZXRpbmdEYXRhKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGdldENvb2tpZSA9IChuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXRjaCA9IGRvY3VtZW50LmNvb2tpZS5tYXRjaChcbiAgICAgICAgICAgICAgICAgICAgbmV3IFJlZ0V4cCgnKF58ICknICsgbmFtZSArICc9KFteO10rKScpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2ggPyBkZWNvZGVVUklDb21wb25lbnQobWF0Y2hbMl0pIDogbnVsbDsgLy8gZGVjb2RlVVJJQ29tcG9uZW50IHBvciBzaSB2aWVuZSBjb24gY2FyYWN0ZXJlcyByYXJvc1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgLy8gMS4gR29vZ2xlIEFkcyBuYXRpdm8gKF9nY2xfYXcpXG4gICAgICAgICAgICBjb25zdCBnY2xBdyA9IGdldENvb2tpZSgnX2djbF9hdycpO1xuICAgICAgICAgICAgaWYgKGdjbEF3ICYmIGdjbEF3LnNwbGl0KCcuJykubGVuZ3RoID49IDMpIHtcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydnY2xpZCddID0gZ2NsQXcuc3BsaXQoJy4nKVsyXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gMi4gU2FsdmF2aWRhczogQ29va2llIHBlcnNvbmFsaXphZGEgZGUgdnVlc3RybyBlbnRvcm5vIChnY2xpZF9pbmZvKVxuICAgICAgICAgICAgaWYgKCFtYXJrZXRpbmdEYXRhWydnY2xpZCddKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ2NsaWRJbmZvID0gZ2V0Q29va2llKCdnY2xpZF9pbmZvJyk7XG4gICAgICAgICAgICAgICAgaWYgKGdjbGlkSW5mbykgbWFya2V0aW5nRGF0YVsnZ2NsaWQnXSA9IGdjbGlkSW5mbztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gMy4gRG91YmxlQ2xpY2sgLyBHb29nbGUgRGlzcGxheSBuYXRpdm8gKF9nY2xfZGMpXG4gICAgICAgICAgICBjb25zdCBnY2xEYyA9IGdldENvb2tpZSgnX2djbF9kYycpO1xuICAgICAgICAgICAgaWYgKGdjbERjICYmIGdjbERjLnNwbGl0KCcuJykubGVuZ3RoID49IDMpIHtcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydkY2xpZCddID0gZ2NsRGMuc3BsaXQoJy4nKVsyXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gNC4gTWV0YSBBZHMgKF9mYnApXG4gICAgICAgICAgICBjb25zdCBmYnAgPSBnZXRDb29raWUoJ19mYnAnKTtcbiAgICAgICAgICAgIGlmIChmYnApIG1hcmtldGluZ0RhdGFbJ2ZiY2xpZCddID0gZmJwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tIENBUEEgMzogREFUQUxBWUVSIC0tLVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhtYXJrZXRpbmdEYXRhKS5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAgICh3aW5kb3cgYXMgYW55KS5kYXRhTGF5ZXJcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBkbCA9ICh3aW5kb3cgYXMgYW55KS5kYXRhTGF5ZXIgYXMgYW55W107XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gZGwubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gZGxbaV07XG4gICAgICAgICAgICAgICAgWy4uLkNMSUNLX0lEUywgLi4uVVRNUywgJ3RyYWZmaWNfc291cmNlJywgJ29yaWdpbiddLmZvckVhY2goXG4gICAgICAgICAgICAgICAgICAgIChrZXkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtW2tleV0gJiYgIW1hcmtldGluZ0RhdGFba2V5XSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbmFsS2V5ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5ID09PSAndHJhZmZpY19zb3VyY2UnID8gJ29yaWdpbicgOiBrZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVtmaW5hbEtleV0gPSBpdGVtW2tleV07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhtYXJrZXRpbmdEYXRhKS5sZW5ndGggPiAwKSBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLSBDQVBBIDQ6IFJFRkVSRU5URSBFWFRFUk5PIChUUsOBRklDTyBPUkfDgU5JQ08gTlVFVk8pIC0tLVxuICAgICAgICAvLyBTb2xvIGV2YWx1YW1vcyBlbCByZWZlcnJlciBzaSBsYSBVUkwsIENvb2tpZXMgeSBHVE0gdmVuw61hbiBsaW1waW9zXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhtYXJrZXRpbmdEYXRhKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHJlZmVycmVyID0gZG9jdW1lbnQucmVmZXJyZXJcbiAgICAgICAgICAgICAgICA/IGRvY3VtZW50LnJlZmVycmVyLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICA6ICcnO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEhvc3QgPSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAgICAgLy8gU2kgaGF5IHJlZmVyZW50ZSB5IE5PIGluY2x1eWUgbnVlc3RybyBwcm9waW8gZG9taW5pbywgZXMgdW5hIFZJU0lUQSBOVUVWQSBFWFRFUk5BXG4gICAgICAgICAgICBpZiAocmVmZXJyZXIgJiYgIXJlZmVycmVyLmluY2x1ZGVzKGN1cnJlbnRIb3N0KSkge1xuICAgICAgICAgICAgICAgIGlmIChyZWZlcnJlci5pbmNsdWRlcygnZ29vZ2xlLicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICdnb29nbGVfb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ2JpbmcuJykpXG4gICAgICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ29yaWdpbiddID0gJ2Jpbmdfb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ3lhaG9vLicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICd5YWhvb19vcmdhbmljJztcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChyZWZlcnJlci5pbmNsdWRlcygnZHVja2R1Y2tnby4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAnZHVja2R1Y2tnb19vcmdhbmljJztcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChyZWZlcnJlci5pbmNsdWRlcygneWFuZGV4LicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICd5YW5kZXhfb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ2JhaWR1LicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICdiYWlkdV9vcmdhbmljJztcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChyZWZlcnJlci5pbmNsdWRlcygnZWNvc2lhLicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICdlY29zaWFfb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ3F3YW50LicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICdxd2FudF9vcmdhbmljJztcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChyZWZlcnJlci5pbmNsdWRlcygnYXNrLicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICdhc2tfb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ25hdmVyLicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICduYXZlcl9vcmdhbmljJztcbiAgICAgICAgICAgICAgICBlbHNlIG1hcmtldGluZ0RhdGFbJ29yaWdpbiddID0gJ3JlZmVycmFsX290aGVyJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLSBDQVBBIDU6IFJFQ1VQRVJBUiBERSBTRVNJw5NOIChOYXZlZ2FjacOzbiBpbnRlcm5hIGVuIHR1IHdlYikgLS0tXG4gICAgICAgIC8vIFNpIHNlZ3VpbW9zIHNpbiBkYXRvcyAoVVJMIGxpbXBpYSB5IGVsIHJlZmVyZW50ZSBlcyBpbnRlcm5vIG8gdmFjw61vKSwgcmVjdXJyaW1vcyBhIGxhIHNlc2nDs25cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKG1hcmtldGluZ0RhdGEpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgY29uc3Qgc3RvcmVkS2V5cyA9IE9iamVjdC5rZXlzKHNlc3Npb25TdG9yYWdlKS5maWx0ZXIoKGspID0+XG4gICAgICAgICAgICAgICAgay5zdGFydHNXaXRoKCdta3RfJylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBzdG9yZWRLZXlzLmZvckVhY2goKGspID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5hbEtleSA9IGsucmVwbGFjZSgnbWt0XycsICcnKTtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKGspO1xuICAgICAgICAgICAgICAgIGlmICh2YWwpIG1hcmtldGluZ0RhdGFbb3JpZ2luYWxLZXldID0gdmFsO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLS0gNi4gTUFQRU8gRklOQUwgWSBWQUxPUiBQT1IgREVGRUNUTyAtLS1cbiAgICAgICAgaWYgKCFtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSkge1xuICAgICAgICAgICAgaWYgKG1hcmtldGluZ0RhdGFbJ3V0bV9zb3VyY2UnXSkge1xuICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ29yaWdpbiddID1cbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsndXRtX3NvdXJjZSddICtcbiAgICAgICAgICAgICAgICAgICAgKG1hcmtldGluZ0RhdGFbJ3V0bV9tZWRpdW0nXVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBgXyR7bWFya2V0aW5nRGF0YVsndXRtX21lZGl1bSddfWBcbiAgICAgICAgICAgICAgICAgICAgICAgIDogJycpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydnY2xpZCddIHx8XG4gICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnd2JyYWlkJ10gfHxcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydnYnJhaWQnXSB8fFxuICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ2RjbGlkJ11cbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ29yaWdpbiddID0gJ2dvb2dsZV9jcGMnO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChtYXJrZXRpbmdEYXRhWydmYmNsaWQnXSkge1xuICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ29yaWdpbiddID0gJ21ldGFfYWRzJztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobWFya2V0aW5nRGF0YVsndHRjbGlkJ10pIHtcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICd0aWt0b2tfYWRzJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gVHLDoWZpY28gZGlyZWN0byBwdXJvOiBTaW4gVVJMLCBzaW4gcmVmZXJyZXIgZXh0ZXJubywgc2luIHNlc2nDs24gcHJldmlhXG4gICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAnd2ViJzsgLy8gVmFsb3IgcG9yIGRlZmVjdG8gcGFyYSBXaXRib29raW5nW2NpdGU6IDIwXVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tIDcuIFBVUkdBUiBZIEdVQVJEQVIgRU4gU0VTScOTTiBQQVJBIEZVVFVSQSBOQVZFR0FDScOTTiAtLS1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIEJvcnJhbW9zIGxhIHNlc2nDs24gYW50ZXJpb3IgcGFyYSBldml0YXIgbWV6Y2xhciBkYXRvcyBzaSBlbCB1c3VhcmlvIGVudHJhIHBvciB1bmEgY2FtcGHDsWEgZGlmZXJlbnRlXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhzZXNzaW9uU3RvcmFnZSkuZm9yRWFjaCgoaykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChrLnN0YXJ0c1dpdGgoJ21rdF8nKSkgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShrKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gR3VhcmRhbW9zIGxhIHNlc2nDs24gbGltcGlhIHkgZnJlc2NhXG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhtYXJrZXRpbmdEYXRhKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGBta3RfJHtrZXl9YCwgdmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxuXG4gICAgICAgIC8vIC0tLSBFTlbDjU8gQUwgV0lER0VUIC0tLVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCd3aWRnZXRVcGRhdGVQYXJhbXMnLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiBtYXJrZXRpbmdEYXRhLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBlbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ+KchSBNYXJrZXRpbmcgRW52aWFkbzonLCBtYXJrZXRpbmdEYXRhKTtcbiAgICAgICAgfSwgNTAwKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzWyd0aWNrZXInXSkge1xuICAgICAgICAgICAgLy8gR3VhcmRhbW9zIHNpZW1wcmUgZWwgw5pMVElNTyB2YWxvciBxdWUgQW5ndWxhciBub3MgbWFuZGVcbiAgICAgICAgICAgIHRoaXMucGVuZGluZ1RpY2tlciA9IGNoYW5nZXNbJ3RpY2tlciddLmN1cnJlbnRWYWx1ZSB8fCAnYWxsLWhvdGVscyc7XG5cbiAgICAgICAgICAgIC8vIERpc3BhcmFtb3MgbGEgYWN0dWFsaXphY2nDs25cbiAgICAgICAgICAgIHRoaXMudHJpZ2dlcldpZGdldFVwZGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLnJldHJ5VGltZW91dCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmV0cnlUaW1lb3V0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdHJpZ2dlcldpZGdldFVwZGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG4gICAgICAgIGlmICh0aGlzLnJldHJ5VGltZW91dCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmV0cnlUaW1lb3V0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250YWluZXJFbCA9IHRoaXMud2lkZ2V0Q29udGFpbmVyXG4gICAgICAgICAgICAgICAgPy5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgaWYgKCFjb250YWluZXJFbCkgcmV0dXJuO1xuXG4gICAgICAgICAgICAvLyAxLiBFc3BlcmFtb3MgYSBxdWUgZWwgd2lkZ2V0IGhheWEgZGVzY2FyZ2FkbyB5IGRpYnVqYWRvIGxvcyBob3RlbGVzIGVuIGVsIERPTVxuICAgICAgICAgICAgY29uc3QgaG90ZWxPcHRpb25zID0gY29udGFpbmVyRWwucXVlcnlTZWxlY3RvckFsbCgnLmhvdGVsLW9wdGlvbicpO1xuXG4gICAgICAgICAgICBpZiAoaG90ZWxPcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRUaWNrZXIgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBlbmRpbmdUaWNrZXIgJiYgdGhpcy5wZW5kaW5nVGlja2VyPy50cmltKCkgIT09ICcnXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMucGVuZGluZ1RpY2tlci50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICdhbGwtaG90ZWxzJztcblxuICAgICAgICAgICAgICAgIGxldCBvcHRpb25Ub0NsaWNrOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgICAgICAgICAgLy8gMi4gQnVzY2Ftb3MgbGEgb3BjacOzbiBkZSBob3RlbCByZWFsIHF1ZSBjb2luY2lkYSBjb24gZWwgdGlja2VyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBob3RlbE9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0ID0gaG90ZWxPcHRpb25zW2ldIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRJZCA9XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHQuZ2V0QXR0cmlidXRlKCdkYXRhLWhvdGVsLWlkJyk/LnRvTG93ZXJDYXNlKCkgfHwgJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQ29pbmNpZGVuY2lhIGV4YWN0YSBvIHBhcmNpYWwgKHBvciBzaSBlbCB3aWRnZXQgbGUgYcOxYWRlIHN1Zmlqb3MgYWwgSUQpXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdElkID09PSB0YXJnZXRUaWNrZXIgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdElkLmluY2x1ZGVzKHRhcmdldFRpY2tlcilcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25Ub0NsaWNrID0gb3B0O1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uVG9DbGljaykge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25Ub0NsaWNrLmNsaWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBBw7puIG5vIHNlIGhhbiBkaWJ1amFkbyBsYXMgb3BjaW9uZXMsIGVsIG1vdG9yIHNpZ3VlIGNhcmdhbmRvLi4uXG4gICAgICAgICAgICAgICAgdGhpcy5yZXRyeVRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB0aGlzLnRyaWdnZXJXaWRnZXRVcGRhdGUoKSxcbiAgICAgICAgICAgICAgICAgICAgMzAwXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
470
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1ib29raW5nLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tYm9va2luZy13aWRnZXQvYmFieWxvbi1ib29raW5nLXdpZGdldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUNILGVBQWUsRUFDZixTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFHTCxXQUFXLEVBRVgsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDOzs7QUFXdkIsSUFBSSxtQkFBbUIsR0FBeUIsSUFBSSxDQUFDO0FBRXJELFNBQVMsUUFBUSxDQUFDLEdBQVc7SUFDekIsSUFBSSxtQkFBbUI7UUFBRSxPQUFPLG1CQUFtQixDQUFDO0lBRXBELG1CQUFtQixHQUFHLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3hELDJCQUEyQjtRQUMzQixJQUFJLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLHNCQUFzQixFQUFFO1lBQ3RELE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTztTQUNWO1FBRUQsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUNiLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLENBQUM7UUFDaEUsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLG1CQUFtQixDQUFDO0FBQy9CLENBQUM7QUF5Q0QsTUFBTSxPQUFPLDZCQUE2QjtJQTBDdEMsWUFDaUMsVUFBa0IsRUFDdkMsSUFBWSxFQUNaLE1BQXdDO1FBRm5CLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDdkMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFdBQU0sR0FBTixNQUFNLENBQWtDO1FBekMzQyxhQUFRLEdBQUcsZUFBZSxDQUFDO1FBQzNCLFlBQU8sR0FBRyxRQUFRLENBQUM7UUFDbkIsV0FBTSxHQUFHLG1CQUFtQixDQUFDO1FBQzdCLFNBQUksR0FBK0IsT0FBTyxDQUFDO1FBQzNDLFdBQU0sR0FBc0MsWUFBWSxDQUFDO1FBQ3pELFVBQUssR0FBOEIsT0FBTyxDQUFDO1FBQzNDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsV0FBTSxHQUFZLE9BQU8sQ0FBQztRQUMxQixXQUFNLEdBQWlDLFFBQVEsQ0FBQztRQUNoRCxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNsQixvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUNwQixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNsQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHNCQUFpQixHQUFHLElBQUksQ0FBQztRQUN6QixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUtyQixhQUFRLEdBQUcsT0FBTyxDQUFDO1FBVW5CLGFBQVEsR0FBYSxJQUFJLENBQUM7UUFDMUIsb0JBQWUsR0FBWSxDQUFDLENBQUM7UUFFOUIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixrQkFBYSxHQUFrQixJQUFJLENBQUM7UUFReEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztZQUFFLE9BQU87UUFFM0MsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUNqQixVQUFVLENBQ04sR0FBRyxFQUFFO2dCQUNELGlCQUFpQjtnQkFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksRUFBRTtvQkFDbkMsSUFBSSxJQUFJLENBQUMsT0FBTzt3QkFBRSxPQUFPO29CQUV6QixtREFBbUQ7b0JBQ25ELE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFFekIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNqQixDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsRUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDMUIsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLEtBQUs7UUFDVCxJQUFJLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUVwQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQztRQUU5QywyQ0FBMkM7UUFDM0MsSUFBSSxNQUFNLENBQUMsc0JBQXNCLEVBQUU7WUFDL0IsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDbkM7UUFDRCx1REFBdUQ7YUFDbEQsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO1lBQzFCLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDbkM7UUFFRCxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFL0IsRUFBRSxDQUFDLGdCQUFnQixDQUNmLE9BQU8sRUFDUCxHQUFHLEVBQUU7WUFDRCxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkMsQ0FBQyxFQUNELElBQUksQ0FDUCxDQUFDO0lBQ04sQ0FBQztJQUVPLHFCQUFxQixDQUFDLE9BQW9CO1FBQzlDLElBQ0ksT0FBTyxNQUFNLEtBQUssV0FBVztZQUM3QixPQUFPLGNBQWMsS0FBSyxXQUFXO1lBRXJDLE9BQU87UUFFWCxrQ0FBa0M7UUFDbEMsTUFBTSxTQUFTLEdBQUc7WUFDZCxPQUFPO1lBQ1AsUUFBUTtZQUNSLFFBQVE7WUFDUixPQUFPO1lBQ1AsVUFBVTtZQUNWLFNBQVM7WUFDVCxPQUFPO1lBQ1AsT0FBTztZQUNQLFFBQVE7WUFDUixRQUFRO1lBQ1IsUUFBUTtZQUNSLFdBQVc7WUFDWCxRQUFRO1lBQ1IsTUFBTTtZQUNOLFNBQVM7WUFDVCxPQUFPO1lBQ1AsT0FBTztZQUNQLElBQUk7WUFDSixRQUFRO1lBQ1IsT0FBTztZQUNQLE9BQU87WUFDUCxPQUFPO1lBQ1AsV0FBVztZQUNYLFNBQVM7U0FDWixDQUFDO1FBQ0YsTUFBTSxJQUFJLEdBQUc7WUFDVCxZQUFZO1lBQ1osWUFBWTtZQUNaLGNBQWM7WUFDZCxVQUFVO1lBQ1YsYUFBYTtTQUNoQixDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQTJCLEVBQUUsQ0FBQztRQUNqRCxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNELHNCQUFzQjtRQUN0QixDQUFDLEdBQUcsU0FBUyxFQUFFLEdBQUcsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzlDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUIsSUFBSSxHQUFHO2dCQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFFSCwwQkFBMEI7UUFDMUIsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDekMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtnQkFDL0IsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQy9CLElBQUksTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQzFDLENBQUM7Z0JBQ0YsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyx1REFBdUQ7WUFDL0csQ0FBQyxDQUFDO1lBRUYsaUNBQWlDO1lBQ2pDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuQyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQ3ZDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2hEO1lBRUQsc0VBQXNFO1lBQ3RFLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3pCLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxTQUFTO29CQUFFLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxTQUFTLENBQUM7YUFDckQ7WUFFRCw0QkFBNEI7WUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDekIsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDOUQsSUFBSSxNQUFNO29CQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUM7YUFDbEQ7WUFFRCxtREFBbUQ7WUFDbkQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ25DLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtnQkFDdkMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDaEQ7WUFFRCxxQkFBcUI7WUFDckIsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlCLElBQUksR0FBRztnQkFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQzFDO1FBRUQsNEJBQTRCO1FBQzVCLElBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN0QyxNQUFjLENBQUMsU0FBUyxFQUMzQjtZQUNFLE1BQU0sRUFBRSxHQUFJLE1BQWMsQ0FBQyxTQUFrQixDQUFDO1lBQzlDLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDckMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixDQUFDLEdBQUcsU0FBUyxFQUFFLEdBQUcsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FDdkQsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDSixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRTt3QkFDbEMsTUFBTSxRQUFRLEdBQ1YsR0FBRyxLQUFLLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQzt3QkFDOUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDdkM7Z0JBQ0wsQ0FBQyxDQUNKLENBQUM7Z0JBQ0YsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDO29CQUFFLE1BQU07YUFDcEQ7U0FDSjtRQUVELDZEQUE2RDtRQUM3RCxxRUFBcUU7UUFDckUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDekMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVE7Z0JBQzlCLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRTtnQkFDakMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNULE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBRTNELG9GQUFvRjtZQUNwRixJQUFJLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQzdDLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7b0JBQzVCLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztxQkFDMUMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztvQkFDL0IsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLGNBQWMsQ0FBQztxQkFDeEMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztvQkFDaEMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLGVBQWUsQ0FBQztxQkFDekMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztvQkFDckMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLG9CQUFvQixDQUFDO3FCQUM5QyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO29CQUNqQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7cUJBQzFDLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7b0JBQ2hDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxlQUFlLENBQUM7cUJBQ3pDLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7b0JBQ2pDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztxQkFDMUMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztvQkFDaEMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLGVBQWUsQ0FBQztxQkFDekMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztvQkFDOUIsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLGFBQWEsQ0FBQztxQkFDdkMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztvQkFDaEMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLGVBQWUsQ0FBQzs7b0JBQ3pDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQzthQUNuRDtTQUNKO1FBRUQscUVBQXFFO1FBQ3JFLCtGQUErRjtRQUMvRixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN6QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ3hELENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQ3ZCLENBQUM7WUFDRixVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JCLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQyxNQUFNLEdBQUcsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN0QyxJQUFJLEdBQUc7b0JBQUUsYUFBYSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUM5QyxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDMUIsSUFBSSxhQUFhLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQzdCLGFBQWEsQ0FBQyxRQUFRLENBQUM7b0JBQ25CLGFBQWEsQ0FBQyxZQUFZLENBQUM7d0JBQzNCLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQzs0QkFDeEIsQ0FBQyxDQUFDLElBQUksYUFBYSxDQUFDLFlBQVksQ0FBQyxFQUFFOzRCQUNuQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDakI7aUJBQU0sSUFDSCxhQUFhLENBQUMsT0FBTyxDQUFDO2dCQUN0QixhQUFhLENBQUMsUUFBUSxDQUFDO2dCQUN2QixhQUFhLENBQUMsUUFBUSxDQUFDO2dCQUN2QixhQUFhLENBQUMsT0FBTyxDQUFDO2dCQUN0QixhQUFhLENBQUMsVUFBVSxDQUFDLEVBQzNCO2dCQUNFLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxVQUFVLENBQUM7YUFDeEM7aUJBQU0sSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ2hDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxVQUFVLENBQUM7YUFDeEM7aUJBQU0sSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ2hDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxZQUFZLENBQUM7YUFDMUM7aUJBQU07Z0JBQ0gseUVBQXlFO2dCQUN6RSxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsOENBQThDO2FBQ2xGO1NBQ0o7UUFFRCwrREFBK0Q7UUFDL0QsSUFBSTtZQUNBLHNHQUFzRztZQUN0RyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUN0QyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO29CQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0QsQ0FBQyxDQUFDLENBQUM7WUFDSCxzQ0FBc0M7WUFDdEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO2dCQUNuRCxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDaEQsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUFDLE9BQU8sS0FBSyxFQUFFLEdBQUU7UUFFbEIsMEJBQTBCO1FBQzFCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixNQUFNLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRTtnQkFDaEQsTUFBTSxFQUFFLGFBQWE7YUFDeEIsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNaLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbkIsMERBQTBEO1lBQzFELElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUM7WUFFcEUsOEJBQThCO1lBQzlCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNuQztJQUNMLENBQUM7SUFFTyxtQkFBbUI7UUFDdkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFBRSxPQUFPO1FBQ2hELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ25DO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWU7Z0JBQ3BDLEVBQUUsYUFBNEIsQ0FBQztZQUNuQyxJQUFJLENBQUMsV0FBVztnQkFBRSxPQUFPO1lBRXpCLGdGQUFnRjtZQUNoRixNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFbkUsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDekIsTUFBTSxZQUFZLEdBQ2QsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7b0JBQ25ELENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRTtvQkFDbEMsQ0FBQyxDQUFDLFlBQVksQ0FBQztnQkFFdkIsSUFBSSxhQUFhLEdBQXVCLElBQUksQ0FBQztnQkFFN0MsaUVBQWlFO2dCQUNqRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDMUMsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBZ0IsQ0FBQztvQkFDM0MsTUFBTSxLQUFLLEdBQ1AsR0FBRyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7b0JBRTNELDBFQUEwRTtvQkFDMUUsSUFDSSxLQUFLLEtBQUssWUFBWTt3QkFDdEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFDOUI7d0JBQ0UsYUFBYSxHQUFHLEdBQUcsQ0FBQzt3QkFDcEIsTUFBTTtxQkFDVDtpQkFDSjtnQkFFRCxJQUFJLGFBQWEsRUFBRTtvQkFDZixhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ3pCO2FBQ0o7aUJBQU07Z0JBQ0gsa0VBQWtFO2dCQUNsRSxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FDMUIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQ2hDLEdBQUcsQ0FDTixDQUFDO2FBQ0w7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBM1dRLDZCQUE2QixrQkEyQzFCLFdBQVc7bUdBM0NkLDZCQUE2Qix1Z0NBcEM1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQWtDVDs7NEZBRVEsNkJBQTZCO2tCQXZDekMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBa0NUO2lCQUNKOzswQkE0Q1EsTUFBTTsyQkFBQyxXQUFXOzZHQXpDdkIsZUFBZTtzQkFEZCxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHckMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIFBMQVRGT1JNX0lELFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhYnlsb25XaWRnZXRTZWFyY2hMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYmFieWxvbi13aWRnZXQtc2VhcmNoLWxvYWRlci5zZXJ2aWNlJztcblxuZGVjbGFyZSBnbG9iYWwge1xuICAgIGludGVyZmFjZSBXaW5kb3cge1xuICAgICAgICBXaWRnZXRTZWFyY2g6IGFueTtcbiAgICAgICAgaW5pdGlhbGl6ZVdpZGdldFNlYXJjaD86ICgpID0+IHZvaWQ7XG4gICAgICAgIGdldFdpZGdldEluc3RhbmNlPzogKGlkOiBzdHJpbmcpID0+IGFueTtcbiAgICB9XG59XG5cbmxldCB3aWRnZXRTY3JpcHRQcm9taXNlOiBQcm9taXNlPHZvaWQ+IHwgbnVsbCA9IG51bGw7XG5cbmZ1bmN0aW9uIGxvYWRPbmNlKHNyYzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHdpZGdldFNjcmlwdFByb21pc2UpIHJldHVybiB3aWRnZXRTY3JpcHRQcm9taXNlO1xuXG4gICAgd2lkZ2V0U2NyaXB0UHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgLy8gU2kgeWEgZXhpc3RlLCByZXNvbHZlbW9zXG4gICAgICAgIGlmICh3aW5kb3cuV2lkZ2V0U2VhcmNoIHx8IHdpbmRvdy5pbml0aWFsaXplV2lkZ2V0U2VhcmNoKSB7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgIHMuc3JjID0gc3JjO1xuICAgICAgICBzLmFzeW5jID0gdHJ1ZTtcbiAgICAgICAgcy5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKCk7XG4gICAgICAgIHMub25lcnJvciA9ICgpID0+XG4gICAgICAgICAgICByZWplY3QobmV3IEVycm9yKCdObyBzZSBwdWRvIGNhcmdhciBlbCBzY3JpcHQgZGVsIHdpZGdldCcpKTtcbiAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB3aWRnZXRTY3JpcHRQcm9taXNlO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1iYWJ5bG9uLWJvb2tpbmctd2lkZ2V0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICN3aWRnZXRDb250YWluZXJcbiAgICAgICAgICAgIFtpZF09XCJ3aWRnZXRJZFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWJvb2staWRdPVwiaG90ZWxJZFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWhvdGVsXT1cInRpY2tlclwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXR5cGVdPVwidHlwZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWVuZ2luZV09XCJlbmdpbmVcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS10aGVtZV09XCJ0aGVtZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWN1cnJlbmN5XT1cImN1cnJlbmN5XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbG9jYWxlXT1cImxvY2FsZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWxheW91dF09XCJsYXlvdXRcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1sYXlvdXQtY29sdW1uXT1cImxheW91dENvbHVtblwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWRlZmF1bHQtYWR1bHRzXT1cImRlZmF1bHRBZHVsdHNcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1kZWZhdWx0LWp1bmlvcl09XCJkZWZhdWx0SnVuaW9yXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtZGVmYXVsdC1jaGlsZHJlbl09XCJkZWZhdWx0Q2hpbGRyZW5cIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1zaG93LXByaWNlXT1cInNob3dQcmljZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXNob3ctaG90ZWwtc2VsZWN0b3JdPVwic2hvd0hvdGVsU2VsZWN0b3JcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1zaG93LXByb21vLWNvZGVdPVwic2hvd1Byb21vQ29kZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXNob3ctY2hpbGQtYWdlc109XCJzaG93Q2hpbGRBZ2VzXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbWF4LWNoaWxkcmVuXT1cIm1heENoaWxkcmVuXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbWF4LWp1bmlvcl09XCJtYXhKdW5pb3JcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1iYXNlLXVybF09XCJiYXNlVXJsXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdXJsLWNoYWluXT1cInVybENoYWluXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdXJsLWhvdGVsXT1cInVybEhvdGVsXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtYnV0dG9uLXRleHRdPVwiYnV0dG9uVGV4dFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW1heC1yb29tc109XCJtYXhSb29tc1wiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXNob3ctYWxsLWhvdGVscy1vcHRpb25dPVwic2hvd0FsbEhvdGVsc09wdGlvblwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXRhcmdldC1ibGFua109XCJ0YXJnZXRCbGFua1wiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWhvdGVsLXRleHRdPVwiaG90ZWxUZXh0XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtbWluLWRhdGVdPVwibWluRGF0ZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW1heC1kYXRlXT1cIm1heERhdGVcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1kaXNwbGF5LW1vbnRoc109XCJtb250aHNUb0Rpc3BsYXlcIlxuICAgICAgICA+PC9kaXY+XG4gICAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQmFieWxvbkJvb2tpbmdXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIEBWaWV3Q2hpbGQoJ3dpZGdldENvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgd2lkZ2V0Q29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBASW5wdXQoKSB3aWRnZXRJZCA9ICd3aWRnZXQtc2VhcmNoJztcbiAgICBASW5wdXQoKSBob3RlbElkID0gJ2FsZWNhZCc7XG4gICAgQElucHV0KCkgdGlja2VyID0gJ2hvdGVsbWFyaXN0ZWwuY29tJztcbiAgICBASW5wdXQoKSB0eXBlOiAnY2hhaW4nIHwgJ2hvdGVsJyB8IHN0cmluZyA9ICdjaGFpbic7XG4gICAgQElucHV0KCkgZW5naW5lOiAnd2l0Ym9va2luZycgfCAncm9pYmFjaycgfCBzdHJpbmcgPSAnd2l0Ym9va2luZyc7XG4gICAgQElucHV0KCkgdGhlbWU6ICdsaWdodCcgfCAnZGFyaycgfCBzdHJpbmcgPSAnbGlnaHQnO1xuICAgIEBJbnB1dCgpIGN1cnJlbmN5ID0gJ0VVUic7XG4gICAgQElucHV0KCkgbG9jYWxlPzogc3RyaW5nID0gJ2VzLUVTJztcbiAgICBASW5wdXQoKSBsYXlvdXQ6ICdpbmxpbmUnIHwgJ2NvbHVtbicgfCBzdHJpbmcgPSAnaW5saW5lJztcbiAgICBASW5wdXQoKSBkZWZhdWx0QWR1bHRzID0gMjtcbiAgICBASW5wdXQoKSBkZWZhdWx0Q2hpbGRyZW4gPSAwO1xuICAgIEBJbnB1dCgpIGRlZmF1bHRKdW5pb3IgPSAwO1xuICAgIEBJbnB1dCgpIHNob3dQcmljZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNob3dIb3RlbFNlbGVjdG9yID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzaG93UHJvbW9Db2RlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzaG93Q2hpbGRBZ2VzID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBtYXhDaGlsZHJlbj86IG51bWJlcjtcbiAgICBASW5wdXQoKSBtYXhKdW5pb3I/OiBudW1iZXI7XG4gICAgQElucHV0KCkgYmFzZVVybD86IHN0cmluZztcbiAgICBASW5wdXQoKSB1cmxDaGFpbj86IHN0cmluZztcbiAgICBASW5wdXQoKSB1cmxIb3RlbCA9ICdob3RlbCc7XG4gICAgQElucHV0KCkgYnV0dG9uVGV4dD86IHN0cmluZztcbiAgICBASW5wdXQoKSBsYXlvdXRDb2x1bW4/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbWF4Um9vbXM/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgc2hvd0FsbEhvdGVsc09wdGlvbj86IHN0cmluZztcbiAgICBASW5wdXQoKSB0YXJnZXRCbGFuaz86IGJvb2xlYW47XG4gICAgQElucHV0KCkgaG90ZWxUZXh0Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG1heERhdGU/OiBzdHJpbmc7IC8qIDIwMjgtMDEtMDEgKi9cbiAgICBASW5wdXQoKSBtaW5EYXRlPzogc3RyaW5nOyAvKiAyMDI4LTAxLTAxICovXG5cbiAgICBASW5wdXQoKSBmbGFnVGltZT86IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIG1vbnRoc1RvRGlzcGxheT86IG51bWJlciA9IDE7XG5cbiAgICBwcml2YXRlIG1vdW50ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcGVuZGluZ1RpY2tlcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSByZXRyeVRpbWVvdXQ6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IG9iamVjdCxcbiAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgbG9hZGVyOiBCYWJ5bG9uV2lkZ2V0U2VhcmNoTG9hZGVyU2VydmljZVxuICAgICkge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpKSByZXR1cm47XG5cbiAgICAgICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvL1dhaXQgZm9yIGlucHV0c1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubW91bnRlZCkgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyDirIfvuI8gUE9OIEFRVcONIGxhIFVSTCByZWFsIGRlbCBzY3JpcHQgZGUgV2l0Ym9va2luZ1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2FkZXIubG9hZCgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdW50KCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdGhpcy5mbGFnVGltZSA/IDMwMCA6IDBcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgbW91bnQoKSB7XG4gICAgICAgIGlmICh0aGlzLm1vdW50ZWQpIHJldHVybjtcbiAgICAgICAgdGhpcy5tb3VudGVkID0gdHJ1ZTtcblxuICAgICAgICBjb25zdCBlbCA9IHRoaXMud2lkZ2V0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgLy8gT3BjacOzbiBBIChzaSBleGlzdGUpOiBpbml0IGdsb2JhbCBtYW51YWxcbiAgICAgICAgaWYgKHdpbmRvdy5pbml0aWFsaXplV2lkZ2V0U2VhcmNoKSB7XG4gICAgICAgICAgICB3aW5kb3cuaW5pdGlhbGl6ZVdpZGdldFNlYXJjaCgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIE9wY2nDs24gQjogY29uc3RydWN0b3IgKFNvbG8gZW50cmEgc2kgbm8gZXhpc3RlIGxhIEEpXG4gICAgICAgIGVsc2UgaWYgKHdpbmRvdy5XaWRnZXRTZWFyY2gpIHtcbiAgICAgICAgICAgIG5ldyB3aW5kb3cuV2lkZ2V0U2VhcmNoKGVsLCB7fSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluamVjdE1hcmtldGluZ1BhcmFtcyhlbCk7XG5cbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICAgICdjbGljaycsXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbmplY3RNYXJrZXRpbmdQYXJhbXMoZWwpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluamVjdE1hcmtldGluZ1BhcmFtcyhlbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyB8fFxuICAgICAgICAgICAgdHlwZW9mIHNlc3Npb25TdG9yYWdlID09PSAndW5kZWZpbmVkJ1xuICAgICAgICApXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgLy8gRGljY2lvbmFyaW9zIGVzdMOhbmRhcltjaXRlOiAyM11cbiAgICAgICAgY29uc3QgQ0xJQ0tfSURTID0gW1xuICAgICAgICAgICAgJ2djbGlkJyxcbiAgICAgICAgICAgICdnYnJhaWQnLFxuICAgICAgICAgICAgJ3dicmFpZCcsXG4gICAgICAgICAgICAnZGNsaWQnLFxuICAgICAgICAgICAgJ0dDTF9BV19QJyxcbiAgICAgICAgICAgICdtc2Nsa2lkJyxcbiAgICAgICAgICAgICd2bWNpZCcsXG4gICAgICAgICAgICAneWNsaWQnLFxuICAgICAgICAgICAgJ3ltY2xpZCcsXG4gICAgICAgICAgICAnZmJjbGlkJyxcbiAgICAgICAgICAgICd0dGNsaWQnLFxuICAgICAgICAgICAgJ2xpX2ZhdF9pZCcsXG4gICAgICAgICAgICAndHdjbGlkJyxcbiAgICAgICAgICAgICdlcGlrJyxcbiAgICAgICAgICAgICdyZHRfY2lkJyxcbiAgICAgICAgICAgICdTY0NpZCcsXG4gICAgICAgICAgICAncWNsaWQnLFxuICAgICAgICAgICAgJ3NpJyxcbiAgICAgICAgICAgICdhd2NsaWQnLFxuICAgICAgICAgICAgJ3RibGNpJyxcbiAgICAgICAgICAgICdkaWNibycsXG4gICAgICAgICAgICAnYWRfaWQnLFxuICAgICAgICAgICAgJ2lyY2xpY2tpZCcsXG4gICAgICAgICAgICAnY2pldmVudCcsXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IFVUTVMgPSBbXG4gICAgICAgICAgICAndXRtX3NvdXJjZScsXG4gICAgICAgICAgICAndXRtX21lZGl1bScsXG4gICAgICAgICAgICAndXRtX2NhbXBhaWduJyxcbiAgICAgICAgICAgICd1dG1fdGVybScsXG4gICAgICAgICAgICAndXRtX2NvbnRlbnQnLFxuICAgICAgICBdO1xuXG4gICAgICAgIGNvbnN0IG1hcmtldGluZ0RhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtcblxuICAgICAgICAvLyAtLS0gQ0FQQSAxOiBVUkwgLS0tXG4gICAgICAgIFsuLi5DTElDS19JRFMsIC4uLlVUTVMsICdvcmlnaW4nXS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbCA9IHBhcmFtcy5nZXQoa2V5KTtcbiAgICAgICAgICAgIGlmICh2YWwpIG1hcmtldGluZ0RhdGFba2V5XSA9IHZhbDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gLS0tIENBUEEgMjogQ09PS0lFUyAtLS1cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKG1hcmtldGluZ0RhdGEpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgY29uc3QgZ2V0Q29va2llID0gKG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gZG9jdW1lbnQuY29va2llLm1hdGNoKFxuICAgICAgICAgICAgICAgICAgICBuZXcgUmVnRXhwKCcoXnwgKScgKyBuYW1lICsgJz0oW147XSspJylcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiBtYXRjaCA/IGRlY29kZVVSSUNvbXBvbmVudChtYXRjaFsyXSkgOiBudWxsOyAvLyBkZWNvZGVVUklDb21wb25lbnQgcG9yIHNpIHZpZW5lIGNvbiBjYXJhY3RlcmVzIHJhcm9zXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAvLyAxLiBHb29nbGUgQWRzIG5hdGl2byAoX2djbF9hdylcbiAgICAgICAgICAgIGNvbnN0IGdjbEF3ID0gZ2V0Q29va2llKCdfZ2NsX2F3Jyk7XG4gICAgICAgICAgICBpZiAoZ2NsQXcgJiYgZ2NsQXcuc3BsaXQoJy4nKS5sZW5ndGggPj0gMykge1xuICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ2djbGlkJ10gPSBnY2xBdy5zcGxpdCgnLicpWzJdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyAyLiBTYWx2YXZpZGFzOiBDb29raWUgcGVyc29uYWxpemFkYSBkZSB2dWVzdHJvIGVudG9ybm8gKGdjbGlkX2luZm8pXG4gICAgICAgICAgICBpZiAoIW1hcmtldGluZ0RhdGFbJ2djbGlkJ10pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBnY2xpZEluZm8gPSBnZXRDb29raWUoJ2djbGlkX2luZm8nKTtcbiAgICAgICAgICAgICAgICBpZiAoZ2NsaWRJbmZvKSBtYXJrZXRpbmdEYXRhWydnY2xpZCddID0gZ2NsaWRJbmZvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyAyLjUgTnVldmEgQ29va2llIEdDTF9BV19QXG4gICAgICAgICAgICBpZiAoIW1hcmtldGluZ0RhdGFbJ2djbGlkJ10pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBnY2xBd1AgPSBnZXRDb29raWUoJ0dDTF9BV19QJykgfHwgZ2V0Q29va2llKCdnY2xfYXdfcCcpO1xuICAgICAgICAgICAgICAgIGlmIChnY2xBd1ApIG1hcmtldGluZ0RhdGFbJ0dDTF9BV19QJ10gPSBnY2xBd1A7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIDMuIERvdWJsZUNsaWNrIC8gR29vZ2xlIERpc3BsYXkgbmF0aXZvIChfZ2NsX2RjKVxuICAgICAgICAgICAgY29uc3QgZ2NsRGMgPSBnZXRDb29raWUoJ19nY2xfZGMnKTtcbiAgICAgICAgICAgIGlmIChnY2xEYyAmJiBnY2xEYy5zcGxpdCgnLicpLmxlbmd0aCA+PSAzKSB7XG4gICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnZGNsaWQnXSA9IGdjbERjLnNwbGl0KCcuJylbMl07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIDQuIE1ldGEgQWRzIChfZmJwKVxuICAgICAgICAgICAgY29uc3QgZmJwID0gZ2V0Q29va2llKCdfZmJwJyk7XG4gICAgICAgICAgICBpZiAoZmJwKSBtYXJrZXRpbmdEYXRhWydmYmNsaWQnXSA9IGZicDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLSBDQVBBIDM6IERBVEFMQVlFUiAtLS1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgT2JqZWN0LmtleXMobWFya2V0aW5nRGF0YSkubGVuZ3RoID09PSAwICYmXG4gICAgICAgICAgICAod2luZG93IGFzIGFueSkuZGF0YUxheWVyXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgZGwgPSAod2luZG93IGFzIGFueSkuZGF0YUxheWVyIGFzIGFueVtdO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IGRsLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IGRsW2ldO1xuICAgICAgICAgICAgICAgIFsuLi5DTElDS19JRFMsIC4uLlVUTVMsICd0cmFmZmljX3NvdXJjZScsICdvcmlnaW4nXS5mb3JFYWNoKFxuICAgICAgICAgICAgICAgICAgICAoa2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVtrZXldICYmICFtYXJrZXRpbmdEYXRhW2tleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaW5hbEtleSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleSA9PT0gJ3RyYWZmaWNfc291cmNlJyA/ICdvcmlnaW4nIDoga2V5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbZmluYWxLZXldID0gaXRlbVtrZXldO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LmtleXMobWFya2V0aW5nRGF0YSkubGVuZ3RoID4gMCkgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLS0gQ0FQQSA0OiBSRUZFUkVOVEUgRVhURVJOTyAoVFLDgUZJQ08gT1JHw4FOSUNPIE5VRVZPKSAtLS1cbiAgICAgICAgLy8gU29sbyBldmFsdWFtb3MgZWwgcmVmZXJyZXIgc2kgbGEgVVJMLCBDb29raWVzIHkgR1RNIHZlbsOtYW4gbGltcGlvc1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMobWFya2V0aW5nRGF0YSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBjb25zdCByZWZlcnJlciA9IGRvY3VtZW50LnJlZmVycmVyXG4gICAgICAgICAgICAgICAgPyBkb2N1bWVudC5yZWZlcnJlci50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRIb3N0ID0gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICAgIC8vIFNpIGhheSByZWZlcmVudGUgeSBOTyBpbmNsdXllIG51ZXN0cm8gcHJvcGlvIGRvbWluaW8sIGVzIHVuYSBWSVNJVEEgTlVFVkEgRVhURVJOQVxuICAgICAgICAgICAgaWYgKHJlZmVycmVyICYmICFyZWZlcnJlci5pbmNsdWRlcyhjdXJyZW50SG9zdCkpIHtcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ2dvb2dsZS4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAnZ29vZ2xlX29yZ2FuaWMnO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVycmVyLmluY2x1ZGVzKCdiaW5nLicpKVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICdiaW5nX29yZ2FuaWMnO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVycmVyLmluY2x1ZGVzKCd5YWhvby4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAneWFob29fb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ2R1Y2tkdWNrZ28uJykpXG4gICAgICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ29yaWdpbiddID0gJ2R1Y2tkdWNrZ29fb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ3lhbmRleC4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAneWFuZGV4X29yZ2FuaWMnO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVycmVyLmluY2x1ZGVzKCdiYWlkdS4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAnYmFpZHVfb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ2Vjb3NpYS4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAnZWNvc2lhX29yZ2FuaWMnO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVycmVyLmluY2x1ZGVzKCdxd2FudC4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAncXdhbnRfb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJyZXIuaW5jbHVkZXMoJ2Fzay4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAnYXNrX29yZ2FuaWMnO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVycmVyLmluY2x1ZGVzKCduYXZlci4nKSlcbiAgICAgICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAnbmF2ZXJfb3JnYW5pYyc7XG4gICAgICAgICAgICAgICAgZWxzZSBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICdyZWZlcnJhbF9vdGhlcic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLS0gQ0FQQSA1OiBSRUNVUEVSQVIgREUgU0VTScOTTiAoTmF2ZWdhY2nDs24gaW50ZXJuYSBlbiB0dSB3ZWIpIC0tLVxuICAgICAgICAvLyBTaSBzZWd1aW1vcyBzaW4gZGF0b3MgKFVSTCBsaW1waWEgeSBlbCByZWZlcmVudGUgZXMgaW50ZXJubyBvIHZhY8OtbyksIHJlY3Vycmltb3MgYSBsYSBzZXNpw7NuXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhtYXJrZXRpbmdEYXRhKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHN0b3JlZEtleXMgPSBPYmplY3Qua2V5cyhzZXNzaW9uU3RvcmFnZSkuZmlsdGVyKChrKSA9PlxuICAgICAgICAgICAgICAgIGsuc3RhcnRzV2l0aCgnbWt0XycpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgc3RvcmVkS2V5cy5mb3JFYWNoKChrKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWxLZXkgPSBrLnJlcGxhY2UoJ21rdF8nLCAnJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShrKTtcbiAgICAgICAgICAgICAgICBpZiAodmFsKSBtYXJrZXRpbmdEYXRhW29yaWdpbmFsS2V5XSA9IHZhbDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tIDYuIE1BUEVPIEZJTkFMIFkgVkFMT1IgUE9SIERFRkVDVE8gLS0tXG4gICAgICAgIGlmICghbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10pIHtcbiAgICAgICAgICAgIGlmIChtYXJrZXRpbmdEYXRhWyd1dG1fc291cmNlJ10pIHtcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9XG4gICAgICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ3V0bV9zb3VyY2UnXSArXG4gICAgICAgICAgICAgICAgICAgIChtYXJrZXRpbmdEYXRhWyd1dG1fbWVkaXVtJ11cbiAgICAgICAgICAgICAgICAgICAgICAgID8gYF8ke21hcmtldGluZ0RhdGFbJ3V0bV9tZWRpdW0nXX1gXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICcnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnZ2NsaWQnXSB8fFxuICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ3dicmFpZCddIHx8XG4gICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnZ2JyYWlkJ10gfHxcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydkY2xpZCddIHx8XG4gICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnR0NMX0FXX1AnXVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAnZ2Fkc19jcGMnO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChtYXJrZXRpbmdEYXRhWydmYmNsaWQnXSkge1xuICAgICAgICAgICAgICAgIG1hcmtldGluZ0RhdGFbJ29yaWdpbiddID0gJ21ldGFfYWRzJztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobWFya2V0aW5nRGF0YVsndHRjbGlkJ10pIHtcbiAgICAgICAgICAgICAgICBtYXJrZXRpbmdEYXRhWydvcmlnaW4nXSA9ICd0aWt0b2tfYWRzJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gVHLDoWZpY28gZGlyZWN0byBwdXJvOiBTaW4gVVJMLCBzaW4gcmVmZXJyZXIgZXh0ZXJubywgc2luIHNlc2nDs24gcHJldmlhXG4gICAgICAgICAgICAgICAgbWFya2V0aW5nRGF0YVsnb3JpZ2luJ10gPSAnd2ViJzsgLy8gVmFsb3IgcG9yIGRlZmVjdG8gcGFyYSBXaXRib29raW5nW2NpdGU6IDIwXVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0tIDcuIFBVUkdBUiBZIEdVQVJEQVIgRU4gU0VTScOTTiBQQVJBIEZVVFVSQSBOQVZFR0FDScOTTiAtLS1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIEJvcnJhbW9zIGxhIHNlc2nDs24gYW50ZXJpb3IgcGFyYSBldml0YXIgbWV6Y2xhciBkYXRvcyBzaSBlbCB1c3VhcmlvIGVudHJhIHBvciB1bmEgY2FtcGHDsWEgZGlmZXJlbnRlXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhzZXNzaW9uU3RvcmFnZSkuZm9yRWFjaCgoaykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChrLnN0YXJ0c1dpdGgoJ21rdF8nKSkgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShrKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gR3VhcmRhbW9zIGxhIHNlc2nDs24gbGltcGlhIHkgZnJlc2NhXG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhtYXJrZXRpbmdEYXRhKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGBta3RfJHtrZXl9YCwgdmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxuXG4gICAgICAgIC8vIC0tLSBFTlbDjU8gQUwgV0lER0VUIC0tLVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCd3aWRnZXRVcGRhdGVQYXJhbXMnLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiBtYXJrZXRpbmdEYXRhLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBlbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ+KchSBNYXJrZXRpbmcgRW52aWFkbzonLCBtYXJrZXRpbmdEYXRhKTtcbiAgICAgICAgfSwgNTAwKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzWyd0aWNrZXInXSkge1xuICAgICAgICAgICAgLy8gR3VhcmRhbW9zIHNpZW1wcmUgZWwgw5pMVElNTyB2YWxvciBxdWUgQW5ndWxhciBub3MgbWFuZGVcbiAgICAgICAgICAgIHRoaXMucGVuZGluZ1RpY2tlciA9IGNoYW5nZXNbJ3RpY2tlciddLmN1cnJlbnRWYWx1ZSB8fCAnYWxsLWhvdGVscyc7XG5cbiAgICAgICAgICAgIC8vIERpc3BhcmFtb3MgbGEgYWN0dWFsaXphY2nDs25cbiAgICAgICAgICAgIHRoaXMudHJpZ2dlcldpZGdldFVwZGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLnJldHJ5VGltZW91dCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmV0cnlUaW1lb3V0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdHJpZ2dlcldpZGdldFVwZGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG4gICAgICAgIGlmICh0aGlzLnJldHJ5VGltZW91dCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMucmV0cnlUaW1lb3V0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250YWluZXJFbCA9IHRoaXMud2lkZ2V0Q29udGFpbmVyXG4gICAgICAgICAgICAgICAgPy5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgaWYgKCFjb250YWluZXJFbCkgcmV0dXJuO1xuXG4gICAgICAgICAgICAvLyAxLiBFc3BlcmFtb3MgYSBxdWUgZWwgd2lkZ2V0IGhheWEgZGVzY2FyZ2FkbyB5IGRpYnVqYWRvIGxvcyBob3RlbGVzIGVuIGVsIERPTVxuICAgICAgICAgICAgY29uc3QgaG90ZWxPcHRpb25zID0gY29udGFpbmVyRWwucXVlcnlTZWxlY3RvckFsbCgnLmhvdGVsLW9wdGlvbicpO1xuXG4gICAgICAgICAgICBpZiAoaG90ZWxPcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRUaWNrZXIgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBlbmRpbmdUaWNrZXIgJiYgdGhpcy5wZW5kaW5nVGlja2VyPy50cmltKCkgIT09ICcnXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMucGVuZGluZ1RpY2tlci50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICdhbGwtaG90ZWxzJztcblxuICAgICAgICAgICAgICAgIGxldCBvcHRpb25Ub0NsaWNrOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgICAgICAgICAgLy8gMi4gQnVzY2Ftb3MgbGEgb3BjacOzbiBkZSBob3RlbCByZWFsIHF1ZSBjb2luY2lkYSBjb24gZWwgdGlja2VyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBob3RlbE9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0ID0gaG90ZWxPcHRpb25zW2ldIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRJZCA9XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHQuZ2V0QXR0cmlidXRlKCdkYXRhLWhvdGVsLWlkJyk/LnRvTG93ZXJDYXNlKCkgfHwgJyc7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gQ29pbmNpZGVuY2lhIGV4YWN0YSBvIHBhcmNpYWwgKHBvciBzaSBlbCB3aWRnZXQgbGUgYcOxYWRlIHN1Zmlqb3MgYWwgSUQpXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdElkID09PSB0YXJnZXRUaWNrZXIgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdElkLmluY2x1ZGVzKHRhcmdldFRpY2tlcilcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25Ub0NsaWNrID0gb3B0O1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAob3B0aW9uVG9DbGljaykge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25Ub0NsaWNrLmNsaWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBBw7puIG5vIHNlIGhhbiBkaWJ1amFkbyBsYXMgb3BjaW9uZXMsIGVsIG1vdG9yIHNpZ3VlIGNhcmdhbmRvLi4uXG4gICAgICAgICAgICAgICAgdGhpcy5yZXRyeVRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB0aGlzLnRyaWdnZXJXaWRnZXRVcGRhdGUoKSxcbiAgICAgICAgICAgICAgICAgICAgMzAwXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -8,10 +8,14 @@ import * as i1 from "@angular/common";
8
8
  export class C1TxtComponent {
9
9
  constructor() {
10
10
  this.headingTagUtils = HeadingTagUtils;
11
+ this.identifier = '';
11
12
  }
12
13
  set logo(value) {
13
14
  this._logo = value;
14
- const resolvedLogoSrc = this._logo?.src || this._logo?.img?.src || this._logo?.path?.original || this._logo?.path?.webp;
15
+ const resolvedLogoSrc = this._logo?.src ||
16
+ this._logo?.img?.src ||
17
+ this._logo?.path?.original ||
18
+ this._logo?.path?.webp;
15
19
  console.log('[C1TxtComponent] logo input:', this._logo);
16
20
  console.log('[C1TxtComponent] resolved logoSrc:', resolvedLogoSrc);
17
21
  }
@@ -19,18 +23,27 @@ export class C1TxtComponent {
19
23
  return this._logo;
20
24
  }
21
25
  get logoSrc() {
22
- return this.logo?.src || this.logo?.img?.src || this.logo?.path?.original || this.logo?.path?.webp;
26
+ return (this.logo?.src ||
27
+ this.logo?.img?.src ||
28
+ this.logo?.path?.original ||
29
+ this.logo?.path?.webp);
23
30
  }
24
31
  get logoAlt() {
25
32
  return this.logo?.alt || this.logo?.img?.alt || 'logo';
26
33
  }
27
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: C1TxtComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: C1TxtComponent, isStandalone: true, selector: "c1-txt", inputs: { texts: "texts", textColors: "textColors", activeView: "activeView", image: "image", logo: "logo", buttons: "buttons" }, ngImport: i0, template: "<section\n class=\"mdl-C1Txt\"\n [ngClass]=\"{\n primary: activeView === 0 || activeView === 1,\n secundary: activeView === 2,\n tertiary: activeView === 3,\n }\"\n>\n @if (image?.src) {\n <div class=\"mdl-imagen\">\n <img\n [src]=\"image?.src\"\n loading=\"lazy\"\n [alt]=\"image?.alt ?? 'image'\"\n />\n </div>\n }\n @if (logoSrc) {\n <div class=\"mdl-logo\">\n <img\n [src]=\"logoSrc\"\n loading=\"lazy\"\n [alt]=\"logoAlt\"\n />\n </div>\n }\n @if (texts) {\n <div class=\"mdl-container\">\n @if (headingTagUtils.hasHeadingContent(texts, 'pretitle', texts?.pretitle)) {\n <lib-babylon-dynamic-heading\n [tag]=\"headingTagUtils.getHeadingTag(texts, 'pretitle', 'p')\"\n [color]=\"textColors?.pretitle\"\n cssClass=\"m-pretitulo\"\n [content]=\"headingTagUtils.getHeadingContent(texts, 'pretitle', texts?.pretitle)\"\n ></lib-babylon-dynamic-heading>\n }\n @if (headingTagUtils.hasHeadingContent(texts, 'title', texts?.title)) {\n <lib-babylon-dynamic-heading\n [tag]=\"headingTagUtils.getHeadingTag(texts, 'title', 'p')\"\n [color]=\"textColors?.title\"\n cssClass=\"m-titulo\"\n [content]=\"headingTagUtils.getHeadingContent(texts, 'title', texts?.title)\"\n ></lib-babylon-dynamic-heading>\n }\n @if (headingTagUtils.hasHeadingContent(texts, 'description', texts?.description)) {\n <lib-babylon-dynamic-heading\n [tag]=\"headingTagUtils.getHeadingTag(texts, 'description', 'p')\"\n [color]=\"textColors?.description\"\n cssClass=\"m-texto\"\n [content]=\"headingTagUtils.getHeadingContent(texts, 'description', texts?.description)\"\n ></lib-babylon-dynamic-heading>\n }\n @if (texts.text) {\n <div class=\"m-especial\" [innerHTML]=\"texts.text\"></div>\n }\n </div>\n }\n @if (buttons?.length) {\n <div class=\"m-buttons-row\">\n @if (buttons?.[0]?.url) {\n <a\n class=\"m-buttonD\"\n [href]=\"buttons?.[0]?.url\"\n [linkType]=\"buttons?.[0]?.linkType\"\n [attr.target]=\"buttons?.[0]?.target || '_self'\"\n [attr.rel]=\"(buttons?.[0]?.target || '_self') === '_blank' ? 'noopener noreferrer' : null\"\n [attr.aria-label]=\"buttons?.[0]?.label\"\n >\n {{ buttons?.[0]?.label }}\n </a>\n }\n @if (buttons?.[1]?.url) {\n <a\n class=\"m-buttonD\"\n [href]=\"buttons?.[1]?.url\"\n [linkType]=\"buttons?.[1]?.linkType\"\n [attr.target]=\"buttons?.[1]?.target || '_self'\"\n [attr.rel]=\"(buttons?.[1]?.target || '_self') === '_blank' ? 'noopener noreferrer' : null\"\n [attr.aria-label]=\"buttons?.[1]?.label\"\n >\n {{ buttons?.[1]?.label }}\n </a>\n }\n </div>\n\n }\n\n\n</section>\n", styles: [".mdl-C1Txt .mdl-logo{display:flex;justify-content:center;margin-top:4rem;margin-bottom:-4rem}.mdl-C1Txt .mdl-logo img{width:8rem}.mdl-C1Txt .m-buttons-row{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:2rem;margin-top:2rem}.mdl-C1Txt .mdl-imagen{display:flex;justify-content:center;align-items:center}.mdl-C1Txt{padding-left:0!important;padding-right:0!important}.mdl-C1Txt .mdl-container{width:100%;max-width:144.5rem;margin:0 auto;padding:8rem 4rem;text-align:center;box-sizing:border-box;display:flex;flex-direction:column;gap:4rem;align-items:center;color:#393637}.mdl-C1Txt .mdl-container .m-pretitulo{font-family:var(--font-pretitle);font-size:1.7rem;font-weight:400;letter-spacing:10%;line-height:100%;text-transform:uppercase;margin-bottom:0rem}.mdl-C1Txt .mdl-container .m-titulo{font-family:var(--font-title);font-size:7rem;font-style:normal;font-weight:700;line-height:8rem;margin-bottom:0rem}.mdl-C1Txt .mdl-container .m-texto{font-family:var(--font-text);font-size:1.6rem;font-weight:400;line-height:2.8rem;max-width:76rem;margin-bottom:0rem}.mdl-C1Txt .mdl-container .m-especial{font-family:var(--font-claim);font-size:6rem;font-weight:400;line-height:100%;color:#fcdd3f}@media (max-width: 1200px){.mdl-C1Txt .mdl-container .m-titulo{font-size:5rem;line-height:5rem}}@media (max-width: 600px){.mdl-C1Txt .mdl-container{padding:8rem 2rem}.mdl-C1Txt .mdl-container .m-titulo{font-size:4rem;line-height:4rem}.mdl-C1Txt .mdl-container .m-especial{font-size:4rem}}.mdl-C1Txt.secundary .mdl-container{background-color:var(--cl_background_dark);max-width:100%}.mdl-C1Txt.secundary .mdl-container .m-titulo{order:2}.mdl-C1Txt.tertiary .mdl-container{padding:2rem 4rem}.m-buttonD{margin-bottom:4rem;font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:100%;text-transform:uppercase;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem}.m-buttonD span{color:#393637}.m-buttonD:hover{background-color:#fcdd3f;transition:.5s;border:0}.m-buttonD{margin-top:3.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick", "clickPopup", "disablePointerNone"], outputs: ["anchorClicked"] }, { kind: "component", type: BabylonDynamicHeadingComponent, selector: "lib-babylon-dynamic-heading", inputs: ["useInnerHtml", "tag", "wrapper", "cssClass", "content", "color"] }] }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: C1TxtComponent, isStandalone: true, selector: "c1-txt", inputs: { identifier: "identifier", texts: "texts", textColors: "textColors", activeView: "activeView", image: "image", logo: "logo", buttons: "buttons" }, ngImport: i0, template: "<section\n class=\"mdl-C1Txt\"\n [ngClass]=\"{\n primary: activeView === 0 || activeView === 1,\n secundary: activeView === 2,\n tertiary: activeView === 3,\n identifier,\n }\"\n [id]=\"identifier\"\n>\n @if (image?.src) {\n <div class=\"mdl-imagen\">\n <img\n [src]=\"image?.src\"\n loading=\"lazy\"\n [alt]=\"image?.alt ?? 'image'\"\n />\n </div>\n }\n @if (logoSrc) {\n <div class=\"mdl-logo\">\n <img [src]=\"logoSrc\" loading=\"lazy\" [alt]=\"logoAlt\" />\n </div>\n }\n @if (texts) {\n <div class=\"mdl-container\">\n @if (\n headingTagUtils.hasHeadingContent(\n texts,\n 'pretitle',\n texts?.pretitle\n )\n ) {\n <lib-babylon-dynamic-heading\n [tag]=\"\n headingTagUtils.getHeadingTag(texts, 'pretitle', 'p')\n \"\n [color]=\"textColors?.pretitle\"\n cssClass=\"m-pretitulo\"\n [content]=\"\n headingTagUtils.getHeadingContent(\n texts,\n 'pretitle',\n texts?.pretitle\n )\n \"\n ></lib-babylon-dynamic-heading>\n }\n @if (\n headingTagUtils.hasHeadingContent(texts, 'title', texts?.title)\n ) {\n <lib-babylon-dynamic-heading\n [tag]=\"headingTagUtils.getHeadingTag(texts, 'title', 'p')\"\n [color]=\"textColors?.title\"\n cssClass=\"m-titulo\"\n [content]=\"\n headingTagUtils.getHeadingContent(\n texts,\n 'title',\n texts?.title\n )\n \"\n ></lib-babylon-dynamic-heading>\n }\n @if (\n headingTagUtils.hasHeadingContent(\n texts,\n 'description',\n texts?.description\n )\n ) {\n <lib-babylon-dynamic-heading\n [tag]=\"\n headingTagUtils.getHeadingTag(texts, 'description', 'p')\n \"\n [color]=\"textColors?.description\"\n cssClass=\"m-texto\"\n [content]=\"\n headingTagUtils.getHeadingContent(\n texts,\n 'description',\n texts?.description\n )\n \"\n ></lib-babylon-dynamic-heading>\n }\n @if (texts.text) {\n <div class=\"m-especial\" [innerHTML]=\"texts.text\"></div>\n }\n </div>\n }\n @if (buttons?.length) {\n <div class=\"m-buttons-row\">\n @if (buttons?.[0]?.url) {\n <a\n class=\"m-buttonD\"\n [href]=\"buttons?.[0]?.url\"\n [linkType]=\"buttons?.[0]?.linkType\"\n [attr.target]=\"buttons?.[0]?.target || '_self'\"\n [attr.rel]=\"\n (buttons?.[0]?.target || '_self') === '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n [attr.aria-label]=\"buttons?.[0]?.label\"\n >\n {{ buttons?.[0]?.label }}\n </a>\n }\n @if (buttons?.[1]?.url) {\n <a\n class=\"m-buttonD\"\n [href]=\"buttons?.[1]?.url\"\n [linkType]=\"buttons?.[1]?.linkType\"\n [attr.target]=\"buttons?.[1]?.target || '_self'\"\n [attr.rel]=\"\n (buttons?.[1]?.target || '_self') === '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n [attr.aria-label]=\"buttons?.[1]?.label\"\n >\n {{ buttons?.[1]?.label }}\n </a>\n }\n </div>\n }\n</section>\n", styles: [".mdl-C1Txt .mdl-logo{display:flex;justify-content:center;margin-top:4rem;margin-bottom:-4rem}.mdl-C1Txt .mdl-logo img{width:8rem}.mdl-C1Txt .m-buttons-row{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:2rem;margin-top:2rem}.mdl-C1Txt .mdl-imagen{display:flex;justify-content:center;align-items:center}.mdl-C1Txt{padding-left:0!important;padding-right:0!important}.mdl-C1Txt .mdl-container{width:100%;max-width:144.5rem;margin:0 auto;padding:8rem 4rem;text-align:center;box-sizing:border-box;display:flex;flex-direction:column;gap:4rem;align-items:center;color:#393637}.mdl-C1Txt .mdl-container .m-pretitulo{font-family:var(--font-pretitle);font-size:1.7rem;font-weight:400;letter-spacing:10%;line-height:100%;text-transform:uppercase;margin-bottom:0rem}.mdl-C1Txt .mdl-container .m-titulo{font-family:var(--font-title);font-size:7rem;font-style:normal;font-weight:700;line-height:8rem;margin-bottom:0rem}.mdl-C1Txt .mdl-container .m-texto{font-family:var(--font-text);font-size:1.6rem;font-weight:400;line-height:2.8rem;max-width:76rem;margin-bottom:0rem}.mdl-C1Txt .mdl-container .m-especial{font-family:var(--font-claim);font-size:6rem;font-weight:400;line-height:100%;color:#fcdd3f}@media (max-width: 1200px){.mdl-C1Txt .mdl-container .m-titulo{font-size:5rem;line-height:5rem}}@media (max-width: 600px){.mdl-C1Txt .mdl-container{padding:8rem 2rem}.mdl-C1Txt .mdl-container .m-titulo{font-size:4rem;line-height:4rem}.mdl-C1Txt .mdl-container .m-especial{font-size:4rem}}.mdl-C1Txt.secundary .mdl-container{background-color:var(--cl_background_dark);max-width:100%}.mdl-C1Txt.secundary .mdl-container .m-titulo{order:2}.mdl-C1Txt.tertiary .mdl-container{padding:2rem 4rem}.m-buttonD{margin-bottom:4rem;font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:100%;text-transform:uppercase;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem}.m-buttonD span{color:#393637}.m-buttonD:hover{background-color:#fcdd3f;transition:.5s;border:0}.m-buttonD{margin-top:3.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick", "clickPopup", "disablePointerNone"], outputs: ["anchorClicked"] }, { kind: "component", type: BabylonDynamicHeadingComponent, selector: "lib-babylon-dynamic-heading", inputs: ["useInnerHtml", "tag", "wrapper", "cssClass", "content", "color"] }] }); }
29
36
  }
30
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: C1TxtComponent, decorators: [{
31
38
  type: Component,
32
- args: [{ selector: 'c1-txt', standalone: true, imports: [CommonModule, BabylonLinkTypeDirective, BabylonDynamicHeadingComponent], template: "<section\n class=\"mdl-C1Txt\"\n [ngClass]=\"{\n primary: activeView === 0 || activeView === 1,\n secundary: activeView === 2,\n tertiary: activeView === 3,\n }\"\n>\n @if (image?.src) {\n <div class=\"mdl-imagen\">\n <img\n [src]=\"image?.src\"\n loading=\"lazy\"\n [alt]=\"image?.alt ?? 'image'\"\n />\n </div>\n }\n @if (logoSrc) {\n <div class=\"mdl-logo\">\n <img\n [src]=\"logoSrc\"\n loading=\"lazy\"\n [alt]=\"logoAlt\"\n />\n </div>\n }\n @if (texts) {\n <div class=\"mdl-container\">\n @if (headingTagUtils.hasHeadingContent(texts, 'pretitle', texts?.pretitle)) {\n <lib-babylon-dynamic-heading\n [tag]=\"headingTagUtils.getHeadingTag(texts, 'pretitle', 'p')\"\n [color]=\"textColors?.pretitle\"\n cssClass=\"m-pretitulo\"\n [content]=\"headingTagUtils.getHeadingContent(texts, 'pretitle', texts?.pretitle)\"\n ></lib-babylon-dynamic-heading>\n }\n @if (headingTagUtils.hasHeadingContent(texts, 'title', texts?.title)) {\n <lib-babylon-dynamic-heading\n [tag]=\"headingTagUtils.getHeadingTag(texts, 'title', 'p')\"\n [color]=\"textColors?.title\"\n cssClass=\"m-titulo\"\n [content]=\"headingTagUtils.getHeadingContent(texts, 'title', texts?.title)\"\n ></lib-babylon-dynamic-heading>\n }\n @if (headingTagUtils.hasHeadingContent(texts, 'description', texts?.description)) {\n <lib-babylon-dynamic-heading\n [tag]=\"headingTagUtils.getHeadingTag(texts, 'description', 'p')\"\n [color]=\"textColors?.description\"\n cssClass=\"m-texto\"\n [content]=\"headingTagUtils.getHeadingContent(texts, 'description', texts?.description)\"\n ></lib-babylon-dynamic-heading>\n }\n @if (texts.text) {\n <div class=\"m-especial\" [innerHTML]=\"texts.text\"></div>\n }\n </div>\n }\n @if (buttons?.length) {\n <div class=\"m-buttons-row\">\n @if (buttons?.[0]?.url) {\n <a\n class=\"m-buttonD\"\n [href]=\"buttons?.[0]?.url\"\n [linkType]=\"buttons?.[0]?.linkType\"\n [attr.target]=\"buttons?.[0]?.target || '_self'\"\n [attr.rel]=\"(buttons?.[0]?.target || '_self') === '_blank' ? 'noopener noreferrer' : null\"\n [attr.aria-label]=\"buttons?.[0]?.label\"\n >\n {{ buttons?.[0]?.label }}\n </a>\n }\n @if (buttons?.[1]?.url) {\n <a\n class=\"m-buttonD\"\n [href]=\"buttons?.[1]?.url\"\n [linkType]=\"buttons?.[1]?.linkType\"\n [attr.target]=\"buttons?.[1]?.target || '_self'\"\n [attr.rel]=\"(buttons?.[1]?.target || '_self') === '_blank' ? 'noopener noreferrer' : null\"\n [attr.aria-label]=\"buttons?.[1]?.label\"\n >\n {{ buttons?.[1]?.label }}\n </a>\n }\n </div>\n\n }\n\n\n</section>\n", styles: [".mdl-C1Txt .mdl-logo{display:flex;justify-content:center;margin-top:4rem;margin-bottom:-4rem}.mdl-C1Txt .mdl-logo img{width:8rem}.mdl-C1Txt .m-buttons-row{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:2rem;margin-top:2rem}.mdl-C1Txt .mdl-imagen{display:flex;justify-content:center;align-items:center}.mdl-C1Txt{padding-left:0!important;padding-right:0!important}.mdl-C1Txt .mdl-container{width:100%;max-width:144.5rem;margin:0 auto;padding:8rem 4rem;text-align:center;box-sizing:border-box;display:flex;flex-direction:column;gap:4rem;align-items:center;color:#393637}.mdl-C1Txt .mdl-container .m-pretitulo{font-family:var(--font-pretitle);font-size:1.7rem;font-weight:400;letter-spacing:10%;line-height:100%;text-transform:uppercase;margin-bottom:0rem}.mdl-C1Txt .mdl-container .m-titulo{font-family:var(--font-title);font-size:7rem;font-style:normal;font-weight:700;line-height:8rem;margin-bottom:0rem}.mdl-C1Txt .mdl-container .m-texto{font-family:var(--font-text);font-size:1.6rem;font-weight:400;line-height:2.8rem;max-width:76rem;margin-bottom:0rem}.mdl-C1Txt .mdl-container .m-especial{font-family:var(--font-claim);font-size:6rem;font-weight:400;line-height:100%;color:#fcdd3f}@media (max-width: 1200px){.mdl-C1Txt .mdl-container .m-titulo{font-size:5rem;line-height:5rem}}@media (max-width: 600px){.mdl-C1Txt .mdl-container{padding:8rem 2rem}.mdl-C1Txt .mdl-container .m-titulo{font-size:4rem;line-height:4rem}.mdl-C1Txt .mdl-container .m-especial{font-size:4rem}}.mdl-C1Txt.secundary .mdl-container{background-color:var(--cl_background_dark);max-width:100%}.mdl-C1Txt.secundary .mdl-container .m-titulo{order:2}.mdl-C1Txt.tertiary .mdl-container{padding:2rem 4rem}.m-buttonD{margin-bottom:4rem;font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:100%;text-transform:uppercase;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem}.m-buttonD span{color:#393637}.m-buttonD:hover{background-color:#fcdd3f;transition:.5s;border:0}.m-buttonD{margin-top:3.5rem}\n"] }]
33
- }], propDecorators: { texts: [{
39
+ args: [{ selector: 'c1-txt', standalone: true, imports: [
40
+ CommonModule,
41
+ BabylonLinkTypeDirective,
42
+ BabylonDynamicHeadingComponent,
43
+ ], template: "<section\n class=\"mdl-C1Txt\"\n [ngClass]=\"{\n primary: activeView === 0 || activeView === 1,\n secundary: activeView === 2,\n tertiary: activeView === 3,\n identifier,\n }\"\n [id]=\"identifier\"\n>\n @if (image?.src) {\n <div class=\"mdl-imagen\">\n <img\n [src]=\"image?.src\"\n loading=\"lazy\"\n [alt]=\"image?.alt ?? 'image'\"\n />\n </div>\n }\n @if (logoSrc) {\n <div class=\"mdl-logo\">\n <img [src]=\"logoSrc\" loading=\"lazy\" [alt]=\"logoAlt\" />\n </div>\n }\n @if (texts) {\n <div class=\"mdl-container\">\n @if (\n headingTagUtils.hasHeadingContent(\n texts,\n 'pretitle',\n texts?.pretitle\n )\n ) {\n <lib-babylon-dynamic-heading\n [tag]=\"\n headingTagUtils.getHeadingTag(texts, 'pretitle', 'p')\n \"\n [color]=\"textColors?.pretitle\"\n cssClass=\"m-pretitulo\"\n [content]=\"\n headingTagUtils.getHeadingContent(\n texts,\n 'pretitle',\n texts?.pretitle\n )\n \"\n ></lib-babylon-dynamic-heading>\n }\n @if (\n headingTagUtils.hasHeadingContent(texts, 'title', texts?.title)\n ) {\n <lib-babylon-dynamic-heading\n [tag]=\"headingTagUtils.getHeadingTag(texts, 'title', 'p')\"\n [color]=\"textColors?.title\"\n cssClass=\"m-titulo\"\n [content]=\"\n headingTagUtils.getHeadingContent(\n texts,\n 'title',\n texts?.title\n )\n \"\n ></lib-babylon-dynamic-heading>\n }\n @if (\n headingTagUtils.hasHeadingContent(\n texts,\n 'description',\n texts?.description\n )\n ) {\n <lib-babylon-dynamic-heading\n [tag]=\"\n headingTagUtils.getHeadingTag(texts, 'description', 'p')\n \"\n [color]=\"textColors?.description\"\n cssClass=\"m-texto\"\n [content]=\"\n headingTagUtils.getHeadingContent(\n texts,\n 'description',\n texts?.description\n )\n \"\n ></lib-babylon-dynamic-heading>\n }\n @if (texts.text) {\n <div class=\"m-especial\" [innerHTML]=\"texts.text\"></div>\n }\n </div>\n }\n @if (buttons?.length) {\n <div class=\"m-buttons-row\">\n @if (buttons?.[0]?.url) {\n <a\n class=\"m-buttonD\"\n [href]=\"buttons?.[0]?.url\"\n [linkType]=\"buttons?.[0]?.linkType\"\n [attr.target]=\"buttons?.[0]?.target || '_self'\"\n [attr.rel]=\"\n (buttons?.[0]?.target || '_self') === '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n [attr.aria-label]=\"buttons?.[0]?.label\"\n >\n {{ buttons?.[0]?.label }}\n </a>\n }\n @if (buttons?.[1]?.url) {\n <a\n class=\"m-buttonD\"\n [href]=\"buttons?.[1]?.url\"\n [linkType]=\"buttons?.[1]?.linkType\"\n [attr.target]=\"buttons?.[1]?.target || '_self'\"\n [attr.rel]=\"\n (buttons?.[1]?.target || '_self') === '_blank'\n ? 'noopener noreferrer'\n : null\n \"\n [attr.aria-label]=\"buttons?.[1]?.label\"\n >\n {{ buttons?.[1]?.label }}\n </a>\n }\n </div>\n }\n</section>\n", styles: [".mdl-C1Txt .mdl-logo{display:flex;justify-content:center;margin-top:4rem;margin-bottom:-4rem}.mdl-C1Txt .mdl-logo img{width:8rem}.mdl-C1Txt .m-buttons-row{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:2rem;margin-top:2rem}.mdl-C1Txt .mdl-imagen{display:flex;justify-content:center;align-items:center}.mdl-C1Txt{padding-left:0!important;padding-right:0!important}.mdl-C1Txt .mdl-container{width:100%;max-width:144.5rem;margin:0 auto;padding:8rem 4rem;text-align:center;box-sizing:border-box;display:flex;flex-direction:column;gap:4rem;align-items:center;color:#393637}.mdl-C1Txt .mdl-container .m-pretitulo{font-family:var(--font-pretitle);font-size:1.7rem;font-weight:400;letter-spacing:10%;line-height:100%;text-transform:uppercase;margin-bottom:0rem}.mdl-C1Txt .mdl-container .m-titulo{font-family:var(--font-title);font-size:7rem;font-style:normal;font-weight:700;line-height:8rem;margin-bottom:0rem}.mdl-C1Txt .mdl-container .m-texto{font-family:var(--font-text);font-size:1.6rem;font-weight:400;line-height:2.8rem;max-width:76rem;margin-bottom:0rem}.mdl-C1Txt .mdl-container .m-especial{font-family:var(--font-claim);font-size:6rem;font-weight:400;line-height:100%;color:#fcdd3f}@media (max-width: 1200px){.mdl-C1Txt .mdl-container .m-titulo{font-size:5rem;line-height:5rem}}@media (max-width: 600px){.mdl-C1Txt .mdl-container{padding:8rem 2rem}.mdl-C1Txt .mdl-container .m-titulo{font-size:4rem;line-height:4rem}.mdl-C1Txt .mdl-container .m-especial{font-size:4rem}}.mdl-C1Txt.secundary .mdl-container{background-color:var(--cl_background_dark);max-width:100%}.mdl-C1Txt.secundary .mdl-container .m-titulo{order:2}.mdl-C1Txt.tertiary .mdl-container{padding:2rem 4rem}.m-buttonD{margin-bottom:4rem;font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:100%;text-transform:uppercase;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem}.m-buttonD span{color:#393637}.m-buttonD:hover{background-color:#fcdd3f;transition:.5s;border:0}.m-buttonD{margin-top:3.5rem}\n"] }]
44
+ }], propDecorators: { identifier: [{
45
+ type: Input
46
+ }], texts: [{
34
47
  type: Input
35
48
  }], textColors: [{
36
49
  type: Input
@@ -43,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
43
56
  }], buttons: [{
44
57
  type: Input
45
58
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzEtdHh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi9jb21wb25lbnRzL2V4dGVybmFsL2NvcmUvYzEtdHh0L2MxLXR4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9leHRlcm5hbC9jb3JlL2MxLXR4dC9jMS10eHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQU9qRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7O0FBU2hHLE1BQU0sT0FBTyxjQUFjO0lBUDNCO1FBUVcsb0JBQWUsR0FBRyxlQUFlLENBQUM7S0EyQzVDO0lBOUJHLElBQWEsSUFBSSxDQUFDLEtBS0w7UUFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztRQUN4SCxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxPQUFPLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxJQUFJLElBQUk7UUFNSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUdELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7SUFDdkcsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQztJQUMzRCxDQUFDOytHQTNDUSxjQUFjO21HQUFkLGNBQWMsb01DbkIzQiw2MUdBeUZBLDZsRUQxRWMsWUFBWSw2SEFBRSx3QkFBd0IsbUtBQUUsOEJBQThCOzs0RkFJdkUsY0FBYztrQkFQMUIsU0FBUzsrQkFDSSxRQUFRLGNBQ04sSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHdCQUF3QixFQUFFLDhCQUE4QixDQUFDOzhCQWF4RSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDTyxJQUFJO3NCQUFoQixLQUFLO2dCQXFCRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSGVhZGluZ1RhZ1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvaGVhZGluZy10YWcudXRpbHMnO1xuaW1wb3J0IHsgQmFieWxvbkR5bmFtaWNIZWFkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkJztcbmltcG9ydCB7XG4gICAgQmFieWxvbkJ1dHRvbkksXG4gICAgQmFieWxvbkltYWdlSSxcbiAgICBCYWJ5bG9uVGV4dEluZm9JLFxuICAgIEJhYnlsb25UZXh0c0NvbG9yc0lcbn0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBCYWJ5bG9uTGlua1R5cGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzL2xpbmstdHlwZS9saW5rLXR5cGUuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjMS10eHQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQmFieWxvbkxpbmtUeXBlRGlyZWN0aXZlLCBCYWJ5bG9uRHluYW1pY0hlYWRpbmdDb21wb25lbnRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jMS10eHQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9jMS10eHQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBDMVR4dENvbXBvbmVudCB7XG4gICAgcHVibGljIGhlYWRpbmdUYWdVdGlscyA9IEhlYWRpbmdUYWdVdGlscztcbiAgICBwcml2YXRlIF9sb2dvPzogQmFieWxvbkltYWdlSSAmIHtcbiAgICAgICAgcGF0aD86IHtcbiAgICAgICAgICAgIG9yaWdpbmFsPzogc3RyaW5nO1xuICAgICAgICAgICAgd2VicD86IHN0cmluZztcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgQElucHV0KCkgdGV4dHM/OiBCYWJ5bG9uVGV4dEluZm9JO1xuICAgIEBJbnB1dCgpIHRleHRDb2xvcnM/OiBCYWJ5bG9uVGV4dHNDb2xvcnNJO1xuICAgIEBJbnB1dCgpIGFjdGl2ZVZpZXc/OiBudW1iZXI7XG4gICAgLy8gYXNzaWduIHZpc3RhIDMgaW4gY29tcG9uZW50IHRvIGhhdmUgbGVzcyBwYWRkaW5nIHdoZW4gc2hvd2luZyB0aGUgaW1hZ2UgYW5kIGJ1dHRvbnNcbiAgICBASW5wdXQoKSBpbWFnZT86IEJhYnlsb25JbWFnZUk7XG4gICAgQElucHV0KCkgc2V0IGxvZ28odmFsdWU6IEJhYnlsb25JbWFnZUkgJiB7XG4gICAgICAgIHBhdGg/OiB7XG4gICAgICAgICAgICBvcmlnaW5hbD86IHN0cmluZztcbiAgICAgICAgICAgIHdlYnA/OiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgfSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9sb2dvID0gdmFsdWU7XG5cbiAgICAgICAgY29uc3QgcmVzb2x2ZWRMb2dvU3JjID0gdGhpcy5fbG9nbz8uc3JjIHx8IHRoaXMuX2xvZ28/LmltZz8uc3JjIHx8IHRoaXMuX2xvZ28/LnBhdGg/Lm9yaWdpbmFsIHx8IHRoaXMuX2xvZ28/LnBhdGg/LndlYnA7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbQzFUeHRDb21wb25lbnRdIGxvZ28gaW5wdXQ6JywgdGhpcy5fbG9nbyk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbQzFUeHRDb21wb25lbnRdIHJlc29sdmVkIGxvZ29TcmM6JywgcmVzb2x2ZWRMb2dvU3JjKTtcbiAgICB9XG5cbiAgICBnZXQgbG9nbygpOiAoQmFieWxvbkltYWdlSSAmIHtcbiAgICAgICAgcGF0aD86IHtcbiAgICAgICAgICAgIG9yaWdpbmFsPzogc3RyaW5nO1xuICAgICAgICAgICAgd2VicD86IHN0cmluZztcbiAgICAgICAgfTtcbiAgICB9KSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2dvO1xuICAgIH1cbiAgICBASW5wdXQoKSBidXR0b25zPzogQmFieWxvbkJ1dHRvbklbXTtcblxuICAgIGdldCBsb2dvU3JjKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvZ28/LnNyYyB8fCB0aGlzLmxvZ28/LmltZz8uc3JjIHx8IHRoaXMubG9nbz8ucGF0aD8ub3JpZ2luYWwgfHwgdGhpcy5sb2dvPy5wYXRoPy53ZWJwO1xuICAgIH1cblxuICAgIGdldCBsb2dvQWx0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvZ28/LmFsdCB8fCB0aGlzLmxvZ28/LmltZz8uYWx0IHx8ICdsb2dvJztcbiAgICB9XG59XG4iLCI8c2VjdGlvblxuICAgIGNsYXNzPVwibWRsLUMxVHh0XCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgIHByaW1hcnk6IGFjdGl2ZVZpZXcgPT09IDAgfHwgYWN0aXZlVmlldyA9PT0gMSxcbiAgICAgICAgc2VjdW5kYXJ5OiBhY3RpdmVWaWV3ID09PSAyLFxuICAgICAgICB0ZXJ0aWFyeTogYWN0aXZlVmlldyA9PT0gMyxcbiAgICB9XCJcbj5cbiAgICBAaWYgKGltYWdlPy5zcmMpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1kbC1pbWFnZW5cIj5cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBbc3JjXT1cImltYWdlPy5zcmNcIlxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICBbYWx0XT1cImltYWdlPy5hbHQgPz8gJ2ltYWdlJ1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmIChsb2dvU3JjKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZGwtbG9nb1wiPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIFtzcmNdPVwibG9nb1NyY1wiXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgIFthbHRdPVwibG9nb0FsdFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmICh0ZXh0cykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibWRsLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgQGlmIChoZWFkaW5nVGFnVXRpbHMuaGFzSGVhZGluZ0NvbnRlbnQodGV4dHMsICdwcmV0aXRsZScsIHRleHRzPy5wcmV0aXRsZSkpIHtcbiAgICAgICAgICAgICAgICA8bGliLWJhYnlsb24tZHluYW1pYy1oZWFkaW5nXG4gICAgICAgICAgICAgICAgICAgIFt0YWddPVwiaGVhZGluZ1RhZ1V0aWxzLmdldEhlYWRpbmdUYWcodGV4dHMsICdwcmV0aXRsZScsICdwJylcIlxuICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwidGV4dENvbG9ycz8ucHJldGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICBjc3NDbGFzcz1cIm0tcHJldGl0dWxvXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwiaGVhZGluZ1RhZ1V0aWxzLmdldEhlYWRpbmdDb250ZW50KHRleHRzLCAncHJldGl0bGUnLCB0ZXh0cz8ucHJldGl0bGUpXCJcbiAgICAgICAgICAgICAgICA+PC9saWItYmFieWxvbi1keW5hbWljLWhlYWRpbmc+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGhlYWRpbmdUYWdVdGlscy5oYXNIZWFkaW5nQ29udGVudCh0ZXh0cywgJ3RpdGxlJywgdGV4dHM/LnRpdGxlKSkge1xuICAgICAgICAgICAgICAgIDxsaWItYmFieWxvbi1keW5hbWljLWhlYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgW3RhZ109XCJoZWFkaW5nVGFnVXRpbHMuZ2V0SGVhZGluZ1RhZyh0ZXh0cywgJ3RpdGxlJywgJ3AnKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJ0ZXh0Q29sb3JzPy50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwibS10aXR1bG9cIlxuICAgICAgICAgICAgICAgICAgICBbY29udGVudF09XCJoZWFkaW5nVGFnVXRpbHMuZ2V0SGVhZGluZ0NvbnRlbnQodGV4dHMsICd0aXRsZScsIHRleHRzPy50aXRsZSlcIlxuICAgICAgICAgICAgICAgID48L2xpYi1iYWJ5bG9uLWR5bmFtaWMtaGVhZGluZz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaGVhZGluZ1RhZ1V0aWxzLmhhc0hlYWRpbmdDb250ZW50KHRleHRzLCAnZGVzY3JpcHRpb24nLCB0ZXh0cz8uZGVzY3JpcHRpb24pKSB7XG4gICAgICAgICAgICAgICAgPGxpYi1iYWJ5bG9uLWR5bmFtaWMtaGVhZGluZ1xuICAgICAgICAgICAgICAgICAgICBbdGFnXT1cImhlYWRpbmdUYWdVdGlscy5nZXRIZWFkaW5nVGFnKHRleHRzLCAnZGVzY3JpcHRpb24nLCAncCcpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgY3NzQ2xhc3M9XCJtLXRleHRvXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwiaGVhZGluZ1RhZ1V0aWxzLmdldEhlYWRpbmdDb250ZW50KHRleHRzLCAnZGVzY3JpcHRpb24nLCB0ZXh0cz8uZGVzY3JpcHRpb24pXCJcbiAgICAgICAgICAgICAgICA+PC9saWItYmFieWxvbi1keW5hbWljLWhlYWRpbmc+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHRleHRzLnRleHQpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1lc3BlY2lhbFwiIFtpbm5lckhUTUxdPVwidGV4dHMudGV4dFwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmIChidXR0b25zPy5sZW5ndGgpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJtLWJ1dHRvbnMtcm93XCI+XG4gICAgICAgIEBpZiAoYnV0dG9ucz8uWzBdPy51cmwpIHtcbiAgICAgICAgICA8YVxuICAgICAgICAgICAgICBjbGFzcz1cIm0tYnV0dG9uRFwiXG4gICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvbnM/LlswXT8udXJsXCJcbiAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbnM/LlswXT8ubGlua1R5cGVcIlxuICAgICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwiYnV0dG9ucz8uWzBdPy50YXJnZXQgfHwgJ19zZWxmJ1wiXG4gICAgICAgICAgICAgIFthdHRyLnJlbF09XCIoYnV0dG9ucz8uWzBdPy50YXJnZXQgfHwgJ19zZWxmJykgPT09ICdfYmxhbmsnID8gJ25vb3BlbmVyIG5vcmVmZXJyZXInIDogbnVsbFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9ucz8uWzBdPy5sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBidXR0b25zPy5bMF0/LmxhYmVsIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoYnV0dG9ucz8uWzFdPy51cmwpIHtcbiAgICAgICAgICA8YVxuICAgICAgICAgICAgICBjbGFzcz1cIm0tYnV0dG9uRFwiXG4gICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvbnM/LlsxXT8udXJsXCJcbiAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbnM/LlsxXT8ubGlua1R5cGVcIlxuICAgICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwiYnV0dG9ucz8uWzFdPy50YXJnZXQgfHwgJ19zZWxmJ1wiXG4gICAgICAgICAgICAgIFthdHRyLnJlbF09XCIoYnV0dG9ucz8uWzFdPy50YXJnZXQgfHwgJ19zZWxmJykgPT09ICdfYmxhbmsnID8gJ25vb3BlbmVyIG5vcmVmZXJyZXInIDogbnVsbFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9ucz8uWzFdPy5sYWJlbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBidXR0b25zPy5bMV0/LmxhYmVsIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgfVxuXG5cbjwvc2VjdGlvbj5cbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzEtdHh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi9jb21wb25lbnRzL2V4dGVybmFsL2NvcmUvYzEtdHh0L2MxLXR4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9leHRlcm5hbC9jb3JlL2MxLXR4dC9jMS10eHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQU9qRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7O0FBYWhHLE1BQU0sT0FBTyxjQUFjO0lBWDNCO1FBWVcsb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFRaEMsZUFBVSxHQUFZLEVBQUUsQ0FBQztLQW1EckM7SUE3Q0csSUFBYSxJQUFJLENBQ2IsS0FPZTtRQUVmLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLE1BQU0sZUFBZSxHQUNqQixJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUc7WUFDZixJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVE7WUFDMUIsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE9BQU8sQ0FBQyxHQUFHLENBQUMsb0NBQW9DLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELElBQUksSUFBSTtRQVFKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBR0QsSUFBSSxPQUFPO1FBQ1AsT0FBTyxDQUNILElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRztZQUNkLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUc7WUFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUTtZQUN6QixJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQ3hCLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksTUFBTSxDQUFDO0lBQzNELENBQUM7K0dBM0RRLGNBQWM7bUdBQWQsY0FBYyw4TkN2QjNCLHUrSUFnSUEsNmxFRGhIUSxZQUFZLDZIQUNaLHdCQUF3QixtS0FDeEIsOEJBQThCOzs0RkFLekIsY0FBYztrQkFYMUIsU0FBUzsrQkFDSSxRQUFRLGNBQ04sSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osd0JBQXdCO3dCQUN4Qiw4QkFBOEI7cUJBQ2pDOzhCQWFRLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ08sSUFBSTtzQkFBaEIsS0FBSztnQkErQkcsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEhlYWRpbmdUYWdVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2hlYWRpbmctdGFnLnV0aWxzJztcbmltcG9ydCB7IEJhYnlsb25EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQge1xuICAgIEJhYnlsb25CdXR0b25JLFxuICAgIEJhYnlsb25JbWFnZUksXG4gICAgQmFieWxvblRleHRJbmZvSSxcbiAgICBCYWJ5bG9uVGV4dHNDb2xvcnNJLFxufSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMvbGluay10eXBlL2xpbmstdHlwZS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2MxLXR4dCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQmFieWxvbkxpbmtUeXBlRGlyZWN0aXZlLFxuICAgICAgICBCYWJ5bG9uRHluYW1pY0hlYWRpbmdDb21wb25lbnQsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYzEtdHh0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vYzEtdHh0LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgQzFUeHRDb21wb25lbnQge1xuICAgIHB1YmxpYyBoZWFkaW5nVGFnVXRpbHMgPSBIZWFkaW5nVGFnVXRpbHM7XG4gICAgcHJpdmF0ZSBfbG9nbz86IEJhYnlsb25JbWFnZUkgJiB7XG4gICAgICAgIHBhdGg/OiB7XG4gICAgICAgICAgICBvcmlnaW5hbD86IHN0cmluZztcbiAgICAgICAgICAgIHdlYnA/OiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIEBJbnB1dCgpIGlkZW50aWZpZXI/OiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSB0ZXh0cz86IEJhYnlsb25UZXh0SW5mb0k7XG4gICAgQElucHV0KCkgdGV4dENvbG9ycz86IEJhYnlsb25UZXh0c0NvbG9yc0k7XG4gICAgQElucHV0KCkgYWN0aXZlVmlldz86IG51bWJlcjtcbiAgICAvLyBhc3NpZ24gdmlzdGEgMyBpbiBjb21wb25lbnQgdG8gaGF2ZSBsZXNzIHBhZGRpbmcgd2hlbiBzaG93aW5nIHRoZSBpbWFnZSBhbmQgYnV0dG9uc1xuICAgIEBJbnB1dCgpIGltYWdlPzogQmFieWxvbkltYWdlSTtcbiAgICBASW5wdXQoKSBzZXQgbG9nbyhcbiAgICAgICAgdmFsdWU6XG4gICAgICAgICAgICB8IChCYWJ5bG9uSW1hZ2VJICYge1xuICAgICAgICAgICAgICAgICAgcGF0aD86IHtcbiAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbD86IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICB3ZWJwPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHwgdW5kZWZpbmVkXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX2xvZ28gPSB2YWx1ZTtcblxuICAgICAgICBjb25zdCByZXNvbHZlZExvZ29TcmMgPVxuICAgICAgICAgICAgdGhpcy5fbG9nbz8uc3JjIHx8XG4gICAgICAgICAgICB0aGlzLl9sb2dvPy5pbWc/LnNyYyB8fFxuICAgICAgICAgICAgdGhpcy5fbG9nbz8ucGF0aD8ub3JpZ2luYWwgfHxcbiAgICAgICAgICAgIHRoaXMuX2xvZ28/LnBhdGg/LndlYnA7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbQzFUeHRDb21wb25lbnRdIGxvZ28gaW5wdXQ6JywgdGhpcy5fbG9nbyk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbQzFUeHRDb21wb25lbnRdIHJlc29sdmVkIGxvZ29TcmM6JywgcmVzb2x2ZWRMb2dvU3JjKTtcbiAgICB9XG5cbiAgICBnZXQgbG9nbygpOlxuICAgICAgICB8IChCYWJ5bG9uSW1hZ2VJICYge1xuICAgICAgICAgICAgICBwYXRoPzoge1xuICAgICAgICAgICAgICAgICAgb3JpZ2luYWw/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICB3ZWJwPzogc3RyaW5nO1xuICAgICAgICAgICAgICB9O1xuICAgICAgICAgIH0pXG4gICAgICAgIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvZ287XG4gICAgfVxuICAgIEBJbnB1dCgpIGJ1dHRvbnM/OiBCYWJ5bG9uQnV0dG9uSVtdO1xuXG4gICAgZ2V0IGxvZ29TcmMoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMubG9nbz8uc3JjIHx8XG4gICAgICAgICAgICB0aGlzLmxvZ28/LmltZz8uc3JjIHx8XG4gICAgICAgICAgICB0aGlzLmxvZ28/LnBhdGg/Lm9yaWdpbmFsIHx8XG4gICAgICAgICAgICB0aGlzLmxvZ28/LnBhdGg/LndlYnBcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgbG9nb0FsdCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2dvPy5hbHQgfHwgdGhpcy5sb2dvPy5pbWc/LmFsdCB8fCAnbG9nbyc7XG4gICAgfVxufVxuIiwiPHNlY3Rpb25cbiAgICBjbGFzcz1cIm1kbC1DMVR4dFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgICBwcmltYXJ5OiBhY3RpdmVWaWV3ID09PSAwIHx8IGFjdGl2ZVZpZXcgPT09IDEsXG4gICAgICAgIHNlY3VuZGFyeTogYWN0aXZlVmlldyA9PT0gMixcbiAgICAgICAgdGVydGlhcnk6IGFjdGl2ZVZpZXcgPT09IDMsXG4gICAgICAgIGlkZW50aWZpZXIsXG4gICAgfVwiXG4gICAgW2lkXT1cImlkZW50aWZpZXJcIlxuPlxuICAgIEBpZiAoaW1hZ2U/LnNyYykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibWRsLWltYWdlblwiPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIFtzcmNdPVwiaW1hZ2U/LnNyY1wiXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgIFthbHRdPVwiaW1hZ2U/LmFsdCA/PyAnaW1hZ2UnXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAaWYgKGxvZ29TcmMpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1kbC1sb2dvXCI+XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwibG9nb1NyY1wiIGxvYWRpbmc9XCJsYXp5XCIgW2FsdF09XCJsb2dvQWx0XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAodGV4dHMpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1kbC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgaGVhZGluZ1RhZ1V0aWxzLmhhc0hlYWRpbmdDb250ZW50KFxuICAgICAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICAgICAgJ3ByZXRpdGxlJyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dHM/LnByZXRpdGxlXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgPGxpYi1iYWJ5bG9uLWR5bmFtaWMtaGVhZGluZ1xuICAgICAgICAgICAgICAgICAgICBbdGFnXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGluZ1RhZ1V0aWxzLmdldEhlYWRpbmdUYWcodGV4dHMsICdwcmV0aXRsZScsICdwJylcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LnByZXRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgY3NzQ2xhc3M9XCJtLXByZXRpdHVsb1wiXG4gICAgICAgICAgICAgICAgICAgIFtjb250ZW50XT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGluZ1RhZ1V0aWxzLmdldEhlYWRpbmdDb250ZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcmV0aXRsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dHM/LnByZXRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPjwvbGliLWJhYnlsb24tZHluYW1pYy1oZWFkaW5nPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICBoZWFkaW5nVGFnVXRpbHMuaGFzSGVhZGluZ0NvbnRlbnQodGV4dHMsICd0aXRsZScsIHRleHRzPy50aXRsZSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIDxsaWItYmFieWxvbi1keW5hbWljLWhlYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgW3RhZ109XCJoZWFkaW5nVGFnVXRpbHMuZ2V0SGVhZGluZ1RhZyh0ZXh0cywgJ3RpdGxlJywgJ3AnKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJ0ZXh0Q29sb3JzPy50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwibS10aXR1bG9cIlxuICAgICAgICAgICAgICAgICAgICBbY29udGVudF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRpbmdUYWdVdGlscy5nZXRIZWFkaW5nQ29udGVudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGl0bGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRzPy50aXRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L2xpYi1iYWJ5bG9uLWR5bmFtaWMtaGVhZGluZz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgaGVhZGluZ1RhZ1V0aWxzLmhhc0hlYWRpbmdDb250ZW50KFxuICAgICAgICAgICAgICAgICAgICB0ZXh0cyxcbiAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dHM/LmRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgPGxpYi1iYWJ5bG9uLWR5bmFtaWMtaGVhZGluZ1xuICAgICAgICAgICAgICAgICAgICBbdGFnXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGluZ1RhZ1V0aWxzLmdldEhlYWRpbmdUYWcodGV4dHMsICdkZXNjcmlwdGlvbicsICdwJylcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgY3NzQ2xhc3M9XCJtLXRleHRvXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkaW5nVGFnVXRpbHMuZ2V0SGVhZGluZ0NvbnRlbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0cz8uZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+PC9saWItYmFieWxvbi1keW5hbWljLWhlYWRpbmc+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHRleHRzLnRleHQpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1lc3BlY2lhbFwiIFtpbm5lckhUTUxdPVwidGV4dHMudGV4dFwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmIChidXR0b25zPy5sZW5ndGgpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tYnV0dG9ucy1yb3dcIj5cbiAgICAgICAgICAgIEBpZiAoYnV0dG9ucz8uWzBdPy51cmwpIHtcbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm0tYnV0dG9uRFwiXG4gICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvbnM/LlswXT8udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbnM/LlswXT8ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwiYnV0dG9ucz8uWzBdPy50YXJnZXQgfHwgJ19zZWxmJ1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChidXR0b25zPy5bMF0/LnRhcmdldCB8fCAnX3NlbGYnKSA9PT0gJ19ibGFuaydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdub29wZW5lciBub3JlZmVycmVyJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbnM/LlswXT8ubGFiZWxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgYnV0dG9ucz8uWzBdPy5sYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoYnV0dG9ucz8uWzFdPy51cmwpIHtcbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm0tYnV0dG9uRFwiXG4gICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvbnM/LlsxXT8udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbnM/LlsxXT8ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwiYnV0dG9ucz8uWzFdPy50YXJnZXQgfHwgJ19zZWxmJ1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnJlbF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChidXR0b25zPy5bMV0/LnRhcmdldCB8fCAnX3NlbGYnKSA9PT0gJ19ibGFuaydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdub29wZW5lciBub3JlZmVycmVyJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbnM/LlsxXT8ubGFiZWxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgYnV0dG9ucz8uWzFdPy5sYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9zZWN0aW9uPlxuIl19
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/fesm2022/ctt-babylon.mjs
3
- size: 57696290 bytes
4
- sha256: e5a54045da51dd8d083cb32b546b987186123dea3e94be3d22bf55b8d5c3933c
3
+ size: 57699226 bytes
4
+ sha256: f1316fbfcd945f1bf26216ceacf2778d1529aab1594f2251f7fd9c615ba53be5