@skyux/lookup 10.14.0 → 10.16.0

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.
@@ -132,7 +132,7 @@ export class SkySearchComponent {
132
132
  this.searchText = '';
133
133
  this.clearButtonShown = false;
134
134
  this.#searchAdapter.focusInput(this.#elRef);
135
- this.searchChange.emit(this.searchText);
135
+ this.#searchUpdated.next(this.searchText);
136
136
  this.searchApply.emit(this.searchText);
137
137
  this.searchClear.emit();
138
138
  }
@@ -289,4 +289,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
289
289
  }], placeholderText: [{
290
290
  type: Input
291
291
  }] } });
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUVwQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7QUFFbkUsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUM7QUFDdkMsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUM7QUFDekMsTUFBTSxzQkFBc0IsR0FBRyxZQUFZLENBQUM7QUFDNUMsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDO0FBQzlCLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0FBNEJoQyxNQUFNLE9BQU8sa0JBQWtCO0lBOEM3Qjs7Ozs7O09BTUc7SUFDSCxJQUNXLFVBQVUsQ0FBQyxLQUF5QjtRQUM3QyxJ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LEVBQUUsTUFBTTtpQkFDZCxDQUFDLENBQ0g7Z0JBQ0QsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDeEMsQ0FBQztTQUNIOzsyRkFHVSxrQkFBa0I7a0JBMUI5QixTQUFTOytCQUNFLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSSxjQUN6Qjt3QkFDVixPQUFPLENBQUMsWUFBWSxFQUFFOzRCQUNwQixLQUFLLENBQ0gsa0JBQWtCLEVBQ2xCLEtBQUssQ0FBQztnQ0FDSixPQUFPLEVBQUUsQ0FBQztnQ0FDVixLQUFLLEVBQUUsQ0FBQzs2QkFDVCxDQUFDLENBQ0g7NEJBQ0QsS0FBSyxDQUNILGlCQUFpQixFQUNqQixLQUFLLENBQUM7Z0NBQ0osT0FBTyxFQUFFLENBQUM7Z0NBQ1YsS0FBSyxFQUFFLE1BQU07NkJBQ2QsQ0FBQyxDQUNIOzRCQUNELFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3lCQUN4QyxDQUFDO3FCQUNILGFBQ1UsQ0FBQyx1QkFBdUIsQ0FBQzt3TEFZN0IsU0FBUztzQkFEZixLQUFLO2dCQVdDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsV0FBVztzQkFEakIsTUFBTTtnQkFPQSxZQUFZO3NCQURsQixNQUFNO2dCQU9BLFdBQVc7c0JBRGpCLE1BQU07Z0JBT0EsVUFBVTtzQkFEaEIsS0FBSztnQkFXSyxVQUFVO3NCQURwQixLQUFLO2dCQWNLLFlBQVk7c0JBRHRCLEtBQUs7Z0JBZUssUUFBUTtzQkFEbEIsS0FBSztnQkFlQyxlQUFlO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQW5pbWF0aW9uRXZlbnQsXG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5Q29udGVudEluZm8sXG4gIFNreUNvbnRlbnRJbmZvUHJvdmlkZXIsXG4gIFNreU1lZGlhQnJlYWtwb2ludHMsXG4gIFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5U2VhcmNoQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3NlYXJjaC1hZGFwdGVyLnNlcnZpY2UnO1xuXG5jb25zdCBJTlBVVF9TSE9XTl9TVEFURSA9ICdpbnB1dFNob3duJztcbmNvbnN0IElOUFVUX0hJRERFTl9TVEFURSA9ICdpbnB1dEhpZGRlbic7XG5jb25zdCBFWFBBTkRfTU9ERV9SRVNQT05TSVZFID0gJ3Jlc3BvbnNpdmUnO1xuY29uc3QgRVhQQU5EX01PREVfRklUID0gJ2ZpdCc7XG5jb25zdCBFWFBBTkRfTU9ERV9OT05FID0gJ25vbmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktc2VhcmNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignaW5wdXRTdGF0ZScsIFtcbiAgICAgIHN0YXRlKFxuICAgICAgICBJTlBVVF9ISURERU5fU1RBVEUsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgICBzdGF0ZShcbiAgICAgICAgSU5QVVRfU0hPV05fU1RBVEUsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICAgIHRyYW5zaXRpb24oJyogPD0+IConLCBhbmltYXRlKCcxNTBtcycpKSxcbiAgICBdKSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbU2t5U2VhcmNoQWRhcHRlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFRoZSBBUklBIGxhYmVsIGZvciB0aGUgc2VhcmNoIGlucHV0LiBUaGlzIHNldHMgdGhlIHNlYXJjaCBpbnB1dCdzIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gcHJvdmlkZSBhIHRleHQgZXF1aXZhbGVudCBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogVXNlIGEgY29udGV4dC1zZW5zaXRpdmUgbGFiZWwsIHN1Y2ggYXMgXCJTZWFyY2ggY29uc3RpdHVlbnRzLlwiIENvbnRleHQgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgd2hlbiBtdWx0aXBsZSBzZWFyY2ggaW5wdXRzIGFyZSBpbiBjbG9zZSBwcm94aW1pdHkuXG4gICAqIEluIHRvb2xiYXJzLCBzZWFyY2ggaW5wdXRzIHVzZSB0aGUgYGxpc3REZXNjcmlwdG9yYCB0byBwcm92aWRlIGNvbnRleHQsIGFuZCB0aGUgQVJJQSBsYWJlbCBkZWZhdWx0cyB0byBcIlNlYXJjaCA8bGlzdERlc2NyaXB0b3I+LlwiXG4gICAqIElmIHRoZSBib3ggaW5jbHVkZXMgYSB2aXNpYmxlIGxhYmVsLCB1c2UgYGFyaWFMYWJlbGxlZEJ5YCBpbnN0ZWFkLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSwgc2VlIHRoZSBbV0FJLUFSSUEgZGVmaW5pdGlvbl0oaHR0cHM6Ly93d3cudzMub3JnL1RSL3dhaS1hcmlhLyNhcmlhLWxhYmVsKS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcmlhTGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIEhUTUwgZWxlbWVudCBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGxhYmVsc1xuICAgKiB0aGUgc2VhcmNoLiBUaGlzIHNldHMgdGhlIHNlYXJjaCdzIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZSB0byBwcm92aWRlIGEgdGV4dCBlcXVpdmFsZW50IGZvciBzY3JlZW4gcmVhZGVyc1xuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBJZiB0aGUgYm94IGRvZXMgbm90IGluY2x1ZGUgYSB2aXNpYmxlIGxhYmVsLCB1c2UgYGFyaWFMYWJlbGAgaW5zdGVhZC5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZSwgc2VlIHRoZSBbV0FJLUFSSUEgZGVmaW5pdGlvbl0oaHR0cHM6Ly93d3cudzMub3JnL1RSL3dhaS1hcmlhLyNhcmlhLWxhYmVsbGVkYnkpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFyaWFMYWJlbGxlZEJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlYXJjaCB0ZXh0IGlzIGFwcGxpZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlYXJjaEFwcGx5ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlYXJjaCB0ZXh0IGlzIGNoYW5nZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlYXJjaENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWFyY2ggdGV4dCBpcyBjbGVhcmVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hDbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRGVmYXVsdCBzZWFyY2ggY3JpdGVyaWEgZm9yIHRoZSBpbnB1dC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWFyY2hUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBleHBhbmQgbW9kZSBmb3IgdGhlIHNlYXJjaCBpbnB1dC4gVGhlIHZhbGlkIG9wdGlvbnNcbiAgICogaW5jbHVkZSBgXCJyZXNwb25zaXZlXCJgIHRvIGNvbGxhcHNlIHRoZSBzZWFyY2ggaW5wdXQgaW50byBhIGJ1dHRvbiBvblxuICAgKiBtb2JpbGUgZGV2aWNlcywgYFwibm9uZVwiYCB0byAqbm90KiBjb2xsYXBzZSB0aGUgc2VhcmNoIGlucHV0IG9uIG1vYmlsZVxuICAgKiBkZXZpY2VzLCBhbmQgYFwiZml0XCJgIHRvIGV4dGVuZCB0aGUgc2VhcmNoIGlucHV0IHRvIGZpdCB0aGUgd2lkdGggb2YgaXRzIGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgXCJyZXNwb25zaXZlXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZXhwYW5kTW9kZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2V4cGFuZE1vZGUgPSB2YWx1ZSA/PyBFWFBBTkRfTU9ERV9SRVNQT05TSVZFO1xuICB9XG5cbiAgcHVibGljIGdldCBleHBhbmRNb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI19leHBhbmRNb2RlO1xuICB9XG5cbiAgLyoqXG4gICAqIEhvdyBtYW55IG1pbGxpc2Vjb25kcyB0byB3YWl0IGJlZm9yZSBzZWFyY2hpbmcgYWZ0ZXIgdXNlcnMgZW50ZXIgdGV4dCBpbiB0aGUgc2VhcmNoIGlucHV0LlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlYm91bmNlVGltZSh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2RlYm91bmNlVGltZSA9IHZhbHVlID8/IDA7XG4gICAgdGhpcy4jc2V0dXBTZWFyY2hDaGFuZ2VkRXZlbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVib3VuY2VUaW1lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI19kZWJvdW5jZVRpbWU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNhYmxlIHRoZSBmaWx0ZXIgYnV0dG9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNhYmxlZCA9IHZhbHVlID8/IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRleHQgdG8gZGlzcGxheSBpbiB0aGUgc2VhcmNoIGlucHV0IHVudGlsIHVzZXJzXG4gICAqIGVudGVyIHNlYXJjaCBjcml0ZXJpYS5cbiAgICogQGRlZmF1bHQgXCJGaW5kIGluIHRoaXMgbGlzdFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcGxhY2Vob2xkZXJUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGJyZWFrcG9pbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgY2xlYXJCdXR0b25TaG93biA9IGZhbHNlO1xuXG4gIHB1YmxpYyBkaXNtaXNzQnV0dG9uU2hvd24gPSBmYWxzZTtcblxuICBwdWJsaWMgaW5wdXRBbmltYXRlOiBzdHJpbmcgPSBJTlBVVF9TSE9XTl9TVEFURTtcblxuICBwdWJsaWMgaXNDb2xsYXBzaWJsZSA9IHRydWU7XG5cbiAgcHVibGljIGlzRnVsbFdpZHRoID0gZmFsc2U7XG5cbiAgcHVibGljIG1vYmlsZVNlYXJjaFNob3duID0gZmFsc2U7XG5cbiAgcHVibGljIHNlYXJjaEJ1dHRvblNob3duID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGNvbnRlbnRJbmZvT2JzOiBPYnNlcnZhYmxlPFNreUNvbnRlbnRJbmZvPiB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICAjY29udGVudEluZm9Qcm92aWRlciA9IGluamVjdChTa3lDb250ZW50SW5mb1Byb3ZpZGVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICNlbFJlZjogRWxlbWVudFJlZjtcblxuICAjbWVkaWFRdWVyeVNlcnZpY2U6IFNreU1lZGlhUXVlcnlTZXJ2aWNlO1xuXG4gICNzZWFyY2hBZGFwdGVyOiBTa3lTZWFyY2hBZGFwdGVyU2VydmljZTtcblxuICAjc2VhcmNoVXBkYXRlZCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAjc2VhcmNoVXBkYXRlZFN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICNfZGVib3VuY2VUaW1lID0gMDtcblxuICAjX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgI19leHBhbmRNb2RlID0gRVhQQU5EX01PREVfUkVTUE9OU0lWRTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBtZWRpYVF1ZXJ5U2VydmljZTogU2t5TWVkaWFRdWVyeVNlcnZpY2UsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgc2VhcmNoQWRhcHRlcjogU2t5U2VhcmNoQWRhcHRlclNlcnZpY2UsXG4gICAgY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UgPSBtZWRpYVF1ZXJ5U2VydmljZTtcbiAgICB0aGlzLiNlbFJlZiA9IGVsUmVmO1xuICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIgPSBzZWFyY2hBZGFwdGVyO1xuICAgIHRoaXMuI2NoYW5nZVJlZiA9IGNoYW5nZVJlZjtcblxuICAgIHRoaXMuY29udGVudEluZm9PYnMgPSB0aGlzLiNjb250ZW50SW5mb1Byb3ZpZGVyPy5nZXRJbmZvKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbiA9IHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLnN1YnNjcmliZShcbiAgICAgICAgKGFyZ3M6IFNreU1lZGlhQnJlYWtwb2ludHMpID0+IHtcbiAgICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5Q2FsbGJhY2soYXJncyk7XG4gICAgICAgICAgdGhpcy4jY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy4jc2V0dXBTZWFyY2hDaGFuZ2VkRXZlbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMuI2V4cGFuZE1vZGVCaW5kaW5nQ2hhbmdlZChjaGFuZ2VzKSkge1xuICAgICAgc3dpdGNoICh0aGlzLmV4cGFuZE1vZGUpIHtcbiAgICAgICAgY2FzZSBFWFBBTkRfTU9ERV9OT05FOlxuICAgICAgICAgIHRoaXMuaXNDb2xsYXBzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNGdWxsV2lkdGggPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBFWFBBTkRfTU9ERV9GSVQ6XG4gICAgICAgICAgdGhpcy5pc0NvbGxhcHNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5pc0Z1bGxXaWR0aCA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhpcy5pc0NvbGxhcHNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmlzRnVsbFdpZHRoID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI3NlYXJjaEJpbmRpbmdDaGFuZ2VkKGNoYW5nZXMpKSB7XG4gICAgICB0aGlzLmNsZWFyQnV0dG9uU2hvd24gPSAhISh0aGlzLnNlYXJjaFRleHQgJiYgdGhpcy5zZWFyY2hUZXh0ICE9PSAnJyk7XG4gICAgICBpZiAodGhpcy4jc2hvdWxkT3BlbklucHV0KCkpIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9TSE9XTl9TVEFURTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy4jY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlYXJjaFRleHQoKSB7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gICAgdGhpcy5jbGVhckJ1dHRvblNob3duID0gZmFsc2U7XG5cbiAgICB0aGlzLiNzZWFyY2hBZGFwdGVyLmZvY3VzSW5wdXQodGhpcy4jZWxSZWYpO1xuICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQodGhpcy5zZWFyY2hUZXh0KTtcblxuICAgIHRoaXMuc2VhcmNoQXBwbHkuZW1pdCh0aGlzLnNlYXJjaFRleHQpO1xuXG4gICAgdGhpcy5zZWFyY2hDbGVhci5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgZW50ZXJQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCwgc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdFbnRlcicgfHwgZXZlbnQuY29kZSA9PT0gJ051bXBhZEVudGVyJykge1xuICAgICAgdGhpcy5hcHBseVNlYXJjaFRleHQoc2VhcmNoVGV4dCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFwcGx5U2VhcmNoVGV4dChzZWFyY2hUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAvLyBEb3VibGUgY2hlY2sgdGhhdCBzZWFyY2ggdGV4dCBpcyBkZWZpbmVkIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHRyaW0gb2ZmIHdoaXRlc3BhY2VcbiAgICBpZiAoc2VhcmNoVGV4dCkge1xuICAgICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQudHJpbSgpO1xuICAgIH1cblxuICAgIGlmIChzZWFyY2hUZXh0ICE9PSB0aGlzLnNlYXJjaFRleHQpIHtcbiAgICAgIHRoaXMuc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQ7XG4gICAgfVxuICAgIHRoaXMuY2xlYXJCdXR0b25TaG93biA9ICEhKHNlYXJjaFRleHQgJiYgc2VhcmNoVGV4dCAhPT0gJycpO1xuICAgIGlmIChzZWFyY2hUZXh0ICYmIHNlYXJjaFRleHQgIT09ICcnKSB7XG4gICAgICB0aGlzLiNzZWFyY2hBZGFwdGVyLnNlbGVjdElucHV0KHRoaXMuI2VsUmVmKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaEFwcGx5LmVtaXQoc2VhcmNoVGV4dCk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoVGV4dENoYW5nZWQoc2VhcmNoVGV4dDogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gc2VhcmNoVGV4dDtcbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkLm5leHQoc2VhcmNoVGV4dCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlU2VhcmNoSW5wdXQoc2hvd0lucHV0OiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIGlmIChzaG93SW5wdXQpIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9TSE9XTl9TVEFURTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfSElEREVOX1NUQVRFO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbnB1dEFuaW1hdGlvblN0YXJ0KGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICB0aGlzLiNzZWFyY2hBZGFwdGVyLnN0YXJ0SW5wdXRBbmltYXRpb24odGhpcy4jZWxSZWYpO1xuXG4gICAgICBpZiAoXG4gICAgICAgIGV2ZW50LnRvU3RhdGUgPT09IElOUFVUX1NIT1dOX1NUQVRFICYmXG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHNcbiAgICAgICkge1xuICAgICAgICB0aGlzLm1vYmlsZVNlYXJjaFNob3duID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZWFyY2hCdXR0b25TaG93biA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbnB1dEFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICBpZiAodGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSkge1xuICAgICAgdGhpcy4jc2VhcmNoQWRhcHRlci5lbmRJbnB1dEFuaW1hdGlvbih0aGlzLiNlbFJlZik7XG5cbiAgICAgIHRoaXMuc2VhcmNoQnV0dG9uU2hvd24gPVxuICAgICAgICBldmVudC50b1N0YXRlID09PSBJTlBVVF9ISURERU5fU1RBVEUgJiZcbiAgICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cztcblxuICAgICAgaWYgKFxuICAgICAgICAoZXZlbnQudG9TdGF0ZSA9PT0gSU5QVVRfSElEREVOX1NUQVRFICYmXG4gICAgICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cykgfHxcbiAgICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCAhPT0gU2t5TWVkaWFCcmVha3BvaW50cy54c1xuICAgICAgKSB7XG4gICAgICAgIHRoaXMubW9iaWxlU2VhcmNoU2hvd24gPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5icmVha3BvaW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWRTdWI/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbiAgI3NlYXJjaEJpbmRpbmdDaGFuZ2VkKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICByZXR1cm4gKFxuICAgICAgY2hhbmdlc1snc2VhcmNoVGV4dCddICYmXG4gICAgICBjaGFuZ2VzWydzZWFyY2hUZXh0J10ucHJldmlvdXNWYWx1ZSAhPT0gY2hhbmdlc1snc2VhcmNoVGV4dCddLmN1cnJlbnRWYWx1ZVxuICAgICk7XG4gIH1cblxuICAjZXhwYW5kTW9kZUJpbmRpbmdDaGFuZ2VkKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICByZXR1cm4gKFxuICAgICAgY2hhbmdlc1snZXhwYW5kTW9kZSddICYmXG4gICAgICBjaGFuZ2VzWydleHBhbmRNb2RlJ10ucHJldmlvdXNWYWx1ZSAhPT0gY2hhbmdlc1snZXhwYW5kTW9kZSddLmN1cnJlbnRWYWx1ZVxuICAgICk7XG4gIH1cblxuICAjc2hvdWxkT3BlbklucHV0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNlYXJjaFRleHQgIT09ICcnICYmXG4gICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzICYmXG4gICAgICB0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpXG4gICAgKTtcbiAgfVxuXG4gICNtZWRpYVF1ZXJ5Q2FsbGJhY2soYXJnczogU2t5TWVkaWFCcmVha3BvaW50cyk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICBpZiAoYXJncyA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cykge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX0hJRERFTl9TVEFURTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pbnB1dEFuaW1hdGUgIT09IElOUFVUX1NIT1dOX1NUQVRFKSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfU0hPV05fU1RBVEU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm1vYmlsZVNlYXJjaFNob3duID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNzZWFyY2hTaG91bGRDb2xsYXBzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMuaXNDb2xsYXBzaWJsZSB8fCB0aGlzLmlzQ29sbGFwc2libGUgPT09IHVuZGVmaW5lZCkgJiZcbiAgICAgIHRoaXMuaXNGdWxsV2lkdGggIT09IHRydWVcbiAgICApO1xuICB9XG5cbiAgI3NldHVwU2VhcmNoQ2hhbmdlZEV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWRTdWI/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkU3ViID0gdGhpcy4jc2VhcmNoVXBkYXRlZFxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktc2VhcmNoLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwic2t5LXNlYXJjaC1idXR0b24tY29udGFpbmVyXCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLWljb24gc2t5LXNlYXJjaC1idG4tb3BlblwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X3NlYXJjaF9vcGVuJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICBbaGlkZGVuXT1cIiFzZWFyY2hCdXR0b25TaG93blwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdza3ktc2VhcmNoLWJ0bi1vcGVuLWFwcGxpZWQnOiBjbGVhckJ1dHRvblNob3duIH1cIlxuICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlYXJjaElucHV0KHRydWUpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoSWNvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktc2VhcmNoLWRpc21pc3MtY29udGFpbmVyXCJcbiAgICBbaGlkZGVuXT1cInNlYXJjaEJ1dHRvblNob3duXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LXNlYXJjaC1kaXNtaXNzLWFic29sdXRlJzogbW9iaWxlU2VhcmNoU2hvd24gfHwgaXNGdWxsV2lkdGhcbiAgICB9XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJza3ktc2VhcmNoLWl0ZW0taW5wdXRcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJza3ktc2VhcmNoLWlucHV0LWNvbnRhaW5lclwiXG4gICAgICAgIFtAaW5wdXRTdGF0ZV09XCJpbnB1dEFuaW1hdGVcIlxuICAgICAgICAoQGlucHV0U3RhdGUuc3RhcnQpPVwiaW5wdXRBbmltYXRpb25TdGFydCgkZXZlbnQpXCJcbiAgICAgICAgKEBpbnB1dFN0YXRlLmRvbmUpPVwiaW5wdXRBbmltYXRpb25FbmQoJGV2ZW50KVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LXNlYXJjaC1pbnB1dC1jb250YWluZXItaGFzLXZhbHVlJzogc2VhcmNoVGV4dD8udHJpbSgpXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICA8c2t5LWlucHV0LWJveCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWZvcm0tY29udHJvbCBza3ktc2VhcmNoLWlucHV0IHNreS1yb3VuZGVkLWNvcm5lcnNcIlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsbGVkQnlcbiAgICAgICAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIDogYXJpYUxhYmVsIHx8XG4gICAgICAgICAgICAgICAgICAoKGNvbnRlbnRJbmZvT2JzIHwgYXN5bmMpPy5kZXNjcmlwdG9yPy50eXBlID09PSAndGV4dCdcbiAgICAgICAgICAgICAgICAgICAgPyAoJ3NreXV4X3NlYXJjaF9hcmlhX2xhYmVsX2Rlc2NyaXB0b3InXG4gICAgICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIDogKGNvbnRlbnRJbmZvT2JzIHwgYXN5bmMpPy5kZXNjcmlwdG9yPy52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgOiAoJ3NreXV4X3NlYXJjaF9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMpKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXJUZXh0IHx8ICgnc2t5dXhfc2VhcmNoX3BsYWNlaG9sZGVyJyB8IHNreUxpYlJlc291cmNlcylcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAoa2V5dXApPVwiZW50ZXJQcmVzcygkZXZlbnQsIHNlYXJjaFRleHQpXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlYXJjaFRleHRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgc2t5SWRcbiAgICAgICAgICAgICNzZWFyY2hJbnB1dD1cInNreUlkXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInNreS1pbnB1dC1ncm91cC1idG4gc2t5LWlucHV0LWdyb3VwLWNsZWFyIHNreS1pbnB1dC1ib3gtYnRuLWluc2V0XCJcbiAgICAgICAgICAgIFtoaWRkZW5dPVwiIWNsZWFyQnV0dG9uU2hvd25cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktc2VhcmNoLWJ0biBza3ktc2VhcmNoLWJ0bi1jbGVhclwiXG4gICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VhcmNoVGV4dCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCIgaWNvbj1cInRpbWVzXCIgLz5cbiAgICAgICAgICAgICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ21vZGVybidcIiBpY29uPVwiY2xvc2VcIiBzaXplPVwic21cIiAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1pbnB1dC1ncm91cC1idG4gc2t5LWlucHV0LWJveC1idG4taW5zZXRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktc2VhcmNoLWJ0biBza3ktc2VhcmNoLWJ0bi1hcHBseVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9zZWFyY2hfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImFwcGx5U2VhcmNoVGV4dChzZWFyY2hUZXh0KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInNlYXJjaEljb25UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICBjbGFzcz1cInNreS1pbnB1dC1ncm91cC1pY29uIHNreS1pbnB1dC1ib3gtaWNvbi1pbnNldC1sZWZ0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoSWNvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2t5LWlucHV0LWJveD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJza3ktc2VhcmNoLWl0ZW0tZGlzbWlzc1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cIm1vYmlsZVNlYXJjaFNob3duXCJcbiAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tc2Vjb25kYXJ5IHNreS1zZWFyY2gtYnRuLWRpc21pc3NcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2F0dHIudGl0bGVdPVwiJ3NreXV4X3NlYXJjaF9kaXNtaXNzJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVTZWFyY2hJbnB1dChmYWxzZSlcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiXG4gICAgICAgICAgaWNvbj1cImNoZXZyb24tY2lyY2xlLWxlZnRcIlxuICAgICAgICAgIHNpemU9XCJsZ1wiXG4gICAgICAgIC8+XG4gICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCIgaWNvbj1cImRvdWJsZS1jaGV2cm9uLWxlZnRcIiAvPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc2VhcmNoSWNvblRlbXBsYXRlPlxuICA8c2t5LWljb24gaWNvbj1cInNlYXJjaFwiIHNpemU9XCJsZ1wiIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUVwQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7QUFFbkUsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUM7QUFDdkMsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUM7QUFDekMsTUFBTSxzQkFBc0IsR0FBRyxZQUFZLENBQUM7QUFDNUMsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDO0FBQzlCLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0FBNEJoQyxNQUFNLE9BQU8sa0JBQWtCO0lBOEM3Qjs7Ozs7O09BTUc7SUFDSCxJQUNXLFVBQVUsQ0FBQyxLQUF5QjtRQUM3QyxJ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SyxFQUFFLE1BQU07aUJBQ2QsQ0FBQyxDQUNIO2dCQUNELFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3hDLENBQUM7U0FDSDs7MkZBR1Usa0JBQWtCO2tCQTFCOUIsU0FBUzsrQkFDRSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUksY0FDekI7d0JBQ1YsT0FBTyxDQUFDLFlBQVksRUFBRTs0QkFDcEIsS0FBSyxDQUNILGtCQUFrQixFQUNsQixLQUFLLENBQUM7Z0NBQ0osT0FBTyxFQUFFLENBQUM7Z0NBQ1YsS0FBSyxFQUFFLENBQUM7NkJBQ1QsQ0FBQyxDQUNIOzRCQUNELEtBQUssQ0FDSCxpQkFBaUIsRUFDakIsS0FBSyxDQUFDO2dDQUNKLE9BQU8sRUFBRSxDQUFDO2dDQUNWLEtBQUssRUFBRSxNQUFNOzZCQUNkLENBQUMsQ0FDSDs0QkFDRCxVQUFVLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzt5QkFDeEMsQ0FBQztxQkFDSCxhQUNVLENBQUMsdUJBQXVCLENBQUM7d0xBWTdCLFNBQVM7c0JBRGYsS0FBSztnQkFXQyxjQUFjO3NCQURwQixLQUFLO2dCQU9DLFdBQVc7c0JBRGpCLE1BQU07Z0JBT0EsWUFBWTtzQkFEbEIsTUFBTTtnQkFPQSxXQUFXO3NCQURqQixNQUFNO2dCQU9BLFVBQVU7c0JBRGhCLEtBQUs7Z0JBV0ssVUFBVTtzQkFEcEIsS0FBSztnQkFjSyxZQUFZO3NCQUR0QixLQUFLO2dCQWVLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZUMsZUFBZTtzQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFuaW1hdGlvbkV2ZW50LFxuICBhbmltYXRlLFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUNvbnRlbnRJbmZvLFxuICBTa3lDb250ZW50SW5mb1Byb3ZpZGVyLFxuICBTa3lNZWRpYUJyZWFrcG9pbnRzLFxuICBTa3lNZWRpYVF1ZXJ5U2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZWFyY2gtYWRhcHRlci5zZXJ2aWNlJztcblxuY29uc3QgSU5QVVRfU0hPV05fU1RBVEUgPSAnaW5wdXRTaG93bic7XG5jb25zdCBJTlBVVF9ISURERU5fU1RBVEUgPSAnaW5wdXRIaWRkZW4nO1xuY29uc3QgRVhQQU5EX01PREVfUkVTUE9OU0lWRSA9ICdyZXNwb25zaXZlJztcbmNvbnN0IEVYUEFORF9NT0RFX0ZJVCA9ICdmaXQnO1xuY29uc3QgRVhQQU5EX01PREVfTk9ORSA9ICdub25lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXNlYXJjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2lucHV0U3RhdGUnLCBbXG4gICAgICBzdGF0ZShcbiAgICAgICAgSU5QVVRfSElEREVOX1NUQVRFLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgIElOUFVUX1NIT1dOX1NUQVRFLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCcqIDw9PiAqJywgYW5pbWF0ZSgnMTUwbXMnKSksXG4gICAgXSksXG4gIF0sXG4gIHByb3ZpZGVyczogW1NreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5U2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIC8qKlxuICAgKiBUaGUgQVJJQSBsYWJlbCBmb3IgdGhlIHNlYXJjaCBpbnB1dC4gVGhpcyBzZXRzIHRoZSBzZWFyY2ggaW5wdXQncyBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHByb3ZpZGUgYSB0ZXh0IGVxdWl2YWxlbnQgZm9yIHNjcmVlbiByZWFkZXJzXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqIFVzZSBhIGNvbnRleHQtc2Vuc2l0aXZlIGxhYmVsLCBzdWNoIGFzIFwiU2VhcmNoIGNvbnN0aXR1ZW50cy5cIiBDb250ZXh0IGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IHdoZW4gbXVsdGlwbGUgc2VhcmNoIGlucHV0cyBhcmUgaW4gY2xvc2UgcHJveGltaXR5LlxuICAgKiBJbiB0b29sYmFycywgc2VhcmNoIGlucHV0cyB1c2UgdGhlIGBsaXN0RGVzY3JpcHRvcmAgdG8gcHJvdmlkZSBjb250ZXh0LCBhbmQgdGhlIEFSSUEgbGFiZWwgZGVmYXVsdHMgdG8gXCJTZWFyY2ggPGxpc3REZXNjcmlwdG9yPi5cIlxuICAgKiBJZiB0aGUgYm94IGluY2x1ZGVzIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBhcmlhTGFiZWxsZWRCeWAgaW5zdGVhZC5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbCkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXJpYUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBIVE1MIGVsZW1lbnQgSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBsYWJlbHNcbiAgICogdGhlIHNlYXJjaC4gVGhpcyBzZXRzIHRoZSBzZWFyY2gncyBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGUgdG8gcHJvdmlkZSBhIHRleHQgZXF1aXZhbGVudCBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogSWYgdGhlIGJveCBkb2VzIG5vdCBpbmNsdWRlIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBhcmlhTGFiZWxgIGluc3RlYWQuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbGxlZGJ5KS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcmlhTGFiZWxsZWRCeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWFyY2ggdGV4dCBpcyBhcHBsaWVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hBcHBseSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWFyY2ggdGV4dCBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgc2VhcmNoIHRleHQgaXMgY2xlYXJlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VhcmNoQ2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgc2VhcmNoIGNyaXRlcmlhIGZvciB0aGUgaW5wdXQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgZXhwYW5kIG1vZGUgZm9yIHRoZSBzZWFyY2ggaW5wdXQuIFRoZSB2YWxpZCBvcHRpb25zXG4gICAqIGluY2x1ZGUgYFwicmVzcG9uc2l2ZVwiYCB0byBjb2xsYXBzZSB0aGUgc2VhcmNoIGlucHV0IGludG8gYSBidXR0b24gb25cbiAgICogbW9iaWxlIGRldmljZXMsIGBcIm5vbmVcImAgdG8gKm5vdCogY29sbGFwc2UgdGhlIHNlYXJjaCBpbnB1dCBvbiBtb2JpbGVcbiAgICogZGV2aWNlcywgYW5kIGBcImZpdFwiYCB0byBleHRlbmQgdGhlIHNlYXJjaCBpbnB1dCB0byBmaXQgdGhlIHdpZHRoIG9mIGl0cyBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0IFwicmVzcG9uc2l2ZVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGV4cGFuZE1vZGUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19leHBhbmRNb2RlID0gdmFsdWUgPz8gRVhQQU5EX01PREVfUkVTUE9OU0lWRTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhwYW5kTW9kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfZXhwYW5kTW9kZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb3cgbWFueSBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgc2VhcmNoaW5nIGFmdGVyIHVzZXJzIGVudGVyIHRleHQgaW4gdGhlIHNlYXJjaCBpbnB1dC5cbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZWJvdW5jZVRpbWUodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kZWJvdW5jZVRpbWUgPSB2YWx1ZSA/PyAwO1xuICAgIHRoaXMuI3NldHVwU2VhcmNoQ2hhbmdlZEV2ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlYm91bmNlVGltZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfZGVib3VuY2VUaW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgZmlsdGVyIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzYWJsZWQgPSB2YWx1ZSA/PyBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIHNlYXJjaCBpbnB1dCB1bnRpbCB1c2Vyc1xuICAgKiBlbnRlciBzZWFyY2ggY3JpdGVyaWEuXG4gICAqIEBkZWZhdWx0IFwiRmluZCBpbiB0aGlzIGxpc3RcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBsYWNlaG9sZGVyVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBicmVha3BvaW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGNsZWFyQnV0dG9uU2hvd24gPSBmYWxzZTtcblxuICBwdWJsaWMgZGlzbWlzc0J1dHRvblNob3duID0gZmFsc2U7XG5cbiAgcHVibGljIGlucHV0QW5pbWF0ZTogc3RyaW5nID0gSU5QVVRfU0hPV05fU1RBVEU7XG5cbiAgcHVibGljIGlzQ29sbGFwc2libGUgPSB0cnVlO1xuXG4gIHB1YmxpYyBpc0Z1bGxXaWR0aCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBtb2JpbGVTZWFyY2hTaG93biA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzZWFyY2hCdXR0b25TaG93biA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBjb250ZW50SW5mb09iczogT2JzZXJ2YWJsZTxTa3lDb250ZW50SW5mbz4gfCB1bmRlZmluZWQ7XG5cbiAgI2NoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG5cbiAgI2NvbnRlbnRJbmZvUHJvdmlkZXIgPSBpbmplY3QoU2t5Q29udGVudEluZm9Qcm92aWRlciwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAjZWxSZWY6IEVsZW1lbnRSZWY7XG5cbiAgI21lZGlhUXVlcnlTZXJ2aWNlOiBTa3lNZWRpYVF1ZXJ5U2VydmljZTtcblxuICAjc2VhcmNoQWRhcHRlcjogU2t5U2VhcmNoQWRhcHRlclNlcnZpY2U7XG5cbiAgI3NlYXJjaFVwZGF0ZWQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgI3NlYXJjaFVwZGF0ZWRTdWI6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICAjX2RlYm91bmNlVGltZSA9IDA7XG5cbiAgI19kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICNfZXhwYW5kTW9kZSA9IEVYUEFORF9NT0RFX1JFU1BPTlNJVkU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbWVkaWFRdWVyeVNlcnZpY2U6IFNreU1lZGlhUXVlcnlTZXJ2aWNlLFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHNlYXJjaEFkYXB0ZXI6IFNreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlLFxuICAgIGNoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlID0gbWVkaWFRdWVyeVNlcnZpY2U7XG4gICAgdGhpcy4jZWxSZWYgPSBlbFJlZjtcbiAgICB0aGlzLiNzZWFyY2hBZGFwdGVyID0gc2VhcmNoQWRhcHRlcjtcbiAgICB0aGlzLiNjaGFuZ2VSZWYgPSBjaGFuZ2VSZWY7XG5cbiAgICB0aGlzLmNvbnRlbnRJbmZvT2JzID0gdGhpcy4jY29udGVudEluZm9Qcm92aWRlcj8uZ2V0SW5mbygpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICB0aGlzLmJyZWFrcG9pbnRTdWJzY3JpcHRpb24gPSB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5zdWJzY3JpYmUoXG4gICAgICAgIChhcmdzOiBTa3lNZWRpYUJyZWFrcG9pbnRzKSA9PiB7XG4gICAgICAgICAgdGhpcy4jbWVkaWFRdWVyeUNhbGxiYWNrKGFyZ3MpO1xuICAgICAgICAgIHRoaXMuI2NoYW5nZVJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuI3NldHVwU2VhcmNoQ2hhbmdlZEV2ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNleHBhbmRNb2RlQmluZGluZ0NoYW5nZWQoY2hhbmdlcykpIHtcbiAgICAgIHN3aXRjaCAodGhpcy5leHBhbmRNb2RlKSB7XG4gICAgICAgIGNhc2UgRVhQQU5EX01PREVfTk9ORTpcbiAgICAgICAgICB0aGlzLmlzQ29sbGFwc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzRnVsbFdpZHRoID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgRVhQQU5EX01PREVfRklUOlxuICAgICAgICAgIHRoaXMuaXNDb2xsYXBzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNGdWxsV2lkdGggPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRoaXMuaXNDb2xsYXBzaWJsZSA9IHRydWU7XG4gICAgICAgICAgdGhpcy5pc0Z1bGxXaWR0aCA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLiNzZWFyY2hCaW5kaW5nQ2hhbmdlZChjaGFuZ2VzKSkge1xuICAgICAgdGhpcy5jbGVhckJ1dHRvblNob3duID0gISEodGhpcy5zZWFyY2hUZXh0ICYmIHRoaXMuc2VhcmNoVGV4dCAhPT0gJycpO1xuICAgICAgaWYgKHRoaXMuI3Nob3VsZE9wZW5JbnB1dCgpKSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfU0hPV05fU1RBVEU7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuI2NoYW5nZVJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJTZWFyY2hUZXh0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xuICAgIHRoaXMuY2xlYXJCdXR0b25TaG93biA9IGZhbHNlO1xuXG4gICAgdGhpcy4jc2VhcmNoQWRhcHRlci5mb2N1c0lucHV0KHRoaXMuI2VsUmVmKTtcbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkLm5leHQodGhpcy5zZWFyY2hUZXh0KTtcblxuICAgIHRoaXMuc2VhcmNoQXBwbHkuZW1pdCh0aGlzLnNlYXJjaFRleHQpO1xuXG4gICAgdGhpcy5zZWFyY2hDbGVhci5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgZW50ZXJQcmVzcyhcbiAgICBldmVudDogS2V5Ym9hcmRFdmVudCxcbiAgICBzZWFyY2hUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICk6IHZvaWQge1xuICAgIGlmIChldmVudC5jb2RlID09PSAnRW50ZXInIHx8IGV2ZW50LmNvZGUgPT09ICdOdW1wYWRFbnRlcicpIHtcbiAgICAgIHRoaXMuYXBwbHlTZWFyY2hUZXh0KHNlYXJjaFRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhcHBseVNlYXJjaFRleHQoc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgLy8gRG91YmxlIGNoZWNrIHRoYXQgc2VhcmNoIHRleHQgaXMgZGVmaW5lZCBiZWZvcmUgYXR0ZW1wdGluZyB0byB0cmltIG9mZiB3aGl0ZXNwYWNlXG4gICAgaWYgKHNlYXJjaFRleHQpIHtcbiAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnRyaW0oKTtcbiAgICB9XG5cbiAgICBpZiAoc2VhcmNoVGV4dCAhPT0gdGhpcy5zZWFyY2hUZXh0KSB7XG4gICAgICB0aGlzLnNlYXJjaFRleHQgPSBzZWFyY2hUZXh0O1xuICAgIH1cbiAgICB0aGlzLmNsZWFyQnV0dG9uU2hvd24gPSAhIShzZWFyY2hUZXh0ICYmIHNlYXJjaFRleHQgIT09ICcnKTtcbiAgICBpZiAoc2VhcmNoVGV4dCAmJiBzZWFyY2hUZXh0ICE9PSAnJykge1xuICAgICAgdGhpcy4jc2VhcmNoQWRhcHRlci5zZWxlY3RJbnB1dCh0aGlzLiNlbFJlZik7XG4gICAgfVxuXG4gICAgdGhpcy5zZWFyY2hBcHBseS5lbWl0KHNlYXJjaFRleHQpO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaFRleHRDaGFuZ2VkKHNlYXJjaFRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQ7XG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZC5uZXh0KHNlYXJjaFRleHQpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVNlYXJjaElucHV0KHNob3dJbnB1dDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICBpZiAoc2hvd0lucHV0KSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfU0hPV05fU1RBVEU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX0hJRERFTl9TVEFURTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5wdXRBbmltYXRpb25TdGFydChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSkge1xuICAgICAgdGhpcy4jc2VhcmNoQWRhcHRlci5zdGFydElucHV0QW5pbWF0aW9uKHRoaXMuI2VsUmVmKTtcblxuICAgICAgaWYgKFxuICAgICAgICBldmVudC50b1N0YXRlID09PSBJTlBVVF9TSE9XTl9TVEFURSAmJlxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5U2VydmljZS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5tb2JpbGVTZWFyY2hTaG93biA9IHRydWU7XG4gICAgICAgIHRoaXMuc2VhcmNoQnV0dG9uU2hvd24gPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5wdXRBbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3NlYXJjaFNob3VsZENvbGxhcHNlKCkpIHtcbiAgICAgIHRoaXMuI3NlYXJjaEFkYXB0ZXIuZW5kSW5wdXRBbmltYXRpb24odGhpcy4jZWxSZWYpO1xuXG4gICAgICB0aGlzLnNlYXJjaEJ1dHRvblNob3duID1cbiAgICAgICAgZXZlbnQudG9TdGF0ZSA9PT0gSU5QVVRfSElEREVOX1NUQVRFICYmXG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHM7XG5cbiAgICAgIGlmIChcbiAgICAgICAgKGV2ZW50LnRvU3RhdGUgPT09IElOUFVUX0hJRERFTl9TVEFURSAmJlxuICAgICAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHMpIHx8XG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnlTZXJ2aWNlLmN1cnJlbnQgIT09IFNreU1lZGlhQnJlYWtwb2ludHMueHNcbiAgICAgICkge1xuICAgICAgICB0aGlzLm1vYmlsZVNlYXJjaFNob3duID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmJyZWFrcG9pbnRTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkU3ViPy51bnN1YnNjcmliZSgpO1xuICB9XG4gICNzZWFyY2hCaW5kaW5nQ2hhbmdlZChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGNoYW5nZXNbJ3NlYXJjaFRleHQnXSAmJlxuICAgICAgY2hhbmdlc1snc2VhcmNoVGV4dCddLnByZXZpb3VzVmFsdWUgIT09IGNoYW5nZXNbJ3NlYXJjaFRleHQnXS5jdXJyZW50VmFsdWVcbiAgICApO1xuICB9XG5cbiAgI2V4cGFuZE1vZGVCaW5kaW5nQ2hhbmdlZChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGNoYW5nZXNbJ2V4cGFuZE1vZGUnXSAmJlxuICAgICAgY2hhbmdlc1snZXhwYW5kTW9kZSddLnByZXZpb3VzVmFsdWUgIT09IGNoYW5nZXNbJ2V4cGFuZE1vZGUnXS5jdXJyZW50VmFsdWVcbiAgICApO1xuICB9XG5cbiAgI3Nob3VsZE9wZW5JbnB1dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5zZWFyY2hUZXh0ICE9PSAnJyAmJlxuICAgICAgdGhpcy4jbWVkaWFRdWVyeVNlcnZpY2UuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cyAmJlxuICAgICAgdGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKVxuICAgICk7XG4gIH1cblxuICAjbWVkaWFRdWVyeUNhbGxiYWNrKGFyZ3M6IFNreU1lZGlhQnJlYWtwb2ludHMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSkge1xuICAgICAgaWYgKGFyZ3MgPT09IFNreU1lZGlhQnJlYWtwb2ludHMueHMpIHtcbiAgICAgICAgdGhpcy5pbnB1dEFuaW1hdGUgPSBJTlBVVF9ISURERU5fU1RBVEU7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaW5wdXRBbmltYXRlICE9PSBJTlBVVF9TSE9XTl9TVEFURSkge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX1NIT1dOX1NUQVRFO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tb2JpbGVTZWFyY2hTaG93biA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLiNjaGFuZ2VSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjc2VhcmNoU2hvdWxkQ29sbGFwc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmlzQ29sbGFwc2libGUgfHwgdGhpcy5pc0NvbGxhcHNpYmxlID09PSB1bmRlZmluZWQpICYmXG4gICAgICB0aGlzLmlzRnVsbFdpZHRoICE9PSB0cnVlXG4gICAgKTtcbiAgfVxuXG4gICNzZXR1cFNlYXJjaENoYW5nZWRFdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkU3ViPy51bnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZFN1YiA9IHRoaXMuI3NlYXJjaFVwZGF0ZWRcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LXNlYXJjaC1jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cInNreS1zZWFyY2gtYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWJ0bi1pY29uIHNreS1zZWFyY2gtYnRuLW9wZW5cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidza3l1eF9zZWFyY2hfb3BlbicgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgW2hpZGRlbl09XCIhc2VhcmNoQnV0dG9uU2hvd25cIlxuICAgICAgW25nQ2xhc3NdPVwieyAnc2t5LXNlYXJjaC1idG4tb3Blbi1hcHBsaWVkJzogY2xlYXJCdXR0b25TaG93biB9XCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVTZWFyY2hJbnB1dCh0cnVlKVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlYXJjaEljb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LXNlYXJjaC1kaXNtaXNzLWNvbnRhaW5lclwiXG4gICAgW2hpZGRlbl09XCJzZWFyY2hCdXR0b25TaG93blwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1zZWFyY2gtZGlzbWlzcy1hYnNvbHV0ZSc6IG1vYmlsZVNlYXJjaFNob3duIHx8IGlzRnVsbFdpZHRoXG4gICAgfVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXNlYXJjaC1pdGVtLWlucHV0XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2t5LXNlYXJjaC1pbnB1dC1jb250YWluZXJcIlxuICAgICAgICBbQGlucHV0U3RhdGVdPVwiaW5wdXRBbmltYXRlXCJcbiAgICAgICAgKEBpbnB1dFN0YXRlLnN0YXJ0KT1cImlucHV0QW5pbWF0aW9uU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgIChAaW5wdXRTdGF0ZS5kb25lKT1cImlucHV0QW5pbWF0aW9uRW5kKCRldmVudClcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ3NreS1zZWFyY2gtaW5wdXQtY29udGFpbmVyLWhhcy12YWx1ZSc6IHNlYXJjaFRleHQ/LnRyaW0oKVxuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pbnB1dC1ib3ggW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2wgc2t5LXNlYXJjaC1pbnB1dCBza3ktcm91bmRlZC1jb3JuZXJzXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgIGFyaWFMYWJlbGxlZEJ5XG4gICAgICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA6IGFyaWFMYWJlbCB8fFxuICAgICAgICAgICAgICAgICAgKChjb250ZW50SW5mb09icyB8IGFzeW5jKT8uZGVzY3JpcHRvcj8udHlwZSA9PT0gJ3RleHQnXG4gICAgICAgICAgICAgICAgICAgID8gKCdza3l1eF9zZWFyY2hfYXJpYV9sYWJlbF9kZXNjcmlwdG9yJ1xuICAgICAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICAgICAgICAgICAgICA6IChjb250ZW50SW5mb09icyB8IGFzeW5jKT8uZGVzY3JpcHRvcj8udmFsdWUpXG4gICAgICAgICAgICAgICAgICAgIDogKCdza3l1eF9zZWFyY2hfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzKSlcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwiXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dCB8fCAoJ3NreXV4X3NlYXJjaF9wbGFjZWhvbGRlcicgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaFRleHRcIlxuICAgICAgICAgICAgKGtleXVwKT1cImVudGVyUHJlc3MoJGV2ZW50LCBzZWFyY2hUZXh0KVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2hUZXh0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIHNreUlkXG4gICAgICAgICAgICAjc2VhcmNoSW5wdXQ9XCJza3lJZFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtYnRuIHNreS1pbnB1dC1ncm91cC1jbGVhciBza3ktaW5wdXQtYm94LWJ0bi1pbnNldFwiXG4gICAgICAgICAgICBbaGlkZGVuXT1cIiFjbGVhckJ1dHRvblNob3duXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LXNlYXJjaC1idG4gc2t5LXNlYXJjaC1idG4tY2xlYXJcIlxuICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaFRleHQoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJ0aW1lc1wiIC8+XG4gICAgICAgICAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCIgaWNvbj1cImNsb3NlXCIgc2l6ZT1cInNtXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtYnRuIHNreS1pbnB1dC1ib3gtYnRuLWluc2V0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LXNlYXJjaC1idG4gc2t5LXNlYXJjaC1idG4tYXBwbHlcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfc2VhcmNoX2xhYmVsJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJhcHBseVNlYXJjaFRleHQoc2VhcmNoVGV4dClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hJY29uVGVtcGxhdGVcIlxuICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtaWNvbiBza3ktaW5wdXQtYm94LWljb24taW5zZXQtbGVmdFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlYXJjaEljb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NreS1pbnB1dC1ib3g+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXNlYXJjaC1pdGVtLWRpc21pc3NcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJtb2JpbGVTZWFyY2hTaG93blwiXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLXNlY29uZGFyeSBza3ktc2VhcmNoLWJ0bi1kaXNtaXNzXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFthdHRyLnRpdGxlXT1cIidza3l1eF9zZWFyY2hfZGlzbWlzcycgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlU2VhcmNoSW5wdXQoZmFsc2UpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uXG4gICAgICAgICAgKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIlxuICAgICAgICAgIGljb249XCJjaGV2cm9uLWNpcmNsZS1sZWZ0XCJcbiAgICAgICAgICBzaXplPVwibGdcIlxuICAgICAgICAvPlxuICAgICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiIGljb249XCJkb3VibGUtY2hldnJvbi1sZWZ0XCIgLz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3NlYXJjaEljb25UZW1wbGF0ZT5cbiAgPHNreS1pY29uIGljb249XCJzZWFyY2hcIiBzaXplPVwibGdcIiAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -2010,7 +2010,7 @@ class SkySearchComponent {
2010
2010
  this.searchText = '';
2011
2011
  this.clearButtonShown = false;
2012
2012
  this.#searchAdapter.focusInput(this.#elRef);
2013
- this.searchChange.emit(this.searchText);
2013
+ this.#searchUpdated.next(this.searchText);
2014
2014
  this.searchApply.emit(this.searchText);
2015
2015
  this.searchClear.emit();
2016
2016
  }