@skyux/phone-field 7.4.2 → 7.6.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.
@@ -540,7 +540,7 @@
540
540
  "isPublic": true
541
541
  },
542
542
  "comment": {
543
- "shortText": "Specifies the [International Organization for Standardization Alpha 2](https://www.nationsonline.org/oneworld/country_code_list.htm)\ncountry codes for the countries that users can select. By default, all countries are available."
543
+ "shortText": "The [International Organization for Standardization Alpha 2](https://www.nationsonline.org/oneworld/country_code_list.htm)\ncountry codes for the countries that users can select. By default, all countries are available."
544
544
  },
545
545
  "decorators": [
546
546
  {
@@ -604,7 +604,7 @@
604
604
  "kindString": "Get signature",
605
605
  "flags": {},
606
606
  "comment": {
607
- "shortText": "Indicates whether or not phone number extensions are allowed.",
607
+ "shortText": "Whether phone number extensions are allowed.",
608
608
  "tags": [
609
609
  {
610
610
  "tag": "default",
@@ -626,7 +626,7 @@
626
626
  "kindString": "Set signature",
627
627
  "flags": {},
628
628
  "comment": {
629
- "shortText": "Indicates whether or not phone number extensions are allowed.",
629
+ "shortText": "Whether phone number extensions are allowed.",
630
630
  "tags": [
631
631
  {
632
632
  "tag": "default",
@@ -689,7 +689,7 @@
689
689
  "kindString": "Get signature",
690
690
  "flags": {},
691
691
  "comment": {
692
- "shortText": "Specifies the\n[International Organization for Standardization Alpha 2](https://www.nationsonline.org/oneworld/country_code_list.htm)\ncountry code for the default country. The country selector button displays a flag\nicon for this default country until users select a different country.",
692
+ "shortText": "The\n[International Organization for Standardization Alpha 2](https://www.nationsonline.org/oneworld/country_code_list.htm)\ncountry code for the default country. The country selector button displays a flag\nicon for this default country until users select a different country.",
693
693
  "tags": [
694
694
  {
695
695
  "tag": "default",
@@ -711,7 +711,7 @@
711
711
  "kindString": "Set signature",
712
712
  "flags": {},
713
713
  "comment": {
714
- "shortText": "Specifies the\n[International Organization for Standardization Alpha 2](https://www.nationsonline.org/oneworld/country_code_list.htm)\ncountry code for the default country. The country selector button displays a flag\nicon for this default country until users select a different country.",
714
+ "shortText": "The\n[International Organization for Standardization Alpha 2](https://www.nationsonline.org/oneworld/country_code_list.htm)\ncountry code for the default country. The country selector button displays a flag\nicon for this default country until users select a different country.",
715
715
  "tags": [
716
716
  {
717
717
  "tag": "default",
@@ -774,7 +774,7 @@
774
774
  "kindString": "Get signature",
775
775
  "flags": {},
776
776
  "comment": {
777
- "shortText": "Specifies the format for validated phone numbers.\nOptions include: `\"default\"`, `\"international\"`, and `\"national\"`.",
777
+ "shortText": "The format for validated phone numbers.\nOptions include: `\"default\"`, `\"international\"`, and `\"national\"`.",
778
778
  "tags": [
779
779
  {
780
780
  "tag": "default",
@@ -797,7 +797,7 @@
797
797
  "kindString": "Set signature",
798
798
  "flags": {},
799
799
  "comment": {
800
- "shortText": "Specifies the format for validated phone numbers.\nOptions include: `\"default\"`, `\"international\"`, and `\"national\"`.",
800
+ "shortText": "The format for validated phone numbers.\nOptions include: `\"default\"`, `\"international\"`, and `\"national\"`.",
801
801
  "tags": [
802
802
  {
803
803
  "tag": "default",
@@ -861,7 +861,7 @@
861
861
  "kindString": "Get signature",
862
862
  "flags": {},
863
863
  "comment": {
864
- "shortText": "Specifies the currently selected country to validate against."
864
+ "shortText": "The currently selected country to validate against."
865
865
  },
866
866
  "type": {
867
867
  "type": "reference",
@@ -878,7 +878,7 @@
878
878
  "kindString": "Set signature",
879
879
  "flags": {},
880
880
  "comment": {
881
- "shortText": "Specifies the currently selected country to validate against."
881
+ "shortText": "The currently selected country to validate against."
882
882
  },
883
883
  "parameters": [
884
884
  {
@@ -1373,7 +1373,7 @@
1373
1373
  "isPublic": true
1374
1374
  },
1375
1375
  "comment": {
1376
- "shortText": "Indicates whether to prevent validation on the phone number input. For validation,\nphone numbers are driven through the `ngModel` attribute that you specify on an\n`input` element or on a `FormControl` in a reactive form. To prevent validation,\nset this property to `true`.",
1376
+ "shortText": "Whether to prevent validation on the phone number input. For validation,\nphone numbers are driven through the `ngModel` attribute that you specify on an\n`input` element or on a `FormControl` in a reactive form. To prevent validation,\nset this property to `true`.",
1377
1377
  "tags": [
1378
1378
  {
1379
1379
  "tag": "default",
@@ -1441,7 +1441,7 @@
1441
1441
  "kindString": "Get signature",
1442
1442
  "flags": {},
1443
1443
  "comment": {
1444
- "shortText": "Indicates whether to disable the phone field.",
1444
+ "shortText": "Whether to disable the phone field.",
1445
1445
  "tags": [
1446
1446
  {
1447
1447
  "tag": "default",
@@ -1463,7 +1463,7 @@
1463
1463
  "kindString": "Set signature",
1464
1464
  "flags": {},
1465
1465
  "comment": {
1466
- "shortText": "Indicates whether to disable the phone field.",
1466
+ "shortText": "Whether to disable the phone field.",
1467
1467
  "tags": [
1468
1468
  {
1469
1469
  "tag": "default",
@@ -2268,7 +2268,7 @@
2268
2268
  "isOptional": true
2269
2269
  },
2270
2270
  "comment": {
2271
- "shortText": "Specifies the country's international dial code."
2271
+ "shortText": "The country's international dial code."
2272
2272
  },
2273
2273
  "sources": [
2274
2274
  {
@@ -2291,7 +2291,7 @@
2291
2291
  "isOptional": true
2292
2292
  },
2293
2293
  "comment": {
2294
- "shortText": "Specifies a placeholder value to demonstrate the country's number format. This\nvalue is `undefined` until a country is selected to validate against."
2294
+ "shortText": "The placeholder value that demonstrates the country's number format. This\nvalue is `undefined` until a country is selected to validate against."
2295
2295
  },
2296
2296
  "sources": [
2297
2297
  {
@@ -2312,7 +2312,7 @@
2312
2312
  "kindString": "Property",
2313
2313
  "flags": {},
2314
2314
  "comment": {
2315
- "shortText": "Specifies the country's\n[International Organization for Standardization Alpha 2](https://www.nationsonline.org/oneworld/country_code_list.htm)\ncountry code.",
2315
+ "shortText": "The country's\n[International Organization for Standardization Alpha 2](https://www.nationsonline.org/oneworld/country_code_list.htm)\ncountry code.",
2316
2316
  "tags": [
2317
2317
  {
2318
2318
  "tag": "required",
@@ -2341,7 +2341,7 @@
2341
2341
  "isOptional": true
2342
2342
  },
2343
2343
  "comment": {
2344
- "shortText": "Specifies the name of the country."
2344
+ "shortText": "The name of the country."
2345
2345
  },
2346
2346
  "sources": [
2347
2347
  {
@@ -36,7 +36,7 @@ export class SkyPhoneFieldInputDirective {
36
36
  constructor(changeDetector, elRef, adapterService, phoneFieldComponent) {
37
37
  _SkyPhoneFieldInputDirective_instances.add(this);
38
38
  /**
39
- * Indicates whether to prevent validation on the phone number input. For validation,
39
+ * Whether to prevent validation on the phone number input. For validation,
40
40
  * phone numbers are driven through the `ngModel` attribute that you specify on an
41
41
  * `input` element or on a `FormControl` in a reactive form. To prevent validation,
42
42
  * set this property to `true`.
@@ -67,7 +67,7 @@ export class SkyPhoneFieldInputDirective {
67
67
  __classPrivateFieldSet(this, _SkyPhoneFieldInputDirective_phoneFieldComponent, phoneFieldComponent, "f");
68
68
  }
69
69
  /**
70
- * Indicates whether to disable the phone field.
70
+ * Whether to disable the phone field.
71
71
  * @default false
72
72
  */
73
73
  set disabled(value) {
@@ -287,4 +287,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
287
287
  type: HostListener,
288
288
  args: ['input', ['$event']]
289
289
  }] } });
290
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtZmllbGQtaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Bob25lLWZpZWxkL3NyYy9saWIvbW9kdWxlcy9waG9uZS1maWVsZC9waG9uZS1maWVsZC1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsYUFBYSxFQUNiLGlCQUFpQixHQUdsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBTXpELE1BQU0sOEJBQThCLEdBQUc7SUFDckMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO0lBQzFELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0seUJBQXlCLEdBQUc7SUFDaEMsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztJQUMxRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7O0dBWUc7QUFLSCxNQUFNLE9BQU8sMkJBQTJCO0lBb0V0QyxZQUNFLGNBQWlDLEVBQ2pDLEtBQWlCLEVBQ0wsY0FB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QUksd0RBQXFCLEVBQUUsZUFBZSxFQUFFLElBQUk7d0JBQ2hELHVCQUFBLElBQUksd0RBQXFCLEVBQUUsY0FBYyxFQUN6Qzt3QkFDQSxPQUFPLHVCQUFBLElBQUksK0NBQVksQ0FBQyxNQUFNLENBQzVCLFNBQVMsRUFDVCxpQkFBaUIsQ0FBQyxhQUFhLENBQ2hDLENBQUM7cUJBQ0g7eUJBQU07d0JBQ0wsT0FBTyx1QkFBQSxJQUFJLCtDQUFZLENBQUMsTUFBTSxDQUM1QixTQUFTLEVBQ1QsaUJBQWlCLENBQUMsUUFBUSxDQUMzQixDQUFDO3FCQUNIO2FBQ0o7U0FDRjthQUFNO1lBQ0wsT0FBTyxXQUFXLENBQUM7U0FDcEI7S0FDRjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1Ysa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQixPQUFPLFdBQVcsQ0FBQztLQUNwQjtBQUNILENBQUM7eUhBalRVLDJCQUEyQjs2R0FBM0IsMkJBQTJCLDRQQUYzQixDQUFDLDhCQUE4QixFQUFFLHlCQUF5QixDQUFDOzRGQUUzRCwyQkFBMkI7a0JBSnZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFLENBQUMsOEJBQThCLEVBQUUseUJBQXlCLENBQUM7aUJBQ3ZFOzswQkF3RUksUUFBUTs7MEJBQ1IsUUFBUTs0Q0FoRUEsUUFBUTtzQkFEbEIsS0FBSztnQkFzQkMsdUJBQXVCO3NCQUQ3QixLQUFLO2dCQXdHQyxhQUFhO3NCQURuQixZQUFZO3VCQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFhM0IsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxNQUFNO2dCQU1iLGFBQWE7c0JBRG5CLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFBob25lTnVtYmVyRm9ybWF0LCBQaG9uZU51bWJlclV0aWwgfSBmcm9tICdnb29nbGUtbGlicGhvbmVudW1iZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5UGhvbmVGaWVsZEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9waG9uZS1maWVsZC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5UGhvbmVGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcGhvbmUtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVBob25lRmllbGRDb3VudHJ5IH0gZnJvbSAnLi90eXBlcy9jb3VudHJ5JztcblxuY29uc3QgU0tZX1BIT05FX0ZJRUxEX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5UGhvbmVGaWVsZElucHV0RGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5jb25zdCBTS1lfUEhPTkVfRklFTERfVkFMSURBVE9SID0ge1xuICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lQaG9uZUZpZWxkSW5wdXREaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIGJ1dHRvbiwgc2VhcmNoIGlucHV0LCBhbmQgdGV4dCBpbnB1dCBmb3IgZW50ZXJpbmcgYW5kIHZhbGlkYXRpbmdcbiAqIGludGVybmF0aW9uYWwgcGhvbmUgbnVtYmVycy4gUGxhY2UgdGhpcyBhdHRyaWJ1dGUgb24gYW4gYGlucHV0YCBlbGVtZW50LCBhbmQgd3JhcFxuICogdGhhdCBlbGVtZW50IGluIGEgYHNreS1waG9uZS1maWVsZGAgY29tcG9uZW50LiBCeSBkZWZhdWx0LCB0aGUgY291bnRyeSBzZWxlY3RvclxuICogYnV0dG9uIGRpc3BsYXlzIGEgZmxhZyBpY29uIGZvciB0aGUgZGVmYXVsdCBjb3VudHJ5LCBhbmQgdGhlIHBob25lIG51bWJlciBpbnB1dFxuICogZGlzcGxheXMgYSBzYW1wbGUgb2YgdGhlIGNvcnJlY3QgcGhvbmUgbnVtYmVyIGZvcm1hdC4gV2hlbiB1c2VycyBzZWxlY3QgdGhlIGNvdW50cnlcbiAqIHNlbGVjdG9yIGJ1dHRvbiwgdGhleSBleHBvc2UgdGhlIGNvdW50cnkgc2VhcmNoIGlucHV0LCB3aGljaCBpc1xuICogW2FuIGF1dG9jb21wbGV0ZSBpbnB1dF0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2F1dG9jb21wbGV0ZSlcbiAqIHRoYXQgYWxsb3dzIHRoZW0gdG8gc2VsZWN0IGRpZmZlcmVudCBjb3VudHJpZXMuIFdoZW4gdXNlcnMgZW50ZXIgYCtgIGZvbGxvd2VkIGJ5IGFuXG4gKiBpbnRlcm5hdGlvbmFsIGRpYWwgY29kZSBpbiB0aGUgcGhvbmUgbnVtYmVyIGlucHV0LCB0aGUgY291bnRyeSBhdXRvbWF0aWNhbGx5IHN3aXRjaGVzXG4gKiB0byB0aGUgY291bnRyeSBhc3NvY2lhdGVkIHdpdGggdGhlIGRpYWwgY29kZS5cbiAqIEByZXF1aXJlZFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5UGhvbmVGaWVsZElucHV0XScsXG4gIHByb3ZpZGVyczogW1NLWV9QSE9ORV9GSUVMRF9WQUxVRV9BQ0NFU1NPUiwgU0tZX1BIT05FX0ZJRUxEX1ZBTElEQVRPUl0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVBob25lRmllbGRJbnB1dERpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yXG57XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNhYmxlIHRoZSBwaG9uZSBmaWVsZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBjb2VyY2VkVmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmICh0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50LmNvdW50cnlTZWxlY3REaXNhYmxlZCA9IGNvZXJjZWRWYWx1ZTtcbiAgICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlPy5zZXRFbGVtZW50RGlzYWJsZWRTdGF0ZSh0aGlzLiNlbFJlZiwgY29lcmNlZFZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy4jX2Rpc2FibGVkID0gY29lcmNlZFZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIHByZXZlbnQgdmFsaWRhdGlvbiBvbiB0aGUgcGhvbmUgbnVtYmVyIGlucHV0LiBGb3IgdmFsaWRhdGlvbixcbiAgICogcGhvbmUgbnVtYmVycyBhcmUgZHJpdmVuIHRocm91Z2ggdGhlIGBuZ01vZGVsYCBhdHRyaWJ1dGUgdGhhdCB5b3Ugc3BlY2lmeSBvbiBhblxuICAgKiBgaW5wdXRgIGVsZW1lbnQgb3Igb24gYSBgRm9ybUNvbnRyb2xgIGluIGEgcmVhY3RpdmUgZm9ybS4gVG8gcHJldmVudCB2YWxpZGF0aW9uLFxuICAgKiBzZXQgdGhpcyBwcm9wZXJ0eSB0byBgdHJ1ZWAuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2t5UGhvbmVGaWVsZE5vVmFsaWRhdGU6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICBzZXQgI21vZGVsVmFsdWUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IHZhbHVlT3JEZWZhdWx0ID0gdmFsdWUgPz8gJyc7XG4gICAgdGhpcy4jX21vZGVsVmFsdWUgPSB2YWx1ZU9yRGVmYXVsdDtcbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZT8uc2V0RWxlbWVudFZhbHVlKHRoaXMuI2VsUmVmLCB2YWx1ZU9yRGVmYXVsdCk7XG5cbiAgICBpZiAodmFsdWVPckRlZmF1bHQpIHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZFZhbHVlID0gdGhpcy4jZm9ybWF0TnVtYmVyKHZhbHVlT3JEZWZhdWx0LnRvU3RyaW5nKCkpO1xuXG4gICAgICB0aGlzLiNvbkNoYW5nZShmb3JtYXR0ZWRWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI29uQ2hhbmdlKHZhbHVlT3JEZWZhdWx0KTtcbiAgICB9XG4gICAgdGhpcy4jdmFsaWRhdG9yQ2hhbmdlKCk7XG4gIH1cblxuICBnZXQgI21vZGVsVmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX21vZGVsVmFsdWU7XG4gIH1cblxuICAjY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkO1xuXG4gICN0ZXh0Q2hhbmdlczogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gfCB1bmRlZmluZWQ7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNwaG9uZVV0aWxzID0gUGhvbmVOdW1iZXJVdGlsLmdldEluc3RhbmNlKCk7XG5cbiAgI19kaXNhYmxlZCE6IGJvb2xlYW47XG5cbiAgI19tb2RlbFZhbHVlID0gJyc7XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2VsUmVmOiBFbGVtZW50UmVmO1xuXG4gICNhZGFwdGVyU2VydmljZTogU2t5UGhvbmVGaWVsZEFkYXB0ZXJTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuICAjcGhvbmVGaWVsZENvbXBvbmVudDogU2t5UGhvbmVGaWVsZENvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIEBPcHRpb25hbCgpIGFkYXB0ZXJTZXJ2aWNlPzogU2t5UGhvbmVGaWVsZEFkYXB0ZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHBob25lRmllbGRDb21wb25lbnQ/OiBTa3lQaG9uZUZpZWxkQ29tcG9uZW50XG4gICkge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jZWxSZWYgPSBlbFJlZjtcbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZSA9IGFkYXB0ZXJTZXJ2aWNlO1xuICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQgPSBwaG9uZUZpZWxkQ29tcG9uZW50O1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnWW91IG11c3Qgd3JhcCB0aGUgYHNreVBob25lRmllbGRJbnB1dGAgZGlyZWN0aXZlIHdpdGhpbiBhICcgK1xuICAgICAgICAgICdgPHNreS1waG9uZS1maWVsZD5gIGNvbXBvbmVudCEnXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlPy5zZXRFbGVtZW50VHlwZSh0aGlzLiNlbFJlZik7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2U/LmFkZEVsZW1lbnRDbGFzcyh0aGlzLiNlbFJlZiwgJ3NreS1mb3JtLWNvbnRyb2wnKTtcbiAgICBpZiAodGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8uc2VsZWN0ZWRDb3VudHJ5Py5leGFtcGxlTnVtYmVyKSB7XG4gICAgICB0aGlzLiNhZGFwdGVyU2VydmljZT8uc2V0RWxlbWVudFBsYWNlaG9sZGVyKFxuICAgICAgICB0aGlzLiNlbFJlZixcbiAgICAgICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudC5zZWxlY3RlZENvdW50cnkuZXhhbXBsZU51bWJlclxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZT8uc2V0QXJpYUxhYmVsKHRoaXMuI2VsUmVmKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8uc2VsZWN0ZWRDb3VudHJ5Q2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChjb3VudHJ5OiBTa3lQaG9uZUZpZWxkQ291bnRyeSkgPT4ge1xuICAgICAgICB0aGlzLiNtb2RlbFZhbHVlID0gdGhpcy4jZWxSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICAgICAgaWYgKGNvdW50cnk/LmV4YW1wbGVOdW1iZXIpIHtcbiAgICAgICAgICB0aGlzLiNhZGFwdGVyU2VydmljZT8uc2V0RWxlbWVudFBsYWNlaG9sZGVyKFxuICAgICAgICAgICAgdGhpcy4jZWxSZWYsXG4gICAgICAgICAgICBjb3VudHJ5LmV4YW1wbGVOdW1iZXJcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIC8vIFRoaXMgaXMgbmVlZGVkIHRvIGFkZHJlc3MgYSBidWcgaW4gQW5ndWxhciA0LCB3aGVyZSB0aGUgdmFsdWUgaXMgbm90IGNoYW5nZWQgb24gdGhlIHZpZXcuXG4gICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xMzc5MlxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbnRyb2wgJiYgdGhpcy4jbW9kZWxWYWx1ZSkge1xuICAgICAgdGhpcy4jY29udHJvbC5zZXRWYWx1ZSh0aGlzLiNtb2RlbFZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXcml0ZXMgdGhlIG5ldyB2YWx1ZSBmb3IgcmVhY3RpdmUgZm9ybXMgb24gY2hhbmdlIGV2ZW50cyBvbiB0aGUgaW5wdXQgZWxlbWVudFxuICAgKiBAcGFyYW0gZXZlbnQgVGhlIGNoYW5nZSBldmVudCB0aGF0IHdhcyByZWNlaXZlZFxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uSW5wdXRDaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICghdGhpcy4jdGV4dENoYW5nZXMpIHtcbiAgICAgIHRoaXMuI3NldHVwVGV4dENoYW5nZVN1YnNjcmlwdGlvbihldmVudC50YXJnZXQudmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiN0ZXh0Q2hhbmdlcy5uZXh0KGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1hcmtzIHJlYWN0aXZlIGZvcm0gY29udHJvbHMgYXMgdG91Y2hlZCBvbiBpbnB1dCBibHVyIGV2ZW50c1xuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignYmx1cicpXG4gIHB1YmxpYyBvbklucHV0Qmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLiNvblRvdWNoZWQoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uSW5wdXRUeXBpbmcoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICghdGhpcy4jdGV4dENoYW5nZXMpIHtcbiAgICAgIHRoaXMuI3NldHVwVGV4dENoYW5nZVN1YnNjcmlwdGlvbihldmVudC50YXJnZXQudmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiN0ZXh0Q2hhbmdlcy5uZXh0KGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdyaXRlcyB0aGUgbmV3IHZhbHVlIGZvciByZWFjdGl2ZSBmb3Jtc1xuICAgKiBAcGFyYW0gdmFsdWUgVGhlIG5ldyB2YWx1ZSBmb3IgdGhlIGlucHV0XG4gICAqL1xuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8uc2V0Q291bnRyeUJ5RGlhbENvZGUodmFsdWUpO1xuXG4gICAgdGhpcy4jbW9kZWxWYWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy4jb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuI29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLiN2YWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBvbiB0aGUgaW5wdXRcbiAgICogQHBhcmFtIGlzRGlzYWJsZWQgdGhlIG5ldyB2YWx1ZSBvZiB0aGUgaW5wdXQncyBkaXNhYmxlZCBzdGF0ZVxuICAgKi9cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlJ3MgdGhlIGZvcm0gY29udHJvbCdzIGN1cnJlbnQgdmFsdWVcbiAgICogQHBhcmFtIGNvbnRyb2wgdGhlIGZvcm0gY29udHJvbCBmb3IgdGhlIGlucHV0XG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICghdGhpcy4jY29udHJvbCkge1xuICAgICAgdGhpcy4jY29udHJvbCA9IGNvbnRyb2w7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2t5UGhvbmVGaWVsZE5vVmFsaWRhdGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNlbGVjdGVkQ291bnRyeSAmJlxuICAgICAgIXRoaXMuI3ZhbGlkYXRlTnVtYmVyKHZhbHVlKVxuICAgICkge1xuICAgICAgaWYgKCF0aGlzLiN0ZXh0Q2hhbmdlcykge1xuICAgICAgICAvLyBNYXJrIHRoZSBpbnZhbGlkIGNvbnRyb2wgYXMgdG91Y2hlZCBzbyB0aGF0IHRoZSBpbnB1dCdzIGludmFsaWQgQ1NTIHN0eWxlcyBhcHBlYXIuXG4gICAgICAgIC8vIChUaGlzIGlzIG9ubHkgcmVxdWlyZWQgd2hlbiB0aGUgaW52YWxpZCB2YWx1ZSBpcyBzZXQgYnkgdGhlIEZvcm1Db250cm9sIGNvbnN0cnVjdG9yLilcbiAgICAgICAgLy8gV2UgZG9uJ3QgZG8gdGhpcyBpZiB0aGUgaW5wdXQgaXMgdGhlIGFjdGl2ZSBlbGVtZW50IHNvIHRoYXQgd2UgZG9uJ3Qgc2hvdyB2YWxpZGF0aW9uXG4gICAgICAgIC8vIGVycm9ycyB1bmxlc3MgaXQgaXMgaW52YWxpZCBvbiBpbml0aWFsaXphdGlvbiBvciB0aGUgaW5wdXQgaGFzIGJlZW4gYmx1cnJlZC5cbiAgICAgICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNreVBob25lRmllbGQ6IHtcbiAgICAgICAgICBpbnZhbGlkOiB2YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgI3NldHVwVGV4dENoYW5nZVN1YnNjcmlwdGlvbih0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLiN0ZXh0Q2hhbmdlcyA9IG5ldyBCZWhhdmlvclN1YmplY3QodGV4dCk7XG5cbiAgICB0aGlzLiN0ZXh0Q2hhbmdlc1xuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwMCksIHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKG5ld1ZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gICN2YWxpZGF0ZU51bWJlcihwaG9uZU51bWJlcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG51bWJlck9iaiA9IHRoaXMuI3Bob25lVXRpbHMucGFyc2VBbmRLZWVwUmF3SW5wdXQoXG4gICAgICAgIHBob25lTnVtYmVyLFxuICAgICAgICB0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50Py5zZWxlY3RlZENvdW50cnk/LmlzbzJcbiAgICAgICk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudCAmJlxuICAgICAgICAhdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudC5hbGxvd0V4dGVuc2lvbnMgJiZcbiAgICAgICAgbnVtYmVyT2JqLmdldEV4dGVuc2lvbigpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy4jcGhvbmVVdGlscy5pc1ZhbGlkTnVtYmVyKG51bWJlck9iaik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtYXQncyB0aGUgZ2l2ZW4gcGhvbmUgbnVtYmVyIGJhc2VkIG9uIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgY291bnRyeS5cbiAgICogQHBhcmFtIHBob25lTnVtYmVyIFRoZSBudW1iZXIgdG8gZm9ybWF0XG4gICAqL1xuICAjZm9ybWF0TnVtYmVyKHBob25lTnVtYmVyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBudW1iZXJPYmogPSB0aGlzLiNwaG9uZVV0aWxzLnBhcnNlQW5kS2VlcFJhd0lucHV0KFxuICAgICAgICBwaG9uZU51bWJlcixcbiAgICAgICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8uc2VsZWN0ZWRDb3VudHJ5Py5pc28yXG4gICAgICApO1xuICAgICAgaWYgKHRoaXMuI3Bob25lVXRpbHMuaXNQb3NzaWJsZU51bWJlcihudW1iZXJPYmopKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8ucmV0dXJuRm9ybWF0KSB7XG4gICAgICAgICAgY2FzZSAnaW50ZXJuYXRpb25hbCc6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy4jcGhvbmVVdGlscy5mb3JtYXQoXG4gICAgICAgICAgICAgIG51bWJlck9iaixcbiAgICAgICAgICAgICAgUGhvbmVOdW1iZXJGb3JtYXQuSU5URVJOQVRJT05BTFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICBjYXNlICduYXRpb25hbCc6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy4jcGhvbmVVdGlscy5mb3JtYXQoXG4gICAgICAgICAgICAgIG51bWJlck9iaixcbiAgICAgICAgICAgICAgUGhvbmVOdW1iZXJGb3JtYXQuTkFUSU9OQUxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgY2FzZSAnZGVmYXVsdCc6XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8uc2VsZWN0ZWRDb3VudHJ5Py5pc28yICE9PVxuICAgICAgICAgICAgICB0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50Py5kZWZhdWx0Q291bnRyeVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLiNwaG9uZVV0aWxzLmZvcm1hdChcbiAgICAgICAgICAgICAgICBudW1iZXJPYmosXG4gICAgICAgICAgICAgICAgUGhvbmVOdW1iZXJGb3JtYXQuSU5URVJOQVRJT05BTFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuI3Bob25lVXRpbHMuZm9ybWF0KFxuICAgICAgICAgICAgICAgIG51bWJlck9iaixcbiAgICAgICAgICAgICAgICBQaG9uZU51bWJlckZvcm1hdC5OQVRJT05BTFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcGhvbmVOdW1iZXI7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgcmV0dXJuIHBob25lTnVtYmVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgI29uQ2hhbmdlID0gKF86IHN0cmluZyB8IHVuZGVmaW5lZCkgPT4ge307XG5cbiAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAjb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAjdmFsaWRhdG9yQ2hhbmdlID0gKCkgPT4ge307XG59XG4iXX0=
290
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtZmllbGQtaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Bob25lLWZpZWxkL3NyYy9saWIvbW9kdWxlcy9waG9uZS1maWVsZC9waG9uZS1maWVsZC1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBR0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsYUFBYSxFQUNiLGlCQUFpQixHQUdsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBTXpELE1BQU0sOEJBQThCLEdBQUc7SUFDckMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO0lBQzFELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0seUJBQXlCLEdBQUc7SUFDaEMsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztJQUMxRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7O0dBWUc7QUFLSCxNQUFNLE9BQU8sMkJBQTJCO0lBb0V0QyxZQUNFLGNBQWlDLEVBQ2pDLEtBQWlCLEVBQ0wsY0FB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QUksd0RBQXFCLEVBQUUsZUFBZSxFQUFFLElBQUk7d0JBQ2hELHVCQUFBLElBQUksd0RBQXFCLEVBQUUsY0FBYyxFQUN6Qzt3QkFDQSxPQUFPLHVCQUFBLElBQUksK0NBQVksQ0FBQyxNQUFNLENBQzVCLFNBQVMsRUFDVCxpQkFBaUIsQ0FBQyxhQUFhLENBQ2hDLENBQUM7cUJBQ0g7eUJBQU07d0JBQ0wsT0FBTyx1QkFBQSxJQUFJLCtDQUFZLENBQUMsTUFBTSxDQUM1QixTQUFTLEVBQ1QsaUJBQWlCLENBQUMsUUFBUSxDQUMzQixDQUFDO3FCQUNIO2FBQ0o7U0FDRjthQUFNO1lBQ0wsT0FBTyxXQUFXLENBQUM7U0FDcEI7S0FDRjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1Ysa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQixPQUFPLFdBQVcsQ0FBQztLQUNwQjtBQUNILENBQUM7eUhBalRVLDJCQUEyQjs2R0FBM0IsMkJBQTJCLDRQQUYzQixDQUFDLDhCQUE4QixFQUFFLHlCQUF5QixDQUFDOzRGQUUzRCwyQkFBMkI7a0JBSnZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFLENBQUMsOEJBQThCLEVBQUUseUJBQXlCLENBQUM7aUJBQ3ZFOzswQkF3RUksUUFBUTs7MEJBQ1IsUUFBUTs0Q0FoRUEsUUFBUTtzQkFEbEIsS0FBSztnQkFzQkMsdUJBQXVCO3NCQUQ3QixLQUFLO2dCQXdHQyxhQUFhO3NCQURuQixZQUFZO3VCQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFhM0IsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxNQUFNO2dCQU1iLGFBQWE7c0JBRG5CLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFBob25lTnVtYmVyRm9ybWF0LCBQaG9uZU51bWJlclV0aWwgfSBmcm9tICdnb29nbGUtbGlicGhvbmVudW1iZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5UGhvbmVGaWVsZEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9waG9uZS1maWVsZC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5UGhvbmVGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcGhvbmUtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVBob25lRmllbGRDb3VudHJ5IH0gZnJvbSAnLi90eXBlcy9jb3VudHJ5JztcblxuY29uc3QgU0tZX1BIT05FX0ZJRUxEX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5UGhvbmVGaWVsZElucHV0RGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5jb25zdCBTS1lfUEhPTkVfRklFTERfVkFMSURBVE9SID0ge1xuICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa3lQaG9uZUZpZWxkSW5wdXREaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIGJ1dHRvbiwgc2VhcmNoIGlucHV0LCBhbmQgdGV4dCBpbnB1dCBmb3IgZW50ZXJpbmcgYW5kIHZhbGlkYXRpbmdcbiAqIGludGVybmF0aW9uYWwgcGhvbmUgbnVtYmVycy4gUGxhY2UgdGhpcyBhdHRyaWJ1dGUgb24gYW4gYGlucHV0YCBlbGVtZW50LCBhbmQgd3JhcFxuICogdGhhdCBlbGVtZW50IGluIGEgYHNreS1waG9uZS1maWVsZGAgY29tcG9uZW50LiBCeSBkZWZhdWx0LCB0aGUgY291bnRyeSBzZWxlY3RvclxuICogYnV0dG9uIGRpc3BsYXlzIGEgZmxhZyBpY29uIGZvciB0aGUgZGVmYXVsdCBjb3VudHJ5LCBhbmQgdGhlIHBob25lIG51bWJlciBpbnB1dFxuICogZGlzcGxheXMgYSBzYW1wbGUgb2YgdGhlIGNvcnJlY3QgcGhvbmUgbnVtYmVyIGZvcm1hdC4gV2hlbiB1c2VycyBzZWxlY3QgdGhlIGNvdW50cnlcbiAqIHNlbGVjdG9yIGJ1dHRvbiwgdGhleSBleHBvc2UgdGhlIGNvdW50cnkgc2VhcmNoIGlucHV0LCB3aGljaCBpc1xuICogW2FuIGF1dG9jb21wbGV0ZSBpbnB1dF0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2F1dG9jb21wbGV0ZSlcbiAqIHRoYXQgYWxsb3dzIHRoZW0gdG8gc2VsZWN0IGRpZmZlcmVudCBjb3VudHJpZXMuIFdoZW4gdXNlcnMgZW50ZXIgYCtgIGZvbGxvd2VkIGJ5IGFuXG4gKiBpbnRlcm5hdGlvbmFsIGRpYWwgY29kZSBpbiB0aGUgcGhvbmUgbnVtYmVyIGlucHV0LCB0aGUgY291bnRyeSBhdXRvbWF0aWNhbGx5IHN3aXRjaGVzXG4gKiB0byB0aGUgY291bnRyeSBhc3NvY2lhdGVkIHdpdGggdGhlIGRpYWwgY29kZS5cbiAqIEByZXF1aXJlZFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5UGhvbmVGaWVsZElucHV0XScsXG4gIHByb3ZpZGVyczogW1NLWV9QSE9ORV9GSUVMRF9WQUxVRV9BQ0NFU1NPUiwgU0tZX1BIT05FX0ZJRUxEX1ZBTElEQVRPUl0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVBob25lRmllbGRJbnB1dERpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yXG57XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIHBob25lIGZpZWxkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGNvZXJjZWRWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgaWYgKHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQpIHtcbiAgICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQuY291bnRyeVNlbGVjdERpc2FibGVkID0gY29lcmNlZFZhbHVlO1xuICAgICAgdGhpcy4jYWRhcHRlclNlcnZpY2U/LnNldEVsZW1lbnREaXNhYmxlZFN0YXRlKHRoaXMuI2VsUmVmLCBjb2VyY2VkVmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLiNfZGlzYWJsZWQgPSBjb2VyY2VkVmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byBwcmV2ZW50IHZhbGlkYXRpb24gb24gdGhlIHBob25lIG51bWJlciBpbnB1dC4gRm9yIHZhbGlkYXRpb24sXG4gICAqIHBob25lIG51bWJlcnMgYXJlIGRyaXZlbiB0aHJvdWdoIHRoZSBgbmdNb2RlbGAgYXR0cmlidXRlIHRoYXQgeW91IHNwZWNpZnkgb24gYW5cbiAgICogYGlucHV0YCBlbGVtZW50IG9yIG9uIGEgYEZvcm1Db250cm9sYCBpbiBhIHJlYWN0aXZlIGZvcm0uIFRvIHByZXZlbnQgdmFsaWRhdGlvbixcbiAgICogc2V0IHRoaXMgcHJvcGVydHkgdG8gYHRydWVgLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNreVBob25lRmllbGROb1ZhbGlkYXRlOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgc2V0ICNtb2RlbFZhbHVlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCB2YWx1ZU9yRGVmYXVsdCA9IHZhbHVlID8/ICcnO1xuICAgIHRoaXMuI19tb2RlbFZhbHVlID0gdmFsdWVPckRlZmF1bHQ7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2U/LnNldEVsZW1lbnRWYWx1ZSh0aGlzLiNlbFJlZiwgdmFsdWVPckRlZmF1bHQpO1xuXG4gICAgaWYgKHZhbHVlT3JEZWZhdWx0KSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWRWYWx1ZSA9IHRoaXMuI2Zvcm1hdE51bWJlcih2YWx1ZU9yRGVmYXVsdC50b1N0cmluZygpKTtcblxuICAgICAgdGhpcy4jb25DaGFuZ2UoZm9ybWF0dGVkVmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNvbkNoYW5nZSh2YWx1ZU9yRGVmYXVsdCk7XG4gICAgfVxuICAgIHRoaXMuI3ZhbGlkYXRvckNoYW5nZSgpO1xuICB9XG5cbiAgZ2V0ICNtb2RlbFZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI19tb2RlbFZhbHVlO1xuICB9XG5cbiAgI2NvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZDtcblxuICAjdGV4dENoYW5nZXM6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+IHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjcGhvbmVVdGlscyA9IFBob25lTnVtYmVyVXRpbC5nZXRJbnN0YW5jZSgpO1xuXG4gICNfZGlzYWJsZWQhOiBib29sZWFuO1xuXG4gICNfbW9kZWxWYWx1ZSA9ICcnO1xuXG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICNlbFJlZjogRWxlbWVudFJlZjtcblxuICAjYWRhcHRlclNlcnZpY2U6IFNreVBob25lRmllbGRBZGFwdGVyU2VydmljZSB8IHVuZGVmaW5lZDtcbiAgI3Bob25lRmllbGRDb21wb25lbnQ6IFNreVBob25lRmllbGRDb21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBlbFJlZjogRWxlbWVudFJlZixcbiAgICBAT3B0aW9uYWwoKSBhZGFwdGVyU2VydmljZT86IFNreVBob25lRmllbGRBZGFwdGVyU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBwaG9uZUZpZWxkQ29tcG9uZW50PzogU2t5UGhvbmVGaWVsZENvbXBvbmVudFxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2VsUmVmID0gZWxSZWY7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2UgPSBhZGFwdGVyU2VydmljZTtcbiAgICB0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50ID0gcGhvbmVGaWVsZENvbXBvbmVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuI3Bob25lRmllbGRDb21wb25lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1lvdSBtdXN0IHdyYXAgdGhlIGBza3lQaG9uZUZpZWxkSW5wdXRgIGRpcmVjdGl2ZSB3aXRoaW4gYSAnICtcbiAgICAgICAgICAnYDxza3ktcGhvbmUtZmllbGQ+YCBjb21wb25lbnQhJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZT8uc2V0RWxlbWVudFR5cGUodGhpcy4jZWxSZWYpO1xuICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlPy5hZGRFbGVtZW50Q2xhc3ModGhpcy4jZWxSZWYsICdza3ktZm9ybS1jb250cm9sJyk7XG4gICAgaWYgKHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNlbGVjdGVkQ291bnRyeT8uZXhhbXBsZU51bWJlcikge1xuICAgICAgdGhpcy4jYWRhcHRlclNlcnZpY2U/LnNldEVsZW1lbnRQbGFjZWhvbGRlcihcbiAgICAgICAgdGhpcy4jZWxSZWYsXG4gICAgICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQuc2VsZWN0ZWRDb3VudHJ5LmV4YW1wbGVOdW1iZXJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2U/LnNldEFyaWFMYWJlbCh0aGlzLiNlbFJlZik7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNlbGVjdGVkQ291bnRyeUNoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoY291bnRyeTogU2t5UGhvbmVGaWVsZENvdW50cnkpID0+IHtcbiAgICAgICAgdGhpcy4jbW9kZWxWYWx1ZSA9IHRoaXMuI2VsUmVmLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICAgIGlmIChjb3VudHJ5Py5leGFtcGxlTnVtYmVyKSB7XG4gICAgICAgICAgdGhpcy4jYWRhcHRlclNlcnZpY2U/LnNldEVsZW1lbnRQbGFjZWhvbGRlcihcbiAgICAgICAgICAgIHRoaXMuI2VsUmVmLFxuICAgICAgICAgICAgY291bnRyeS5leGFtcGxlTnVtYmVyXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAvLyBUaGlzIGlzIG5lZWRlZCB0byBhZGRyZXNzIGEgYnVnIGluIEFuZ3VsYXIgNCwgd2hlcmUgdGhlIHZhbHVlIGlzIG5vdCBjaGFuZ2VkIG9uIHRoZSB2aWV3LlxuICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTM3OTJcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNjb250cm9sICYmIHRoaXMuI21vZGVsVmFsdWUpIHtcbiAgICAgIHRoaXMuI2NvbnRyb2wuc2V0VmFsdWUodGhpcy4jbW9kZWxWYWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogV3JpdGVzIHRoZSBuZXcgdmFsdWUgZm9yIHJlYWN0aXZlIGZvcm1zIG9uIGNoYW5nZSBldmVudHMgb24gdGhlIGlucHV0IGVsZW1lbnRcbiAgICogQHBhcmFtIGV2ZW50IFRoZSBjaGFuZ2UgZXZlbnQgdGhhdCB3YXMgcmVjZWl2ZWRcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2NoYW5nZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbklucHV0Q2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuI3RleHRDaGFuZ2VzKSB7XG4gICAgICB0aGlzLiNzZXR1cFRleHRDaGFuZ2VTdWJzY3JpcHRpb24oZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jdGV4dENoYW5nZXMubmV4dChldmVudC50YXJnZXQudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNYXJrcyByZWFjdGl2ZSBmb3JtIGNvbnRyb2xzIGFzIHRvdWNoZWQgb24gaW5wdXQgYmx1ciBldmVudHNcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICBwdWJsaWMgb25JbnB1dEJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy4jb25Ub3VjaGVkKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbklucHV0VHlwaW5nKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuI3RleHRDaGFuZ2VzKSB7XG4gICAgICB0aGlzLiNzZXR1cFRleHRDaGFuZ2VTdWJzY3JpcHRpb24oZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jdGV4dENoYW5nZXMubmV4dChldmVudC50YXJnZXQudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXcml0ZXMgdGhlIG5ldyB2YWx1ZSBmb3IgcmVhY3RpdmUgZm9ybXNcbiAgICogQHBhcmFtIHZhbHVlIFRoZSBuZXcgdmFsdWUgZm9yIHRoZSBpbnB1dFxuICAgKi9cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNldENvdW50cnlCeURpYWxDb2RlKHZhbHVlKTtcblxuICAgIHRoaXMuI21vZGVsVmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuI29uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLiNvblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy4jdmFsaWRhdG9yQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb24gdGhlIGlucHV0XG4gICAqIEBwYXJhbSBpc0Rpc2FibGVkIHRoZSBuZXcgdmFsdWUgb2YgdGhlIGlucHV0J3MgZGlzYWJsZWQgc3RhdGVcbiAgICovXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSdzIHRoZSBmb3JtIGNvbnRyb2wncyBjdXJyZW50IHZhbHVlXG4gICAqIEBwYXJhbSBjb250cm9sIHRoZSBmb3JtIGNvbnRyb2wgZm9yIHRoZSBpbnB1dFxuICAgKi9cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuI2NvbnRyb2wpIHtcbiAgICAgIHRoaXMuI2NvbnRyb2wgPSBjb250cm9sO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNreVBob25lRmllbGROb1ZhbGlkYXRlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLiNwaG9uZUZpZWxkQ29tcG9uZW50Py5zZWxlY3RlZENvdW50cnkgJiZcbiAgICAgICF0aGlzLiN2YWxpZGF0ZU51bWJlcih2YWx1ZSlcbiAgICApIHtcbiAgICAgIGlmICghdGhpcy4jdGV4dENoYW5nZXMpIHtcbiAgICAgICAgLy8gTWFyayB0aGUgaW52YWxpZCBjb250cm9sIGFzIHRvdWNoZWQgc28gdGhhdCB0aGUgaW5wdXQncyBpbnZhbGlkIENTUyBzdHlsZXMgYXBwZWFyLlxuICAgICAgICAvLyAoVGhpcyBpcyBvbmx5IHJlcXVpcmVkIHdoZW4gdGhlIGludmFsaWQgdmFsdWUgaXMgc2V0IGJ5IHRoZSBGb3JtQ29udHJvbCBjb25zdHJ1Y3Rvci4pXG4gICAgICAgIC8vIFdlIGRvbid0IGRvIHRoaXMgaWYgdGhlIGlucHV0IGlzIHRoZSBhY3RpdmUgZWxlbWVudCBzbyB0aGF0IHdlIGRvbid0IHNob3cgdmFsaWRhdGlvblxuICAgICAgICAvLyBlcnJvcnMgdW5sZXNzIGl0IGlzIGludmFsaWQgb24gaW5pdGlhbGl6YXRpb24gb3IgdGhlIGlucHV0IGhhcyBiZWVuIGJsdXJyZWQuXG4gICAgICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBza3lQaG9uZUZpZWxkOiB7XG4gICAgICAgICAgaW52YWxpZDogdmFsdWUsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gICNzZXR1cFRleHRDaGFuZ2VTdWJzY3JpcHRpb24odGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy4jdGV4dENoYW5nZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRleHQpO1xuXG4gICAgdGhpcy4jdGV4dENoYW5nZXNcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MDApLCB0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChuZXdWYWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLndyaXRlVmFsdWUobmV3VmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICAjdmFsaWRhdGVOdW1iZXIocGhvbmVOdW1iZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBudW1iZXJPYmogPSB0aGlzLiNwaG9uZVV0aWxzLnBhcnNlQW5kS2VlcFJhd0lucHV0KFxuICAgICAgICBwaG9uZU51bWJlcixcbiAgICAgICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8uc2VsZWN0ZWRDb3VudHJ5Py5pc28yXG4gICAgICApO1xuXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQgJiZcbiAgICAgICAgIXRoaXMuI3Bob25lRmllbGRDb21wb25lbnQuYWxsb3dFeHRlbnNpb25zICYmXG4gICAgICAgIG51bWJlck9iai5nZXRFeHRlbnNpb24oKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuI3Bob25lVXRpbHMuaXNWYWxpZE51bWJlcihudW1iZXJPYmopO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0J3MgdGhlIGdpdmVuIHBob25lIG51bWJlciBiYXNlZCBvbiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGNvdW50cnkuXG4gICAqIEBwYXJhbSBwaG9uZU51bWJlciBUaGUgbnVtYmVyIHRvIGZvcm1hdFxuICAgKi9cbiAgI2Zvcm1hdE51bWJlcihwaG9uZU51bWJlcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbnVtYmVyT2JqID0gdGhpcy4jcGhvbmVVdGlscy5wYXJzZUFuZEtlZXBSYXdJbnB1dChcbiAgICAgICAgcGhvbmVOdW1iZXIsXG4gICAgICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNlbGVjdGVkQ291bnRyeT8uaXNvMlxuICAgICAgKTtcbiAgICAgIGlmICh0aGlzLiNwaG9uZVV0aWxzLmlzUG9zc2libGVOdW1iZXIobnVtYmVyT2JqKSkge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnJldHVybkZvcm1hdCkge1xuICAgICAgICAgIGNhc2UgJ2ludGVybmF0aW9uYWwnOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuI3Bob25lVXRpbHMuZm9ybWF0KFxuICAgICAgICAgICAgICBudW1iZXJPYmosXG4gICAgICAgICAgICAgIFBob25lTnVtYmVyRm9ybWF0LklOVEVSTkFUSU9OQUxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgY2FzZSAnbmF0aW9uYWwnOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuI3Bob25lVXRpbHMuZm9ybWF0KFxuICAgICAgICAgICAgICBudW1iZXJPYmosXG4gICAgICAgICAgICAgIFBob25lTnVtYmVyRm9ybWF0Lk5BVElPTkFMXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGNhc2UgJ2RlZmF1bHQnOlxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIHRoaXMuI3Bob25lRmllbGRDb21wb25lbnQ/LnNlbGVjdGVkQ291bnRyeT8uaXNvMiAhPT1cbiAgICAgICAgICAgICAgdGhpcy4jcGhvbmVGaWVsZENvbXBvbmVudD8uZGVmYXVsdENvdW50cnlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy4jcGhvbmVVdGlscy5mb3JtYXQoXG4gICAgICAgICAgICAgICAgbnVtYmVyT2JqLFxuICAgICAgICAgICAgICAgIFBob25lTnVtYmVyRm9ybWF0LklOVEVSTkFUSU9OQUxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLiNwaG9uZVV0aWxzLmZvcm1hdChcbiAgICAgICAgICAgICAgICBudW1iZXJPYmosXG4gICAgICAgICAgICAgICAgUGhvbmVOdW1iZXJGb3JtYXQuTkFUSU9OQUxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHBob25lTnVtYmVyO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHJldHVybiBwaG9uZU51bWJlcjtcbiAgICB9XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uICwgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICNvbkNoYW5nZSA9IChfOiBzdHJpbmcgfCB1bmRlZmluZWQpID0+IHt9O1xuXG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgI29uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgI3ZhbGlkYXRvckNoYW5nZSA9ICgpID0+IHt9O1xufVxuIl19
@@ -67,7 +67,7 @@ export class SkyPhoneFieldComponent {
67
67
  });
68
68
  }
69
69
  /**
70
- * Indicates whether or not phone number extensions are allowed.
70
+ * Whether phone number extensions are allowed.
71
71
  * @default true
72
72
  */
73
73
  set allowExtensions(value) {
@@ -77,7 +77,7 @@ export class SkyPhoneFieldComponent {
77
77
  return __classPrivateFieldGet(this, _SkyPhoneFieldComponent__allowExtensions, "f");
78
78
  }
79
79
  /**
80
- * Specifies the
80
+ * The
81
81
  * [International Organization for Standardization Alpha 2](https://www.nationsonline.org/oneworld/country_code_list.htm)
82
82
  * country code for the default country. The country selector button displays a flag
83
83
  * icon for this default country until users select a different country.
@@ -93,7 +93,7 @@ export class SkyPhoneFieldComponent {
93
93
  return __classPrivateFieldGet(this, _SkyPhoneFieldComponent__defaultCountry, "f");
94
94
  }
95
95
  /**
96
- * Specifies the format for validated phone numbers.
96
+ * The format for validated phone numbers.
97
97
  * Options include: `"default"`, `"international"`, and `"national"`.
98
98
  * @default "default"
99
99
  */
@@ -104,7 +104,7 @@ export class SkyPhoneFieldComponent {
104
104
  __classPrivateFieldSet(this, _SkyPhoneFieldComponent__returnFormat, value || 'default', "f");
105
105
  }
106
106
  /**
107
- * Specifies the currently selected country to validate against.
107
+ * The currently selected country to validate against.
108
108
  */
109
109
  set selectedCountry(newCountry) {
110
110
  if (newCountry &&
@@ -351,4 +351,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
351
351
  static: true,
352
352
  }]
353
353
  }] } });
354
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Bob25lLWZpZWxkL3NyYy9saWIvbW9kdWxlcy9waG9uZS1maWVsZC9waG9uZS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGhvbmUtZmllbGQvc3JjL2xpYi9tb2R1bGVzL3Bob25lLWZpZWxkL3Bob25lLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUVMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUl0RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixlQUFlLEdBQ2hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7OztBQUk1RSxzRkFBc0Y7QUFDdEYsa0ZBQWtGO0FBQ2xGLDBJQUEwSTtBQWtFMUksTUFBTSxPQUFPLHNCQUFzQjtJQXVKakMsWUFDRSxXQUF3QixFQUN4QixjQUEyQyxFQUMzQyxjQUFpQyxFQUNkLFFBQTBCLEVBQ2QsZUFBd0M7UUFEcEQsYUFBUSxHQUFSLFFB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QUR4QixLQUFLO2dCQXFCSyxZQUFZO3NCQUR0QixLQUFLO2dCQWdCQyxvQkFBb0I7c0JBRDFCLEtBQUs7Z0JBU0MscUJBQXFCO3NCQUQzQixNQUFNO2dCQW1CSSxlQUFlO3NCQUR6QixLQUFLO2dCQWtDQyxnQkFBZ0I7c0JBSnRCLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUU7d0JBQzdCLElBQUksRUFBRSxXQUFXO3dCQUNqQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTSxxQkFBcUI7c0JBSjNCLFNBQVM7dUJBQUMsdUJBQXVCLEVBQUU7d0JBQ2xDLElBQUksRUFBRSxXQUFXO3dCQUNqQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTSx1QkFBdUI7c0JBSjdCLFNBQVM7dUJBQUMseUJBQXlCLEVBQUU7d0JBQ3BDLElBQUksRUFBRSxXQUFXO3dCQUNqQixNQUFNLEVBQUUsSUFBSTtxQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFuaW1hdGlvbkV2ZW50LFxuICBhbmltYXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNraXBTZWxmLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUlucHV0Qm94SG9zdFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHsgU2t5Q291bnRyeUZpZWxkQ291bnRyeSB9IGZyb20gJ0Bza3l1eC9sb29rdXAnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHtcbiAgUGhvbmVOdW1iZXJGb3JtYXQsXG4gIFBob25lTnVtYmVyVHlwZSxcbiAgUGhvbmVOdW1iZXJVdGlsLFxufSBmcm9tICdnb29nbGUtbGlicGhvbmVudW1iZXInO1xuaW1wb3J0ICdpbnRsLXRlbC1pbnB1dCc7XG5cbmltcG9ydCB7IFNreVBob25lRmllbGRBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vcGhvbmUtZmllbGQtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreVBob25lRmllbGRDb3VudHJ5IH0gZnJvbSAnLi90eXBlcy9jb3VudHJ5JztcbmltcG9ydCB7IFNreVBob25lRmllbGROdW1iZXJSZXR1cm5Gb3JtYXQgfSBmcm9tICcuL3R5cGVzL251bWJlci1yZXR1cm4tZm9ybWF0JztcblxuLy8gTk9URTogVGhlIG5vLW9wIGFuaW1hdGlvbiBpcyBoZXJlIGluIG9yZGVyIHRvIGJsb2NrIHRoZSBpbnB1dCdzIFwiZmFkZSBpblwiIGFuaW1hdGlvblxuLy8gZnJvbSBmaXJpbmcgb24gaW5pdGlhbCBsb2FkLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIHRlY2huaXF1ZSB5b3UgY2FuIHNlZVxuLy8gaHR0cHM6Ly93d3cuYmVubmFkZWwuY29tL2Jsb2cvMzQxNy11c2luZy1uby1vcC10cmFuc2l0aW9ucy10by1wcmV2ZW50LWFuaW1hdGlvbi1kdXJpbmctdGhlLWluaXRpYWwtcmVuZGVyLW9mLW5nZm9yLWluLWFuZ3VsYXItNS0yLTYuaHRtXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktcGhvbmUtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGhvbmUtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9waG9uZS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5UGhvbmVGaWVsZEFkYXB0ZXJTZXJ2aWNlLFxuICAgIC8vIFByZXZlbnRzIHRoZSBlbWJlZGRlZCBjb3VudHJ5IGZpZWxkIGNvbXBvbmVudCBmcm9tIGNoYW5naW5nIGl0cyBiZWhhdmlvciBiYXNlZCBvblxuICAgIC8vIGJlaW5nIGluc2lkZSBhbiBpbnB1dCBib3guIFRoZSBwaG9uZSBmaWVsZCBpdHNlbGYgd2lsbCBoYW5kbGUgdGhlIHJlcXVpcmVkIGNoYW5nZXNcbiAgICAvLyBmb3IgaW5wdXQgYm94LlxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUlucHV0Qm94SG9zdFNlcnZpY2UsXG4gICAgICB1c2VWYWx1ZTogdW5kZWZpbmVkLFxuICAgIH0sXG4gIF0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdibG9ja0FuaW1hdGlvbk9uTG9hZCcsIFt0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXSldKSxcbiAgICB0cmlnZ2VyKCdjb3VudHJ5U2VhcmNoQW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgfSksXG4gICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgJzIwMG1zIGVhc2UtaW4nLFxuICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICB3aWR0aDogJyonLFxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAnMjAwbXMgZWFzZS1pbicsXG4gICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCdwaG9uZUlucHV0QW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgfSksXG4gICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgJzE1MG1zIGVhc2UtaW4nLFxuICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICcxNTBtcyBlYXNlLWluJyxcbiAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UGhvbmVGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCBwaG9uZSBudW1iZXIgZXh0ZW5zaW9ucyBhcmUgYWxsb3dlZC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhbGxvd0V4dGVuc2lvbnModmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfYWxsb3dFeHRlbnNpb25zID0gdmFsdWUgIT09IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldCBhbGxvd0V4dGVuc2lvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19hbGxvd0V4dGVuc2lvbnM7XG4gIH1cblxuICAjX2FsbG93RXh0ZW5zaW9ucyA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGVcbiAgICogW0ludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvciBTdGFuZGFyZGl6YXRpb24gQWxwaGEgMl0oaHR0cHM6Ly93d3cubmF0aW9uc29ubGluZS5vcmcvb25ld29ybGQvY291bnRyeV9jb2RlX2xpc3QuaHRtKVxuICAgKiBjb3VudHJ5IGNvZGUgZm9yIHRoZSBkZWZhdWx0IGNvdW50cnkuIFRoZSBjb3VudHJ5IHNlbGVjdG9yIGJ1dHRvbiBkaXNwbGF5cyBhIGZsYWdcbiAgICogaWNvbiBmb3IgdGhpcyBkZWZhdWx0IGNvdW50cnkgdW50aWwgdXNlcnMgc2VsZWN0IGEgZGlmZmVyZW50IGNvdW50cnkuXG4gICAqIEBkZWZhdWx0IFwidXNcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZWZhdWx0Q291bnRyeSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSB0aGlzLiNfZGVmYXVsdENvdW50cnkpIHtcbiAgICAgIHRoaXMuI19kZWZhdWx0Q291bnRyeSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgIHRoaXMuI2RlZmF1bHRDb3VudHJ5RGF0YSA9IHRoaXMuY291bnRyaWVzLmZpbmQoXG4gICAgICAgIChjb3VudHJ5KSA9PiBjb3VudHJ5LmlzbzIgPT09IHRoaXMuI19kZWZhdWx0Q291bnRyeVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlZmF1bHRDb3VudHJ5KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19kZWZhdWx0Q291bnRyeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGZvcm1hdCBmb3IgdmFsaWRhdGVkIHBob25lIG51bWJlcnMuXG4gICAqIE9wdGlvbnMgaW5jbHVkZTogYFwiZGVmYXVsdFwiYCwgYFwiaW50ZXJuYXRpb25hbFwiYCwgYW5kIGBcIm5hdGlvbmFsXCJgLlxuICAgKiBAZGVmYXVsdCBcImRlZmF1bHRcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCByZXR1cm5Gb3JtYXQoKTogU2t5UGhvbmVGaWVsZE51bWJlclJldHVybkZvcm1hdCB7XG4gICAgcmV0dXJuIHRoaXMuI19yZXR1cm5Gb3JtYXQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IHJldHVybkZvcm1hdCh2YWx1ZTogU2t5UGhvbmVGaWVsZE51bWJlclJldHVybkZvcm1hdCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19yZXR1cm5Gb3JtYXQgPSB2YWx1ZSB8fCAnZGVmYXVsdCc7XG4gIH1cblxuICAjX3JldHVybkZvcm1hdDogU2t5UGhvbmVGaWVsZE51bWJlclJldHVybkZvcm1hdCA9ICdkZWZhdWx0JztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBbSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yIFN0YW5kYXJkaXphdGlvbiBBbHBoYSAyXShodHRwczovL3d3dy5uYXRpb25zb25saW5lLm9yZy9vbmV3b3JsZC9jb3VudHJ5X2NvZGVfbGlzdC5odG0pXG4gICAqIGNvdW50cnkgY29kZXMgZm9yIHRoZSBjb3VudHJpZXMgdGhhdCB1c2VycyBjYW4gc2VsZWN0LiBCeSBkZWZhdWx0LCBhbGwgY291bnRyaWVzIGFyZSBhdmFpbGFibGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3VwcG9ydGVkQ291bnRyeUlTT3M6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBhIGBTa3lQaG9uZUZpZWxkQ291bnRyeWAgb2JqZWN0IHdoZW4gdGhlIHNlbGVjdGVkIGNvdW50cnkgaW4gdGhlIGNvdW50cnkgc2VhcmNoXG4gICAqIGlucHV0IGNoYW5nZXMuXG4gICAqL1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWRDb3VudHJ5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lQaG9uZUZpZWxkQ291bnRyeT4oKTtcblxuICBwdWJsaWMgY291bnRyaWVzOiBTa3lQaG9uZUZpZWxkQ291bnRyeVtdO1xuXG4gIHB1YmxpYyBjb3VudHJ5U2VsZWN0RGlzYWJsZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgY291bnRyeVNlYXJjaFNob3duID0gZmFsc2U7XG5cbiAgcHVibGljIHBob25lSW5wdXRTaG93biA9IHRydWU7XG5cbiAgcHVibGljIGNvdW50cnlTZWFyY2hGb3JtOiBGb3JtR3JvdXA8e1xuICAgIGNvdW50cnlTZWFyY2g6IEZvcm1Db250cm9sPFNreUNvdW50cnlGaWVsZENvdW50cnkgfCB1bmRlZmluZWQ+O1xuICB9PjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgY291bnRyeSB0byB2YWxpZGF0ZSBhZ2FpbnN0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RlZENvdW50cnkobmV3Q291bnRyeTogU2t5UGhvbmVGaWVsZENvdW50cnkgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoXG4gICAgICBuZXdDb3VudHJ5ICYmXG4gICAgICAoIXRoaXMuI19zZWxlY3RlZENvdW50cnkgfHxcbiAgICAgICAgdGhpcy4jX3NlbGVjdGVkQ291bnRyeS5pc28yICE9PSBuZXdDb3VudHJ5LmlzbzIpXG4gICAgKSB7XG4gICAgICB0aGlzLiNfc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5jb3VudHJpZXMuZmluZChcbiAgICAgICAgKGNvdW50cnkpID0+IGNvdW50cnkuaXNvMiA9PT0gbmV3Q291bnRyeS5pc28yXG4gICAgICApO1xuXG4gICAgICBpZiAodGhpcy4jX3NlbGVjdGVkQ291bnRyeSAmJiAhdGhpcy4jX3NlbGVjdGVkQ291bnRyeS5leGFtcGxlTnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IG51bWJlck9iaiA9IHRoaXMuI3Bob25lVXRpbHMuZ2V0RXhhbXBsZU51bWJlckZvclR5cGUoXG4gICAgICAgICAgbmV3Q291bnRyeS5pc28yLFxuICAgICAgICAgIFBob25lTnVtYmVyVHlwZS5GSVhFRF9MSU5FXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuI19zZWxlY3RlZENvdW50cnkuZXhhbXBsZU51bWJlciA9IHRoaXMuI3Bob25lVXRpbHMuZm9ybWF0KFxuICAgICAgICAgIG51bWJlck9iaixcbiAgICAgICAgICBQaG9uZU51bWJlckZvcm1hdC5OQVRJT05BTFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeUNoYW5nZS5lbWl0KHRoaXMuI19zZWxlY3RlZENvdW50cnkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRDb3VudHJ5KCk6IFNreVBob25lRmllbGRDb3VudHJ5IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3NlbGVjdGVkQ291bnRyeTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0VGVtcGxhdGVSZWYnLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgaW5wdXRUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnY291bnRyeUJ0blRlbXBsYXRlUmVmJywge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIGNvdW50cnlCdG5UZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnYnV0dG9uc0luc2V0VGVtcGxhdGVSZWYnLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgYnV0dG9uc0luc2V0VGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gICNkZWZhdWx0Q291bnRyeURhdGE6IFNreVBob25lRmllbGRDb3VudHJ5IHwgdW5kZWZpbmVkO1xuXG4gICNwaG9uZUlucHV0QW5pbWF0aW9uVHJpZ2dlcmVkID0gZmFsc2U7XG5cbiAgI3Bob25lVXRpbHMgPSBQaG9uZU51bWJlclV0aWwuZ2V0SW5zdGFuY2UoKTtcblxuICAjbG9uZ2VzdERpYWxDb2RlTGVuZ3RoID0gMDtcblxuICAjX2RlZmF1bHRDb3VudHJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI19zZWxlY3RlZENvdW50cnk6IFNreVBob25lRmllbGRDb3VudHJ5IHwgdW5kZWZpbmVkO1xuXG4gICNjb3VudHJ5U2VhcmNoRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sPFNreUNvdW50cnlGaWVsZENvdW50cnkgfCB1bmRlZmluZWQ+ID1cbiAgICBuZXcgRm9ybUNvbnRyb2woKTtcblxuICAjZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyO1xuICAjYWRhcHRlclNlcnZpY2U6IFNreVBob25lRmllbGRBZGFwdGVyU2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgYWRhcHRlclNlcnZpY2U6IFNreVBob25lRmllbGRBZGFwdGVyU2VydmljZSxcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIHRoZW1lU3ZjPzogU2t5VGhlbWVTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHB1YmxpYyBpbnB1dEJveEhvc3RTdmM/OiBTa3lJbnB1dEJveEhvc3RTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2Zvcm1CdWlsZGVyID0gZm9ybUJ1aWxkZXI7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2UgPSBhZGFwdGVyU2VydmljZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIC8qKlxuICAgICAqIFRoZSBqc29uIGZ1bmN0aW9ucyBoZXJlIGVuc3VyZXMgdGhhdCB3ZSBnZXQgYSBjb3B5IG9mIHRoZSBhcnJheSBhbmQgbm90IHRoZSBnbG9iYWwgb3JpZ2luYWwuXG4gICAgICogVGhpcyBlbnN1cmVzIHRoYXQgbXVsdGlwbGUgaW5zdGFuY2VzIG9mIHRoZSBjb21wb25lbnQgZG9uJ3Qgb3ZlcndyaXRlIHRoZSBvcmlnaW5hbCBkYXRhLlxuICAgICAqXG4gICAgICogV2UgbXVzdCB0eXBlIHRoZSB3aW5kb3cgb2JqZWN0IGFzIGFueSBoZXJlIGFzIHRoZSBpbnRsLXRlbC1pbnB1dCBsaWJyYXJ5IGFkZHMgaXRzIG9iamVjdFxuICAgICAqIHRvIHRoZSBtYWluIHdpbmRvdyBvYmplY3QuXG4gICAgICovXG4gICAgdGhpcy5jb3VudHJpZXMgPSBKU09OLnBhcnNlKFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgIEpTT04uc3RyaW5naWZ5KCh3aW5kb3cgYXMgYW55KS5pbnRsVGVsSW5wdXRHbG9iYWxzLmdldENvdW50cnlEYXRhKCkpXG4gICAgKTtcbiAgICBmb3IgKGNvbnN0IGNvdW50cnkgb2YgdGhpcy5jb3VudHJpZXMpIHtcbiAgICAgIGNvdW50cnkuZGlhbENvZGUgPSAnKycgKyBjb3VudHJ5LmRpYWxDb2RlO1xuXG4gICAgICBpZiAoY291bnRyeS5kaWFsQ29kZS5sZW5ndGggPiB0aGlzLiNsb25nZXN0RGlhbENvZGVMZW5ndGgpIHtcbiAgICAgICAgdGhpcy4jbG9uZ2VzdERpYWxDb2RlTGVuZ3RoID0gY291bnRyeS5kaWFsQ29kZS5sZW5ndGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5jb3VudHJ5U2VhcmNoRm9ybSA9IHRoaXMuI2Zvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGNvdW50cnlTZWFyY2g6IHRoaXMuI2NvdW50cnlTZWFyY2hGb3JtQ29udHJvbCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBUaGUgdGltZW91dCBoZXJlIGlzIG5lZWRlZCB0byBhdm9pZCBhIGNoYW5nZSBiZWZvcmUgY2hlY2tlZCBlcnJvciB3aGVuIGEgdXNlciBzcGVjaWZpZXNcbiAgICAvLyBhIHNlbGVjdGVkIGNvdW50cnkgb24gaW5pdGlhbGl6YXRpb24gb2YgdGhlIGNvbXBvbmVudC5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmlucHV0Qm94SG9zdFN2YyAmJiB0aGlzLmlucHV0VGVtcGxhdGVSZWYpIHtcbiAgICAgICAgdGhpcy5pbnB1dEJveEhvc3RTdmMucG9wdWxhdGUoe1xuICAgICAgICAgIGlucHV0VGVtcGxhdGU6IHRoaXMuaW5wdXRUZW1wbGF0ZVJlZixcbiAgICAgICAgICBidXR0b25zSW5zZXRUZW1wbGF0ZTogdGhpcy5idXR0b25zSW5zZXRUZW1wbGF0ZVJlZixcbiAgICAgICAgICBidXR0b25zTGVmdFRlbXBsYXRlOiB0aGlzLmNvdW50cnlCdG5UZW1wbGF0ZVJlZixcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5kZWZhdWx0Q291bnRyeSkge1xuICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5ID0gJ3VzJztcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkQ291bnRyeSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IHRoaXMuI2RlZmF1bHRDb3VudHJ5RGF0YTtcbiAgICAgIH1cbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH0sIDApO1xuXG4gICAgdGhpcy4jY291bnRyeVNlYXJjaEZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXG4gICAgICAobmV3VmFsdWU/OiBTa3lDb3VudHJ5RmllbGRDb3VudHJ5KSA9PiB7XG4gICAgICAgIGlmIChuZXdWYWx1ZT8uaXNvMiAhPT0gdGhpcy5zZWxlY3RlZENvdW50cnk/LmlzbzIpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IG5ld1ZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ291bnRyeUNoYW5nZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvdW50cnkgdG8gdmFsaWRhdGUgYWdhaW5zdCBiYXNlZCBvbiB0aGUgY291bnR5J3MgaXNvMiBjb2RlLlxuICAgKiBAcGFyYW0gY291bnRyeUNvZGUgVGhlIEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvciBTdGFuZGFyZGl6YXRpb24ncyB0d28tbGV0dGVyIGNvZGVcbiAgICogZm9yIHRoZSBkZWZhdWx0IGNvdW50cnkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIG9uQ291bnRyeVNlbGVjdGVkKG5ld0NvdW50cnk6IFNreUNvdW50cnlGaWVsZENvdW50cnkpOiB2b2lkIHtcbiAgICBpZiAobmV3Q291bnRyeSkge1xuICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSB0aGlzLmNvdW50cmllcy5maW5kKFxuICAgICAgICAoY291bnRyeUluZm8pID0+IGNvdW50cnlJbmZvLmlzbzIgPT09IG5ld0NvdW50cnkuaXNvMlxuICAgICAgKTtcbiAgICAgIHRoaXMudG9nZ2xlQ291bnRyeVNlYXJjaChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRvZ2dsZUNvdW50cnlTZWFyY2goc2hvd1NlYXJjaDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuI3Bob25lSW5wdXRBbmltYXRpb25UcmlnZ2VyZWQgPSB0cnVlO1xuXG4gICAgaWYgKHNob3dTZWFyY2gpIHtcbiAgICAgIHRoaXMucGhvbmVJbnB1dFNob3duID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY291bnRyeVNlYXJjaFNob3duID0gZmFsc2U7XG5cbiAgICAgIHRoaXMuI2NvdW50cnlTZWFyY2hGb3JtQ29udHJvbC5zZXRWYWx1ZSh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGNvdW50cnlTZWFyY2hBbmltYXRpb25FbmQoZTogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY291bnRyeVNlYXJjaFNob3duKSB7XG4gICAgICB0aGlzLnBob25lSW5wdXRTaG93biA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLmZvY3VzQ291bnRyeVNlYXJjaEVsZW1lbnQoZS5lbGVtZW50KTtcbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBwaG9uZUlucHV0QW5pbWF0aW9uRW5kKGU6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnBob25lSW5wdXRTaG93bikge1xuICAgICAgdGhpcy5jb3VudHJ5U2VhcmNoU2hvd24gPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy4jcGhvbmVJbnB1dEFuaW1hdGlvblRyaWdnZXJlZCkge1xuICAgICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5mb2N1c1Bob25lSW5wdXQoZS5lbGVtZW50KTtcbiAgICAgICAgdGhpcy4jcGhvbmVJbnB1dEFuaW1hdGlvblRyaWdnZXJlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHNldENvdW50cnlCeURpYWxDb2RlKHBob25lTnVtYmVyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIXBob25lTnVtYmVyIHx8ICFwaG9uZU51bWJlci5zdGFydHNXaXRoKCcrJykpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBsZXQgbmV3Q291bnRyeTogU2t5UGhvbmVGaWVsZENvdW50cnkgfCB1bmRlZmluZWQ7XG5cbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IHRoaXMuI2xvbmdlc3REaWFsQ29kZUxlbmd0aCArIDE7IGkrKykge1xuICAgICAgY29uc3QgZGlhbENvZGUgPSBwaG9uZU51bWJlci5zdWJzdHJpbmcoMCwgaSk7XG5cbiAgICAgIGxldCBmb3VuZENvdW50cnkgPSB0aGlzLmNvdW50cmllcy5maW5kKFxuICAgICAgICAoY291bnRyeSkgPT4gY291bnRyeS5kaWFsQ29kZSA9PT0gZGlhbENvZGUgJiYgY291bnRyeS5wcmlvcml0eSA9PT0gMFxuICAgICAgKTtcblxuICAgICAgaWYgKGZvdW5kQ291bnRyeSkge1xuICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgY291bnRyeSB0aGF0IHdhcyBmb3VuZCBpcyBvbmUgb2YgdGhlIHN1cHBvcnRlZCBjb3VudHJpZXNcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuc3VwcG9ydGVkQ291bnRyeUlTT3MgJiZcbiAgICAgICAgICB0aGlzLnN1cHBvcnRlZENvdW50cnlJU09zLmZpbmRJbmRleChcbiAgICAgICAgICAgIChpc29Db2RlKSA9PlxuICAgICAgICAgICAgICBpc29Db2RlLnRvVXBwZXJDYXNlKCkgPT09IGZvdW5kQ291bnRyeT8uaXNvMi50b1VwcGVyQ2FzZSgpXG4gICAgICAgICAgKSA8IDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgZm91bmRDb3VudHJ5ID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvdW5kQ291bnRyeSAhPT0gdGhpcy5zZWxlY3RlZENvdW50cnkpIHtcbiAgICAgICAgICBuZXdDb3VudHJ5ID0gZm91bmRDb3VudHJ5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5ld0NvdW50cnkpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gbmV3Q291bnRyeTtcbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWlucHV0Qm94SG9zdFN2Y1wiPlxuICA8ZGl2IGNsYXNzPVwic2t5LWlucHV0LWdyb3VwIHNreS1waG9uZS1maWVsZFwiIFtAYmxvY2tBbmltYXRpb25PbkxvYWRdPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb3VudHJ5QnRuVGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5wdXRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25zSW5zZXRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2NvdW50cnlCdG5UZW1wbGF0ZVJlZj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWlucHV0LWdyb3VwLWJ0biBza3ktcGhvbmUtZmllbGQtY291bnRyeS1idG5cIlxuICAgIFthdHRyLmRhdGEtc2t5LXRlc3QtaXNvMl09XCJzZWxlY3RlZENvdW50cnk/LmlzbzJcIlxuICAgIFthdHRyLmRhdGEtc2t5LXRlc3QtbmFtZV09XCJzZWxlY3RlZENvdW50cnk/Lm5hbWVcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHRcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci50aXRsZV09XCJcbiAgICAgICAgKCdza3l1eF9waG9uZV9maWVsZF9jb3VudHJ5X3NlbGVjdF9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMpICtcbiAgICAgICAgJyAnICtcbiAgICAgICAgKCdza3l1eF9waG9uZV9maWVsZF9jb3VudHJ5X3NlbGVjdGVkX2xhYmVsJ1xuICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiBzZWxlY3RlZENvdW50cnk/Lm5hbWUpXG4gICAgICBcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgKCdza3l1eF9waG9uZV9maWVsZF9jb3VudHJ5X3NlbGVjdF9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMpICtcbiAgICAgICAgJyAnICtcbiAgICAgICAgKCdza3l1eF9waG9uZV9maWVsZF9jb3VudHJ5X3NlbGVjdGVkX2xhYmVsJ1xuICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiBzZWxlY3RlZENvdW50cnk/Lm5hbWUpXG4gICAgICBcIlxuICAgICAgW2Rpc2FibGVkXT1cImNvdW50cnlTZWxlY3REaXNhYmxlZFwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlQ291bnRyeVNlYXJjaCh0cnVlKVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNreS1waG9uZS1maWVsZC1mbGFnIGl0aV9fZmxhZ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cIidpdGlfXycgKyBzZWxlY3RlZENvdW50cnk/LmlzbzJcIlxuICAgICAgPjwvZGl2PlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaW5wdXRUZW1wbGF0ZVJlZj5cbiAgPHNwYW5cbiAgICAqbmdJZj1cInBob25lSW5wdXRTaG93blwiXG4gICAgY2xhc3M9XCJza3ktcGhvbmUtZmllbGQtY29udGFpbmVyXCJcbiAgICBbQC5kaXNhYmxlZF09XCJcbiAgICAgIGlucHV0Qm94SG9zdFN2YyAmJlxuICAgICAgKHRoZW1lU3ZjPy5zZXR0aW5nc0NoYW5nZSB8IGFzeW5jKT8uY3VycmVudFNldHRpbmdzPy50aGVtZT8ubmFtZSA9PT1cbiAgICAgICAgJ21vZGVybidcbiAgICBcIlxuICAgIFtAcGhvbmVJbnB1dEFuaW1hdGlvbl09XCJwaG9uZUlucHV0U2hvd24gPyAnb3BlbicgOiAnY2xvc2VkJ1wiXG4gICAgKEBwaG9uZUlucHV0QW5pbWF0aW9uLmRvbmUpPVwicGhvbmVJbnB1dEFuaW1hdGlvbkVuZCgkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ0lmPVwiY291bnRyeVNlYXJjaFNob3duXCJcbiAgICBjbGFzcz1cInNreS1waG9uZS1maWVsZC1jb250YWluZXJcIlxuICAgIFtALmRpc2FibGVkXT1cIlxuICAgICAgaW5wdXRCb3hIb3N0U3ZjICYmXG4gICAgICAodGhlbWVTdmM/LnNldHRpbmdzQ2hhbmdlIHwgYXN5bmMpPy5jdXJyZW50U2V0dGluZ3M/LnRoZW1lPy5uYW1lID09PVxuICAgICAgICAnbW9kZXJuJ1xuICAgIFwiXG4gICAgW0Bjb3VudHJ5U2VhcmNoQW5pbWF0aW9uXT1cImNvdW50cnlTZWFyY2hTaG93biA/ICdvcGVuJyA6ICdjbG9zZWQnXCJcbiAgICAoQGNvdW50cnlTZWFyY2hBbmltYXRpb24uZG9uZSk9XCJjb3VudHJ5U2VhcmNoQW5pbWF0aW9uRW5kKCRldmVudClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInNreS1waG9uZS1maWVsZC1jb3VudHJ5LXNlYXJjaFwiIFtmb3JtR3JvdXBdPVwiY291bnRyeVNlYXJjaEZvcm1cIj5cbiAgICAgIDxza3ktY291bnRyeS1maWVsZFxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb3VudHJ5U2VhcmNoXCJcbiAgICAgICAgW2RlZmF1bHRDb3VudHJ5XT1cImRlZmF1bHRDb3VudHJ5XCJcbiAgICAgICAgW2hpZGVTZWxlY3RlZENvdW50cnlGbGFnXT1cInRydWVcIlxuICAgICAgICBbaW5jbHVkZVBob25lSW5mb109XCJ0cnVlXCJcbiAgICAgICAgW3N1cHBvcnRlZENvdW50cnlJU09zXT1cInN1cHBvcnRlZENvdW50cnlJU09zXCJcbiAgICAgICAgKHNlbGVjdGVkQ291bnRyeUNoYW5nZSk9XCJvbkNvdW50cnlTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgIDwvc2t5LWNvdW50cnktZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9uc0luc2V0VGVtcGxhdGVSZWY+XG4gIDxkaXZcbiAgICAqbmdJZj1cImNvdW50cnlTZWFyY2hTaG93blwiXG4gICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtYnRuIHNreS1pbnB1dC1ib3gtYnRuLWluc2V0IHNreS1zZWFyY2gtaXRlbS1kaXNtaXNzXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktcGhvbmUtZmllbGQtc2VhcmNoLWJ0bi1kaXNtaXNzXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIudGl0bGVdPVwiXG4gICAgICAgICdza3l1eF9waG9uZV9maWVsZF9jb3VudHJ5X3NlYXJjaF9kaXNtaXNzJyB8IHNreUxpYlJlc291cmNlc1xuICAgICAgXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3NreS1idG4tZGVmYXVsdCc6XG4gICAgICAgICAgKHRoZW1lU3ZjPy5zZXR0aW5nc0NoYW5nZSB8IGFzeW5jKT8uY3VycmVudFNldHRpbmdzPy50aGVtZT8ubmFtZSA9PT1cbiAgICAgICAgICAnbW9kZXJuJ1xuICAgICAgfVwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlQ291bnRyeVNlYXJjaChmYWxzZSlcIlxuICAgID5cbiAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJjaGV2cm9uLWNpcmNsZS1sZWZ0XCIgc2l6ZT1cImxnXCI+XG4gICAgICA8L3NreS1pY29uPlxuICAgICAgPHNreS1pY29uXG4gICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICBpY29uPVwiZG91YmxlLWNoZXZyb24tbGVmdFwiXG4gICAgICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgICAgICBzaXplPVwiMnhcIlxuICAgICAgPlxuICAgICAgPC9za3ktaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
354
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Bob25lLWZpZWxkL3NyYy9saWIvbW9kdWxlcy9waG9uZS1maWVsZC9waG9uZS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcGhvbmUtZmllbGQvc3JjL2xpYi9tb2R1bGVzL3Bob25lLWZpZWxkL3Bob25lLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUVMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUl0RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixlQUFlLEdBQ2hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7OztBQUk1RSxzRkFBc0Y7QUFDdEYsa0ZBQWtGO0FBQ2xGLDBJQUEwSTtBQWtFMUksTUFBTSxPQUFPLHNCQUFzQjtJQXVKakMsWUFDRSxXQUF3QixFQUN4QixjQUEyQyxFQUMzQyxjQUFpQyxFQUNkLFFBQTBCLEVBQ2QsZUFBd0M7UUFEcEQsYUFBUSxHQUFSLFFB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QUR4QixLQUFLO2dCQXFCSyxZQUFZO3NCQUR0QixLQUFLO2dCQWdCQyxvQkFBb0I7c0JBRDFCLEtBQUs7Z0JBU0MscUJBQXFCO3NCQUQzQixNQUFNO2dCQW1CSSxlQUFlO3NCQUR6QixLQUFLO2dCQWtDQyxnQkFBZ0I7c0JBSnRCLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUU7d0JBQzdCLElBQUksRUFBRSxXQUFXO3dCQUNqQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTSxxQkFBcUI7c0JBSjNCLFNBQVM7dUJBQUMsdUJBQXVCLEVBQUU7d0JBQ2xDLElBQUksRUFBRSxXQUFXO3dCQUNqQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTSx1QkFBdUI7c0JBSjdCLFNBQVM7dUJBQUMseUJBQXlCLEVBQUU7d0JBQ3BDLElBQUksRUFBRSxXQUFXO3dCQUNqQixNQUFNLEVBQUUsSUFBSTtxQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFuaW1hdGlvbkV2ZW50LFxuICBhbmltYXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNraXBTZWxmLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUlucHV0Qm94SG9zdFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHsgU2t5Q291bnRyeUZpZWxkQ291bnRyeSB9IGZyb20gJ0Bza3l1eC9sb29rdXAnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHtcbiAgUGhvbmVOdW1iZXJGb3JtYXQsXG4gIFBob25lTnVtYmVyVHlwZSxcbiAgUGhvbmVOdW1iZXJVdGlsLFxufSBmcm9tICdnb29nbGUtbGlicGhvbmVudW1iZXInO1xuaW1wb3J0ICdpbnRsLXRlbC1pbnB1dCc7XG5cbmltcG9ydCB7IFNreVBob25lRmllbGRBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vcGhvbmUtZmllbGQtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreVBob25lRmllbGRDb3VudHJ5IH0gZnJvbSAnLi90eXBlcy9jb3VudHJ5JztcbmltcG9ydCB7IFNreVBob25lRmllbGROdW1iZXJSZXR1cm5Gb3JtYXQgfSBmcm9tICcuL3R5cGVzL251bWJlci1yZXR1cm4tZm9ybWF0JztcblxuLy8gTk9URTogVGhlIG5vLW9wIGFuaW1hdGlvbiBpcyBoZXJlIGluIG9yZGVyIHRvIGJsb2NrIHRoZSBpbnB1dCdzIFwiZmFkZSBpblwiIGFuaW1hdGlvblxuLy8gZnJvbSBmaXJpbmcgb24gaW5pdGlhbCBsb2FkLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIHRlY2huaXF1ZSB5b3UgY2FuIHNlZVxuLy8gaHR0cHM6Ly93d3cuYmVubmFkZWwuY29tL2Jsb2cvMzQxNy11c2luZy1uby1vcC10cmFuc2l0aW9ucy10by1wcmV2ZW50LWFuaW1hdGlvbi1kdXJpbmctdGhlLWluaXRpYWwtcmVuZGVyLW9mLW5nZm9yLWluLWFuZ3VsYXItNS0yLTYuaHRtXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktcGhvbmUtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGhvbmUtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9waG9uZS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5UGhvbmVGaWVsZEFkYXB0ZXJTZXJ2aWNlLFxuICAgIC8vIFByZXZlbnRzIHRoZSBlbWJlZGRlZCBjb3VudHJ5IGZpZWxkIGNvbXBvbmVudCBmcm9tIGNoYW5naW5nIGl0cyBiZWhhdmlvciBiYXNlZCBvblxuICAgIC8vIGJlaW5nIGluc2lkZSBhbiBpbnB1dCBib3guIFRoZSBwaG9uZSBmaWVsZCBpdHNlbGYgd2lsbCBoYW5kbGUgdGhlIHJlcXVpcmVkIGNoYW5nZXNcbiAgICAvLyBmb3IgaW5wdXQgYm94LlxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUlucHV0Qm94SG9zdFNlcnZpY2UsXG4gICAgICB1c2VWYWx1ZTogdW5kZWZpbmVkLFxuICAgIH0sXG4gIF0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdibG9ja0FuaW1hdGlvbk9uTG9hZCcsIFt0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXSldKSxcbiAgICB0cmlnZ2VyKCdjb3VudHJ5U2VhcmNoQW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgfSksXG4gICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgJzIwMG1zIGVhc2UtaW4nLFxuICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICB3aWR0aDogJyonLFxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAnMjAwbXMgZWFzZS1pbicsXG4gICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgICB0cmlnZ2VyKCdwaG9uZUlucHV0QW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgfSksXG4gICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgJzE1MG1zIGVhc2UtaW4nLFxuICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICcxNTBtcyBlYXNlLWluJyxcbiAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UGhvbmVGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgcGhvbmUgbnVtYmVyIGV4dGVuc2lvbnMgYXJlIGFsbG93ZWQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYWxsb3dFeHRlbnNpb25zKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2FsbG93RXh0ZW5zaW9ucyA9IHZhbHVlICE9PSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWxsb3dFeHRlbnNpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfYWxsb3dFeHRlbnNpb25zO1xuICB9XG5cbiAgI19hbGxvd0V4dGVuc2lvbnMgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBUaGVcbiAgICogW0ludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvciBTdGFuZGFyZGl6YXRpb24gQWxwaGEgMl0oaHR0cHM6Ly93d3cubmF0aW9uc29ubGluZS5vcmcvb25ld29ybGQvY291bnRyeV9jb2RlX2xpc3QuaHRtKVxuICAgKiBjb3VudHJ5IGNvZGUgZm9yIHRoZSBkZWZhdWx0IGNvdW50cnkuIFRoZSBjb3VudHJ5IHNlbGVjdG9yIGJ1dHRvbiBkaXNwbGF5cyBhIGZsYWdcbiAgICogaWNvbiBmb3IgdGhpcyBkZWZhdWx0IGNvdW50cnkgdW50aWwgdXNlcnMgc2VsZWN0IGEgZGlmZmVyZW50IGNvdW50cnkuXG4gICAqIEBkZWZhdWx0IFwidXNcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZWZhdWx0Q291bnRyeSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSB0aGlzLiNfZGVmYXVsdENvdW50cnkpIHtcbiAgICAgIHRoaXMuI19kZWZhdWx0Q291bnRyeSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgIHRoaXMuI2RlZmF1bHRDb3VudHJ5RGF0YSA9IHRoaXMuY291bnRyaWVzLmZpbmQoXG4gICAgICAgIChjb3VudHJ5KSA9PiBjb3VudHJ5LmlzbzIgPT09IHRoaXMuI19kZWZhdWx0Q291bnRyeVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlZmF1bHRDb3VudHJ5KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19kZWZhdWx0Q291bnRyeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZm9ybWF0IGZvciB2YWxpZGF0ZWQgcGhvbmUgbnVtYmVycy5cbiAgICogT3B0aW9ucyBpbmNsdWRlOiBgXCJkZWZhdWx0XCJgLCBgXCJpbnRlcm5hdGlvbmFsXCJgLCBhbmQgYFwibmF0aW9uYWxcImAuXG4gICAqIEBkZWZhdWx0IFwiZGVmYXVsdFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHJldHVybkZvcm1hdCgpOiBTa3lQaG9uZUZpZWxkTnVtYmVyUmV0dXJuRm9ybWF0IHtcbiAgICByZXR1cm4gdGhpcy4jX3JldHVybkZvcm1hdDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgcmV0dXJuRm9ybWF0KHZhbHVlOiBTa3lQaG9uZUZpZWxkTnVtYmVyUmV0dXJuRm9ybWF0IHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3JldHVybkZvcm1hdCA9IHZhbHVlIHx8ICdkZWZhdWx0JztcbiAgfVxuXG4gICNfcmV0dXJuRm9ybWF0OiBTa3lQaG9uZUZpZWxkTnVtYmVyUmV0dXJuRm9ybWF0ID0gJ2RlZmF1bHQnO1xuXG4gIC8qKlxuICAgKiBUaGUgW0ludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvciBTdGFuZGFyZGl6YXRpb24gQWxwaGEgMl0oaHR0cHM6Ly93d3cubmF0aW9uc29ubGluZS5vcmcvb25ld29ybGQvY291bnRyeV9jb2RlX2xpc3QuaHRtKVxuICAgKiBjb3VudHJ5IGNvZGVzIGZvciB0aGUgY291bnRyaWVzIHRoYXQgdXNlcnMgY2FuIHNlbGVjdC4gQnkgZGVmYXVsdCwgYWxsIGNvdW50cmllcyBhcmUgYXZhaWxhYmxlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHN1cHBvcnRlZENvdW50cnlJU09zOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRW1pdHMgYSBgU2t5UGhvbmVGaWVsZENvdW50cnlgIG9iamVjdCB3aGVuIHRoZSBzZWxlY3RlZCBjb3VudHJ5IGluIHRoZSBjb3VudHJ5IHNlYXJjaFxuICAgKiBpbnB1dCBjaGFuZ2VzLlxuICAgKi9cblxuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGVkQ291bnRyeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5UGhvbmVGaWVsZENvdW50cnk+KCk7XG5cbiAgcHVibGljIGNvdW50cmllczogU2t5UGhvbmVGaWVsZENvdW50cnlbXTtcblxuICBwdWJsaWMgY291bnRyeVNlbGVjdERpc2FibGVkID0gZmFsc2U7XG5cbiAgcHVibGljIGNvdW50cnlTZWFyY2hTaG93biA9IGZhbHNlO1xuXG4gIHB1YmxpYyBwaG9uZUlucHV0U2hvd24gPSB0cnVlO1xuXG4gIHB1YmxpYyBjb3VudHJ5U2VhcmNoRm9ybTogRm9ybUdyb3VwPHtcbiAgICBjb3VudHJ5U2VhcmNoOiBGb3JtQ29udHJvbDxTa3lDb3VudHJ5RmllbGRDb3VudHJ5IHwgdW5kZWZpbmVkPjtcbiAgfT47XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgY291bnRyeSB0byB2YWxpZGF0ZSBhZ2FpbnN0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RlZENvdW50cnkobmV3Q291bnRyeTogU2t5UGhvbmVGaWVsZENvdW50cnkgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoXG4gICAgICBuZXdDb3VudHJ5ICYmXG4gICAgICAoIXRoaXMuI19zZWxlY3RlZENvdW50cnkgfHxcbiAgICAgICAgdGhpcy4jX3NlbGVjdGVkQ291bnRyeS5pc28yICE9PSBuZXdDb3VudHJ5LmlzbzIpXG4gICAgKSB7XG4gICAgICB0aGlzLiNfc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5jb3VudHJpZXMuZmluZChcbiAgICAgICAgKGNvdW50cnkpID0+IGNvdW50cnkuaXNvMiA9PT0gbmV3Q291bnRyeS5pc28yXG4gICAgICApO1xuXG4gICAgICBpZiAodGhpcy4jX3NlbGVjdGVkQ291bnRyeSAmJiAhdGhpcy4jX3NlbGVjdGVkQ291bnRyeS5leGFtcGxlTnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IG51bWJlck9iaiA9IHRoaXMuI3Bob25lVXRpbHMuZ2V0RXhhbXBsZU51bWJlckZvclR5cGUoXG4gICAgICAgICAgbmV3Q291bnRyeS5pc28yLFxuICAgICAgICAgIFBob25lTnVtYmVyVHlwZS5GSVhFRF9MSU5FXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuI19zZWxlY3RlZENvdW50cnkuZXhhbXBsZU51bWJlciA9IHRoaXMuI3Bob25lVXRpbHMuZm9ybWF0KFxuICAgICAgICAgIG51bWJlck9iaixcbiAgICAgICAgICBQaG9uZU51bWJlckZvcm1hdC5OQVRJT05BTFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeUNoYW5nZS5lbWl0KHRoaXMuI19zZWxlY3RlZENvdW50cnkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRDb3VudHJ5KCk6IFNreVBob25lRmllbGRDb3VudHJ5IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3NlbGVjdGVkQ291bnRyeTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0VGVtcGxhdGVSZWYnLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgaW5wdXRUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnY291bnRyeUJ0blRlbXBsYXRlUmVmJywge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIGNvdW50cnlCdG5UZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnYnV0dG9uc0luc2V0VGVtcGxhdGVSZWYnLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgYnV0dG9uc0luc2V0VGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gICNkZWZhdWx0Q291bnRyeURhdGE6IFNreVBob25lRmllbGRDb3VudHJ5IHwgdW5kZWZpbmVkO1xuXG4gICNwaG9uZUlucHV0QW5pbWF0aW9uVHJpZ2dlcmVkID0gZmFsc2U7XG5cbiAgI3Bob25lVXRpbHMgPSBQaG9uZU51bWJlclV0aWwuZ2V0SW5zdGFuY2UoKTtcblxuICAjbG9uZ2VzdERpYWxDb2RlTGVuZ3RoID0gMDtcblxuICAjX2RlZmF1bHRDb3VudHJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI19zZWxlY3RlZENvdW50cnk6IFNreVBob25lRmllbGRDb3VudHJ5IHwgdW5kZWZpbmVkO1xuXG4gICNjb3VudHJ5U2VhcmNoRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sPFNreUNvdW50cnlGaWVsZENvdW50cnkgfCB1bmRlZmluZWQ+ID1cbiAgICBuZXcgRm9ybUNvbnRyb2woKTtcblxuICAjZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyO1xuICAjYWRhcHRlclNlcnZpY2U6IFNreVBob25lRmllbGRBZGFwdGVyU2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgYWRhcHRlclNlcnZpY2U6IFNreVBob25lRmllbGRBZGFwdGVyU2VydmljZSxcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIHRoZW1lU3ZjPzogU2t5VGhlbWVTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHB1YmxpYyBpbnB1dEJveEhvc3RTdmM/OiBTa3lJbnB1dEJveEhvc3RTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2Zvcm1CdWlsZGVyID0gZm9ybUJ1aWxkZXI7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2UgPSBhZGFwdGVyU2VydmljZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIC8qKlxuICAgICAqIFRoZSBqc29uIGZ1bmN0aW9ucyBoZXJlIGVuc3VyZXMgdGhhdCB3ZSBnZXQgYSBjb3B5IG9mIHRoZSBhcnJheSBhbmQgbm90IHRoZSBnbG9iYWwgb3JpZ2luYWwuXG4gICAgICogVGhpcyBlbnN1cmVzIHRoYXQgbXVsdGlwbGUgaW5zdGFuY2VzIG9mIHRoZSBjb21wb25lbnQgZG9uJ3Qgb3ZlcndyaXRlIHRoZSBvcmlnaW5hbCBkYXRhLlxuICAgICAqXG4gICAgICogV2UgbXVzdCB0eXBlIHRoZSB3aW5kb3cgb2JqZWN0IGFzIGFueSBoZXJlIGFzIHRoZSBpbnRsLXRlbC1pbnB1dCBsaWJyYXJ5IGFkZHMgaXRzIG9iamVjdFxuICAgICAqIHRvIHRoZSBtYWluIHdpbmRvdyBvYmplY3QuXG4gICAgICovXG4gICAgdGhpcy5jb3VudHJpZXMgPSBKU09OLnBhcnNlKFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgIEpTT04uc3RyaW5naWZ5KCh3aW5kb3cgYXMgYW55KS5pbnRsVGVsSW5wdXRHbG9iYWxzLmdldENvdW50cnlEYXRhKCkpXG4gICAgKTtcbiAgICBmb3IgKGNvbnN0IGNvdW50cnkgb2YgdGhpcy5jb3VudHJpZXMpIHtcbiAgICAgIGNvdW50cnkuZGlhbENvZGUgPSAnKycgKyBjb3VudHJ5LmRpYWxDb2RlO1xuXG4gICAgICBpZiAoY291bnRyeS5kaWFsQ29kZS5sZW5ndGggPiB0aGlzLiNsb25nZXN0RGlhbENvZGVMZW5ndGgpIHtcbiAgICAgICAgdGhpcy4jbG9uZ2VzdERpYWxDb2RlTGVuZ3RoID0gY291bnRyeS5kaWFsQ29kZS5sZW5ndGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5jb3VudHJ5U2VhcmNoRm9ybSA9IHRoaXMuI2Zvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGNvdW50cnlTZWFyY2g6IHRoaXMuI2NvdW50cnlTZWFyY2hGb3JtQ29udHJvbCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBUaGUgdGltZW91dCBoZXJlIGlzIG5lZWRlZCB0byBhdm9pZCBhIGNoYW5nZSBiZWZvcmUgY2hlY2tlZCBlcnJvciB3aGVuIGEgdXNlciBzcGVjaWZpZXNcbiAgICAvLyBhIHNlbGVjdGVkIGNvdW50cnkgb24gaW5pdGlhbGl6YXRpb24gb2YgdGhlIGNvbXBvbmVudC5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmlucHV0Qm94SG9zdFN2YyAmJiB0aGlzLmlucHV0VGVtcGxhdGVSZWYpIHtcbiAgICAgICAgdGhpcy5pbnB1dEJveEhvc3RTdmMucG9wdWxhdGUoe1xuICAgICAgICAgIGlucHV0VGVtcGxhdGU6IHRoaXMuaW5wdXRUZW1wbGF0ZVJlZixcbiAgICAgICAgICBidXR0b25zSW5zZXRUZW1wbGF0ZTogdGhpcy5idXR0b25zSW5zZXRUZW1wbGF0ZVJlZixcbiAgICAgICAgICBidXR0b25zTGVmdFRlbXBsYXRlOiB0aGlzLmNvdW50cnlCdG5UZW1wbGF0ZVJlZixcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5kZWZhdWx0Q291bnRyeSkge1xuICAgICAgICB0aGlzLmRlZmF1bHRDb3VudHJ5ID0gJ3VzJztcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkQ291bnRyeSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IHRoaXMuI2RlZmF1bHRDb3VudHJ5RGF0YTtcbiAgICAgIH1cbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH0sIDApO1xuXG4gICAgdGhpcy4jY291bnRyeVNlYXJjaEZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXG4gICAgICAobmV3VmFsdWU/OiBTa3lDb3VudHJ5RmllbGRDb3VudHJ5KSA9PiB7XG4gICAgICAgIGlmIChuZXdWYWx1ZT8uaXNvMiAhPT0gdGhpcy5zZWxlY3RlZENvdW50cnk/LmlzbzIpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IG5ld1ZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ291bnRyeUNoYW5nZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvdW50cnkgdG8gdmFsaWRhdGUgYWdhaW5zdCBiYXNlZCBvbiB0aGUgY291bnR5J3MgaXNvMiBjb2RlLlxuICAgKiBAcGFyYW0gY291bnRyeUNvZGUgVGhlIEludGVybmF0aW9uYWwgT3JnYW5pemF0aW9uIGZvciBTdGFuZGFyZGl6YXRpb24ncyB0d28tbGV0dGVyIGNvZGVcbiAgICogZm9yIHRoZSBkZWZhdWx0IGNvdW50cnkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIG9uQ291bnRyeVNlbGVjdGVkKG5ld0NvdW50cnk6IFNreUNvdW50cnlGaWVsZENvdW50cnkpOiB2b2lkIHtcbiAgICBpZiAobmV3Q291bnRyeSkge1xuICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSB0aGlzLmNvdW50cmllcy5maW5kKFxuICAgICAgICAoY291bnRyeUluZm8pID0+IGNvdW50cnlJbmZvLmlzbzIgPT09IG5ld0NvdW50cnkuaXNvMlxuICAgICAgKTtcbiAgICAgIHRoaXMudG9nZ2xlQ291bnRyeVNlYXJjaChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRvZ2dsZUNvdW50cnlTZWFyY2goc2hvd1NlYXJjaDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuI3Bob25lSW5wdXRBbmltYXRpb25UcmlnZ2VyZWQgPSB0cnVlO1xuXG4gICAgaWYgKHNob3dTZWFyY2gpIHtcbiAgICAgIHRoaXMucGhvbmVJbnB1dFNob3duID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY291bnRyeVNlYXJjaFNob3duID0gZmFsc2U7XG5cbiAgICAgIHRoaXMuI2NvdW50cnlTZWFyY2hGb3JtQ29udHJvbC5zZXRWYWx1ZSh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGNvdW50cnlTZWFyY2hBbmltYXRpb25FbmQoZTogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY291bnRyeVNlYXJjaFNob3duKSB7XG4gICAgICB0aGlzLnBob25lSW5wdXRTaG93biA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLmZvY3VzQ291bnRyeVNlYXJjaEVsZW1lbnQoZS5lbGVtZW50KTtcbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBwaG9uZUlucHV0QW5pbWF0aW9uRW5kKGU6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnBob25lSW5wdXRTaG93bikge1xuICAgICAgdGhpcy5jb3VudHJ5U2VhcmNoU2hvd24gPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy4jcGhvbmVJbnB1dEFuaW1hdGlvblRyaWdnZXJlZCkge1xuICAgICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5mb2N1c1Bob25lSW5wdXQoZS5lbGVtZW50KTtcbiAgICAgICAgdGhpcy4jcGhvbmVJbnB1dEFuaW1hdGlvblRyaWdnZXJlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHNldENvdW50cnlCeURpYWxDb2RlKHBob25lTnVtYmVyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIXBob25lTnVtYmVyIHx8ICFwaG9uZU51bWJlci5zdGFydHNXaXRoKCcrJykpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBsZXQgbmV3Q291bnRyeTogU2t5UGhvbmVGaWVsZENvdW50cnkgfCB1bmRlZmluZWQ7XG5cbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IHRoaXMuI2xvbmdlc3REaWFsQ29kZUxlbmd0aCArIDE7IGkrKykge1xuICAgICAgY29uc3QgZGlhbENvZGUgPSBwaG9uZU51bWJlci5zdWJzdHJpbmcoMCwgaSk7XG5cbiAgICAgIGxldCBmb3VuZENvdW50cnkgPSB0aGlzLmNvdW50cmllcy5maW5kKFxuICAgICAgICAoY291bnRyeSkgPT4gY291bnRyeS5kaWFsQ29kZSA9PT0gZGlhbENvZGUgJiYgY291bnRyeS5wcmlvcml0eSA9PT0gMFxuICAgICAgKTtcblxuICAgICAgaWYgKGZvdW5kQ291bnRyeSkge1xuICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgY291bnRyeSB0aGF0IHdhcyBmb3VuZCBpcyBvbmUgb2YgdGhlIHN1cHBvcnRlZCBjb3VudHJpZXNcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuc3VwcG9ydGVkQ291bnRyeUlTT3MgJiZcbiAgICAgICAgICB0aGlzLnN1cHBvcnRlZENvdW50cnlJU09zLmZpbmRJbmRleChcbiAgICAgICAgICAgIChpc29Db2RlKSA9PlxuICAgICAgICAgICAgICBpc29Db2RlLnRvVXBwZXJDYXNlKCkgPT09IGZvdW5kQ291bnRyeT8uaXNvMi50b1VwcGVyQ2FzZSgpXG4gICAgICAgICAgKSA8IDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgZm91bmRDb3VudHJ5ID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvdW5kQ291bnRyeSAhPT0gdGhpcy5zZWxlY3RlZENvdW50cnkpIHtcbiAgICAgICAgICBuZXdDb3VudHJ5ID0gZm91bmRDb3VudHJ5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5ld0NvdW50cnkpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gbmV3Q291bnRyeTtcbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWlucHV0Qm94SG9zdFN2Y1wiPlxuICA8ZGl2IGNsYXNzPVwic2t5LWlucHV0LWdyb3VwIHNreS1waG9uZS1maWVsZFwiIFtAYmxvY2tBbmltYXRpb25PbkxvYWRdPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb3VudHJ5QnRuVGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5wdXRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25zSW5zZXRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2NvdW50cnlCdG5UZW1wbGF0ZVJlZj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWlucHV0LWdyb3VwLWJ0biBza3ktcGhvbmUtZmllbGQtY291bnRyeS1idG5cIlxuICAgIFthdHRyLmRhdGEtc2t5LXRlc3QtaXNvMl09XCJzZWxlY3RlZENvdW50cnk/LmlzbzJcIlxuICAgIFthdHRyLmRhdGEtc2t5LXRlc3QtbmFtZV09XCJzZWxlY3RlZENvdW50cnk/Lm5hbWVcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHRcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci50aXRsZV09XCJcbiAgICAgICAgKCdza3l1eF9waG9uZV9maWVsZF9jb3VudHJ5X3NlbGVjdF9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMpICtcbiAgICAgICAgJyAnICtcbiAgICAgICAgKCdza3l1eF9waG9uZV9maWVsZF9jb3VudHJ5X3NlbGVjdGVkX2xhYmVsJ1xuICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiBzZWxlY3RlZENvdW50cnk/Lm5hbWUpXG4gICAgICBcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgKCdza3l1eF9waG9uZV9maWVsZF9jb3VudHJ5X3NlbGVjdF9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMpICtcbiAgICAgICAgJyAnICtcbiAgICAgICAgKCdza3l1eF9waG9uZV9maWVsZF9jb3VudHJ5X3NlbGVjdGVkX2xhYmVsJ1xuICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiBzZWxlY3RlZENvdW50cnk/Lm5hbWUpXG4gICAgICBcIlxuICAgICAgW2Rpc2FibGVkXT1cImNvdW50cnlTZWxlY3REaXNhYmxlZFwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlQ291bnRyeVNlYXJjaCh0cnVlKVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNreS1waG9uZS1maWVsZC1mbGFnIGl0aV9fZmxhZ1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cIidpdGlfXycgKyBzZWxlY3RlZENvdW50cnk/LmlzbzJcIlxuICAgICAgPjwvZGl2PlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaW5wdXRUZW1wbGF0ZVJlZj5cbiAgPHNwYW5cbiAgICAqbmdJZj1cInBob25lSW5wdXRTaG93blwiXG4gICAgY2xhc3M9XCJza3ktcGhvbmUtZmllbGQtY29udGFpbmVyXCJcbiAgICBbQC5kaXNhYmxlZF09XCJcbiAgICAgIGlucHV0Qm94SG9zdFN2YyAmJlxuICAgICAgKHRoZW1lU3ZjPy5zZXR0aW5nc0NoYW5nZSB8IGFzeW5jKT8uY3VycmVudFNldHRpbmdzPy50aGVtZT8ubmFtZSA9PT1cbiAgICAgICAgJ21vZGVybidcbiAgICBcIlxuICAgIFtAcGhvbmVJbnB1dEFuaW1hdGlvbl09XCJwaG9uZUlucHV0U2hvd24gPyAnb3BlbicgOiAnY2xvc2VkJ1wiXG4gICAgKEBwaG9uZUlucHV0QW5pbWF0aW9uLmRvbmUpPVwicGhvbmVJbnB1dEFuaW1hdGlvbkVuZCgkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ0lmPVwiY291bnRyeVNlYXJjaFNob3duXCJcbiAgICBjbGFzcz1cInNreS1waG9uZS1maWVsZC1jb250YWluZXJcIlxuICAgIFtALmRpc2FibGVkXT1cIlxuICAgICAgaW5wdXRCb3hIb3N0U3ZjICYmXG4gICAgICAodGhlbWVTdmM/LnNldHRpbmdzQ2hhbmdlIHwgYXN5bmMpPy5jdXJyZW50U2V0dGluZ3M/LnRoZW1lPy5uYW1lID09PVxuICAgICAgICAnbW9kZXJuJ1xuICAgIFwiXG4gICAgW0Bjb3VudHJ5U2VhcmNoQW5pbWF0aW9uXT1cImNvdW50cnlTZWFyY2hTaG93biA/ICdvcGVuJyA6ICdjbG9zZWQnXCJcbiAgICAoQGNvdW50cnlTZWFyY2hBbmltYXRpb24uZG9uZSk9XCJjb3VudHJ5U2VhcmNoQW5pbWF0aW9uRW5kKCRldmVudClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInNreS1waG9uZS1maWVsZC1jb3VudHJ5LXNlYXJjaFwiIFtmb3JtR3JvdXBdPVwiY291bnRyeVNlYXJjaEZvcm1cIj5cbiAgICAgIDxza3ktY291bnRyeS1maWVsZFxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb3VudHJ5U2VhcmNoXCJcbiAgICAgICAgW2RlZmF1bHRDb3VudHJ5XT1cImRlZmF1bHRDb3VudHJ5XCJcbiAgICAgICAgW2hpZGVTZWxlY3RlZENvdW50cnlGbGFnXT1cInRydWVcIlxuICAgICAgICBbaW5jbHVkZVBob25lSW5mb109XCJ0cnVlXCJcbiAgICAgICAgW3N1cHBvcnRlZENvdW50cnlJU09zXT1cInN1cHBvcnRlZENvdW50cnlJU09zXCJcbiAgICAgICAgKHNlbGVjdGVkQ291bnRyeUNoYW5nZSk9XCJvbkNvdW50cnlTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgIDwvc2t5LWNvdW50cnktZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9uc0luc2V0VGVtcGxhdGVSZWY+XG4gIDxkaXZcbiAgICAqbmdJZj1cImNvdW50cnlTZWFyY2hTaG93blwiXG4gICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtYnRuIHNreS1pbnB1dC1ib3gtYnRuLWluc2V0IHNreS1zZWFyY2gtaXRlbS1kaXNtaXNzXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktcGhvbmUtZmllbGQtc2VhcmNoLWJ0bi1kaXNtaXNzXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIudGl0bGVdPVwiXG4gICAgICAgICdza3l1eF9waG9uZV9maWVsZF9jb3VudHJ5X3NlYXJjaF9kaXNtaXNzJyB8IHNreUxpYlJlc291cmNlc1xuICAgICAgXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3NreS1idG4tZGVmYXVsdCc6XG4gICAgICAgICAgKHRoZW1lU3ZjPy5zZXR0aW5nc0NoYW5nZSB8IGFzeW5jKT8uY3VycmVudFNldHRpbmdzPy50aGVtZT8ubmFtZSA9PT1cbiAgICAgICAgICAnbW9kZXJuJ1xuICAgICAgfVwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlQ291bnRyeVNlYXJjaChmYWxzZSlcIlxuICAgID5cbiAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJjaGV2cm9uLWNpcmNsZS1sZWZ0XCIgc2l6ZT1cImxnXCI+XG4gICAgICA8L3NreS1pY29uPlxuICAgICAgPHNreS1pY29uXG4gICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICBpY29uPVwiZG91YmxlLWNoZXZyb24tbGVmdFwiXG4gICAgICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgICAgICBzaXplPVwiMnhcIlxuICAgICAgPlxuICAgICAgPC9za3ktaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9waG9uZS1maWVsZC9zcmMvbGliL21vZHVsZXMvcGhvbmUtZmllbGQvdHlwZXMvY291bnRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTa3lQaG9uZUZpZWxkQ291bnRyeSB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGNvdW50cnknc1xuICAgKiBbSW50ZXJuYXRpb25hbCBPcmdhbml6YXRpb24gZm9yIFN0YW5kYXJkaXphdGlvbiBBbHBoYSAyXShodHRwczovL3d3dy5uYXRpb25zb25saW5lLm9yZy9vbmV3b3JsZC9jb3VudHJ5X2NvZGVfbGlzdC5odG0pXG4gICAqIGNvdW50cnkgY29kZS5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBpc28yOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGNvdW50cnkncyBpbnRlcm5hdGlvbmFsIGRpYWwgY29kZS5cbiAgICovXG4gIGRpYWxDb2RlPzogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmaWVzIGEgcGxhY2Vob2xkZXIgdmFsdWUgdG8gZGVtb25zdHJhdGUgdGhlIGNvdW50cnkncyBudW1iZXIgZm9ybWF0LiBUaGlzXG4gICAqIHZhbHVlIGlzIGB1bmRlZmluZWRgIHVudGlsIGEgY291bnRyeSBpcyBzZWxlY3RlZCB0byB2YWxpZGF0ZSBhZ2FpbnN0LlxuICAgKi9cbiAgZXhhbXBsZU51bWJlcj86IHN0cmluZztcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgY291bnRyeS5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8vIE5PVEU6IFdlIGludGVudGlvbmFsbHkgZG9uJ3QgZG9jdW1lbnQgdGhlc2UgcHJvcGVydGllcyBhcyB0aGV5IGFyZSBpbnRlcm5hbCB1c2UgcHJvcGVydGllc1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcmlvcml0eT86IG51bWJlcjtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgYXJlYUNvZGVzPzogc3RyaW5nW107XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9waG9uZS1maWVsZC9zcmMvbGliL21vZHVsZXMvcGhvbmUtZmllbGQvdHlwZXMvY291bnRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTa3lQaG9uZUZpZWxkQ291bnRyeSB7XG4gIC8qKlxuICAgKiBUaGUgY291bnRyeSdzXG4gICAqIFtJbnRlcm5hdGlvbmFsIE9yZ2FuaXphdGlvbiBmb3IgU3RhbmRhcmRpemF0aW9uIEFscGhhIDJdKGh0dHBzOi8vd3d3Lm5hdGlvbnNvbmxpbmUub3JnL29uZXdvcmxkL2NvdW50cnlfY29kZV9saXN0Lmh0bSlcbiAgICogY291bnRyeSBjb2RlLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIGlzbzI6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBjb3VudHJ5J3MgaW50ZXJuYXRpb25hbCBkaWFsIGNvZGUuXG4gICAqL1xuICBkaWFsQ29kZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBwbGFjZWhvbGRlciB2YWx1ZSB0aGF0IGRlbW9uc3RyYXRlcyB0aGUgY291bnRyeSdzIG51bWJlciBmb3JtYXQuIFRoaXNcbiAgICogdmFsdWUgaXMgYHVuZGVmaW5lZGAgdW50aWwgYSBjb3VudHJ5IGlzIHNlbGVjdGVkIHRvIHZhbGlkYXRlIGFnYWluc3QuXG4gICAqL1xuICBleGFtcGxlTnVtYmVyPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGNvdW50cnkuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvLyBOT1RFOiBXZSBpbnRlbnRpb25hbGx5IGRvbid0IGRvY3VtZW50IHRoZXNlIHByb3BlcnRpZXMgYXMgdGhleSBhcmUgaW50ZXJuYWwgdXNlIHByb3BlcnRpZXNcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpb3JpdHk/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGFyZWFDb2Rlcz86IHN0cmluZ1tdO1xufVxuIl19
@@ -70,7 +70,7 @@ export class SkyPhoneFieldFixture {
70
70
  return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").whenStable();
71
71
  }
72
72
  /**
73
- * Opens the country selector, peforms a search, but makes no selection.
73
+ * Opens the country selector, performs a search, but makes no selection.
74
74
  * @param searchText The name of the country to select.
75
75
  * @returns The list of country names matching the search text.
76
76
  */
@@ -145,4 +145,4 @@ async function _SkyPhoneFieldFixture_getCountryFixture() {
145
145
  __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").detectChanges();
146
146
  return __classPrivateFieldGet(this, _SkyPhoneFieldFixture_fixture, "f").whenStable();
147
147
  };
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtZmllbGQtZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9waG9uZS1maWVsZC90ZXN0aW5nL3NyYy9waG9uZWZpZWxkL3Bob25lLWZpZWxkLWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUc5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFL0Q7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBbUIvQixZQUFZLE9BQWtDLEVBQUUsU0FBaUI7O1FBWGpFOztXQUVHO1FBQ0gsd0RBQXFEO1FBRXJELGlEQUF3QjtRQUV4QixnREFBb0M7UUFFcEMsa0RBQW1CO1FBR2pCLHVCQUFBLElBQUksaUNBQVksT0FBTyxNQUFBLENBQUM7UUFDeEIsdUJBQUEsSUFBSSxtQ0FBYyxTQUFTLE1BQUEsQ0FBQztRQUM1Qix1QkFBQSxJQUFJLGtDQUFhLGlCQUFpQixDQUFDLHVCQUF1QixDQUN4RCxPQUFPLEVBQ1AsU0FBUyxFQUNULGlCQUFpQixDQUNsQixNQUFBLENBQUM7UUFFRix1REFBdUQ7UUFDdkQsNkVBQTZFO1FBQzdFLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBOUJEOztPQUVHO0lBQ0gsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sdUJBQUEsSUFBSSxrRkFBaUIsQ0FBQyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQTJCRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxJQUFJO1FBQ2YsaUJBQWlCLENBQUMsWUFBWSxDQUFDLHVCQUFBLElBQUksa0ZBQWlCLEVBQUUs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LENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ2pELENBQUMsa0RBRUQsS0FBSztJQUNILHFEQUFxRDtJQUNyRCx1QkFBQSxJQUFJLHFDQUFTLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsTUFBTSx1QkFBQSxJQUFJLHFDQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFakMsdUJBQUEsSUFBSSxxQ0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLE9BQU8sdUJBQUEsSUFBSSxxQ0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRGVidWdFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IEJ5IH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTa3lBcHBUZXN0VXRpbGl0eSB9IGZyb20gJ0Bza3l1eC1zZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb3VudHJ5RmllbGRGaXh0dXJlIH0gZnJvbSAnQHNreXV4L2xvb2t1cC90ZXN0aW5nJztcblxuLyoqXG4gKiBQcm92aWRlcyBpbmZvcm1hdGlvbiBmb3IgYW5kIGludGVyYWN0aW9uIHdpdGggYSBTS1kgVVggcGhvbmUgZmllbGQgY29tcG9uZW50LlxuICogQnkgdXNpbmcgdGhlIGZpeHR1cmUgQVBJLCBhIHRlc3QgaW5zdWxhdGVzIGl0c2VsZiBhZ2FpbnN0IHVwZGF0ZXMgdG8gdGhlIGludGVybmFsc1xuICogb2YgYSBjb21wb25lbnQsIHN1Y2ggYXMgY2hhbmdpbmcgaXRzIERPTSBzdHJ1Y3R1cmUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreVBob25lRmllbGRGaXh0dXJlIHtcbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgZmllbGQgZm9yIHRoZSBwaG9uZSBmaWVsZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaW5wdXRUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI3Bob25lRmllbGRJbnB1dC52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGlzIGxhenkgbG9hZGVkIGFuZCBzaG91bGQgYmUgYWNjZXNzZWQgdmlhIHRoZSAjZ2V0Q291bnRyeUZpeHR1cmUoKSBmdW5jdGlvbi5cbiAgICovXG4gICNfY291bnRyeUZpeHR1cmU6IFNreUNvdW50cnlGaWVsZEZpeHR1cmUgfCB1bmRlZmluZWQ7XG5cbiAgI19kZWJ1Z0VsOiBEZWJ1Z0VsZW1lbnQ7XG5cbiAgI2ZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8dW5rbm93bj47XG5cbiAgI3NreVRlc3RJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8dW5rbm93bj4sIHNreVRlc3RJZDogc3RyaW5nKSB7XG4gICAgdGhpcy4jZml4dHVyZSA9IGZpeHR1cmU7XG4gICAgdGhpcy4jc2t5VGVzdElkID0gc2t5VGVzdElkO1xuICAgIHRoaXMuI19kZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1waG9uZS1maWVsZCdcbiAgICApO1xuXG4gICAgLy8gVGhlIGNvdW50cnkgc2VsZWN0b3IgbmVlZHMgZXh0cmEgdGltZSB0byBpbml0aWFsaXplLlxuICAgIC8vIENvbnN1bWVycyBzaG91bGRuJ3QgbmVlZCB0byB3b3JrIGFyb3VuZCB0aGlzIHNvIHdlIGRvIGFuIGV4dHJhIGRldGVjdCBoZXJlXG4gICAgZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogQmx1cnMgdGhlIHBob25lIGZpZWxkIGlucHV0IGFuZCByZXR1cm5zIGEgcHJvbWlzZSB0aGF0IGluZGljYXRlcyB3aGVuIHRoZSBhY3Rpb24gaXMgY29tcGxldGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYmx1cigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBTa3lBcHBUZXN0VXRpbGl0eS5maXJlRG9tRXZlbnQodGhpcy4jcGhvbmVGaWVsZElucHV0LCAnYmx1cicpO1xuICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHJldHVybiB0aGlzLiNmaXh0dXJlLndoZW5TdGFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzZWxlY3RlZCBjb3VudHJ5IGlzbzIgY29kZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWxlY3RlZENvdW50cnlJc28yKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIC8vIFdhaXQgZm9yIHRoZSBjb3VudHJ5IGZpZWxkIHRvIGluaXRpYWxpemUuXG4gICAgYXdhaXQgdGhpcy4jZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gICAgcmV0dXJuIHRoaXMuI2NvdW50cnlGbGFnQnV0dG9uQ29udGFpbmVyLmdldEF0dHJpYnV0ZSgnZGF0YS1za3ktdGVzdC1pc28yJyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc2VsZWN0ZWQgY291bnRyeSBuYW1lLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNlbGVjdGVkQ291bnRyeU5hbWUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgLy8gV2FpdCBmb3IgdGhlIGNvdW50cnkgZmllbGQgdG8gaW5pdGlhbGl6ZS5cbiAgICBhd2FpdCB0aGlzLiNmaXh0dXJlLndoZW5TdGFibGUoKTtcbiAgICByZXR1cm4gdGhpcy4jY291bnRyeUZsYWdCdXR0b25Db250YWluZXIuZ2V0QXR0cmlidXRlKCdkYXRhLXNreS10ZXN0LW5hbWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgZmllbGQgZm9yIHRoZSBwaG9uZSBmaWVsZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZXRJbnB1dFRleHQoaW5wdXRUZXh0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBpbnB1dEVsID0gdGhpcy4jcGhvbmVGaWVsZElucHV0O1xuICAgIGlucHV0RWwudmFsdWUgPSBpbnB1dFRleHQ7XG5cbiAgICBTa3lBcHBUZXN0VXRpbGl0eS5maXJlRG9tRXZlbnQoaW5wdXRFbCwgJ2lucHV0Jyk7XG4gICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBTa3lBcHBUZXN0VXRpbGl0eS5maXJlRG9tRXZlbnQoaW5wdXRFbCwgJ2NoYW5nZScpO1xuXG4gICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBjb3VudHJ5IHNlbGVjdG9yLCBwZWZvcm1zIGEgc2VhcmNoLCBidXQgbWFrZXMgbm8gc2VsZWN0aW9uLlxuICAgKiBAcGFyYW0gc2VhcmNoVGV4dCBUaGUgbmFtZSBvZiB0aGUgY291bnRyeSB0byBzZWxlY3QuXG4gICAqIEByZXR1cm5zIFRoZSBsaXN0IG9mIGNvdW50cnkgbmFtZXMgbWF0Y2hpbmcgdGhlIHNlYXJjaCB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNlYXJjaENvdW50cnkoc2VhcmNoVGV4dDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIGF3YWl0IHRoaXMuI29wZW5Db3VudHJ5U2VsZWN0aW9uKCk7XG5cbiAgICBjb25zdCBjb3VudHJ5Rml4dHVyZSA9IGF3YWl0IHRoaXMuI2dldENvdW50cnlGaXh0dXJlKCk7XG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IGNvdW50cnlGaXh0dXJlLnNlYXJjaChzZWFyY2hUZXh0KTtcblxuICAgIGF3YWl0IHRoaXMuI3dhaXRGb3JDb3VudHJ5U2VsZWN0aW9uKCk7XG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIGNvdW50cnkgc2VsZWN0b3IsIHBlcmZvcm1zIGEgc2VhcmNoLCBhbmQgc2VsZWN0cyB0aGUgZmlyc3QgcmVzdWx0IChpZiBhbnkpLlxuICAgKiBAcGFyYW0gc2VhcmNoVGV4dCBUaGUgbmFtZSBvZiB0aGUgY291bnRyeSB0byBzZWxlY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2VsZWN0Q291bnRyeShzZWFyY2hUZXh0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLiNvcGVuQ291bnRyeVNlbGVjdGlvbigpO1xuXG4gICAgY29uc3QgY291bnRyeUZpeHR1cmUgPSBhd2FpdCB0aGlzLiNnZXRDb3VudHJ5Rml4dHVyZSgpO1xuICAgIGF3YWl0IGNvdW50cnlGaXh0dXJlLnNlYXJjaEFuZFNlbGVjdEZpcnN0UmVzdWx0KHNlYXJjaFRleHQpO1xuXG4gICAgcmV0dXJuIHRoaXMuI3dhaXRGb3JDb3VudHJ5U2VsZWN0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIGJvb2xlYW4gcHJvbWlzZSBpbmRpY2F0aW5nIGlmIHRoZSBwaG9uZSBmaWVsZCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc0Rpc2FibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGRpc2FibGVkID0gdGhpcy4jcGhvbmVGaWVsZElucHV0LmdldEF0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgICByZXR1cm4gY29lcmNlQm9vbGVhblByb3BlcnR5KGRpc2FibGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgYm9vbGVhbiBwcm9taXNlIGluZGljYXRpbmcgaWYgdGhlIHBob25lIGZpZWxkIGlzIHZhbGlkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGlzVmFsaWQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuI3Bob25lRmllbGRJbnB1dC5jbGFzc0xpc3QuY29udGFpbnMoJ25nLXZhbGlkJyk7XG4gIH1cblxuICBnZXQgI2NvdW50cnlFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNfZGVidWdFbC5xdWVyeShCeS5jc3MoJ3NreS1jb3VudHJ5LWZpZWxkJykpLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBnZXQgI2NvdW50cnlGbGFnQnV0dG9uQ29udGFpbmVyKCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNfZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktcGhvbmUtZmllbGQtY291bnRyeS1idG4nKSlcbiAgICAgIC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgZ2V0ICNjb3VudHJ5RmxhZ0J1dHRvbigpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy4jX2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LXBob25lLWZpZWxkLWNvdW50cnktYnRuIC5za3ktYnRuJykpXG4gICAgICAubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGdldCAjcGhvbmVGaWVsZElucHV0KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLiNfZGVidWdFbC5xdWVyeShCeS5jc3MoJ2lucHV0W3NreVBob25lRmllbGRJbnB1dF0nKSlcbiAgICAgIC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjb3VudHJ5LWZpZWxkIGNhbiB0YWtlIGEgcmVhbGx5IGxvbmcgdGltZSB0byBpbml0aWFsaXplLiBTaW5jZSB3ZSBjYW4ndCBwZXJmb3JtIGFuIGF3YWl0XG4gICAqIGluIG91ciBjb25zdHJ1Y3RvciwgaXQncyBzYWZlc3QgdG8gZG8gYSBsYXp5IGxvYWQgb2YgdGhlIGNvdW50cnkgZmllbGQgdG8gYXZvaWQgYW55IHJhY2VcbiAgICogY29uZGl0aW9ucyB3aGVyZSBhIHRlc3QgdHJpZXMgdG8gYWNjZXNzIHRoZSBza3ktY291bnRyeS1maWVsZCBlbGVtZW50IHRvbyBxdWlja2x5LlxuICAgKi9cbiAgYXN5bmMgI2dldENvdW50cnlGaXh0dXJlKCk6IFByb21pc2U8U2t5Q291bnRyeUZpZWxkRml4dHVyZT4ge1xuICAgIGlmICh0aGlzLiNfY291bnRyeUZpeHR1cmUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gdGFnIHRoZSBjb3VudHJ5IGZpZWxkIHdpdGggYSBza3kgdGVzdCBpZFxuICAgICAgY29uc3QgY291bnRyeVNreVRlc3RJZCA9IGAke3RoaXMuI3NreVRlc3RJZH0tY291bnRyeWA7XG4gICAgICB0aGlzLiNzZXRTa3lUZXN0SWQodGhpcy4jY291bnRyeUVsZW1lbnQsIGNvdW50cnlTa3lUZXN0SWQpO1xuXG4gICAgICAvLyBpbml0aWFsaXplIHRoZSBjb3VudHJ5IGZpeHR1cmVcbiAgICAgIHRoaXMuI19jb3VudHJ5Rml4dHVyZSA9IG5ldyBTa3lDb3VudHJ5RmllbGRGaXh0dXJlKFxuICAgICAgICB0aGlzLiNmaXh0dXJlLFxuICAgICAgICBjb3VudHJ5U2t5VGVzdElkXG4gICAgICApO1xuXG4gICAgICB0aGlzLiNmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIGF3YWl0IHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLiNfY291bnRyeUZpeHR1cmU7XG4gIH1cblxuICBhc3luYyAjb3BlbkNvdW50cnlTZWxlY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy4jY291bnRyeUZsYWdCdXR0b24uY2xpY2soKTtcbiAgICByZXR1cm4gdGhpcy4jd2FpdEZvckNvdW50cnlTZWxlY3Rpb24oKTtcbiAgfVxuXG4gICNzZXRTa3lUZXN0SWQoZWxlbWVudDogSFRNTEVsZW1lbnQsIHNreVRlc3RJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2t5LWlkJywgc2t5VGVzdElkKTtcbiAgfVxuXG4gIGFzeW5jICN3YWl0Rm9yQ291bnRyeVNlbGVjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBhbnkgY291bnRyeSBzZWxlY3Rpb24gbmVlZHMgZXh0cmEgdGltZSB0byBjb21wbGV0ZVxuICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIGF3YWl0IHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuXG4gICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuICB9XG59XG4iXX0=
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtZmllbGQtZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9waG9uZS1maWVsZC90ZXN0aW5nL3NyYy9waG9uZWZpZWxkL3Bob25lLWZpZWxkLWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUc5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFL0Q7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBbUIvQixZQUFZLE9BQWtDLEVBQUUsU0FBaUI7O1FBWGpFOztXQUVHO1FBQ0gsd0RBQXFEO1FBRXJELGlEQUF3QjtRQUV4QixnREFBb0M7UUFFcEMsa0RBQW1CO1FBR2pCLHVCQUFBLElBQUksaUNBQVksT0FBTyxNQUFBLENBQUM7UUFDeEIsdUJBQUEsSUFBSSxtQ0FBYyxTQUFTLE1BQUEsQ0FBQztRQUM1Qix1QkFBQSxJQUFJLGtDQUFhLGlCQUFpQixDQUFDLHVCQUF1QixDQUN4RCxPQUFPLEVBQ1AsU0FBUyxFQUNULGlCQUFpQixDQUNsQixNQUFBLENBQUM7UUFFRix1REFBdUQ7UUFDdkQsNkVBQTZFO1FBQzdFLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBOUJEOztPQUVHO0lBQ0gsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sdUJBQUEsSUFBSSxrRkFBaUIsQ0FBQyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQTJCRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxJQUFJO1FBQ2YsaUJBQWlCLENBQUMsWUFBWSxDQUFDLHVCQUFBLElBQUksa0ZBQWlCLEVBQUUs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LENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ2pELENBQUMsa0RBRUQsS0FBSztJQUNILHFEQUFxRDtJQUNyRCx1QkFBQSxJQUFJLHFDQUFTLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsTUFBTSx1QkFBQSxJQUFJLHFDQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFakMsdUJBQUEsSUFBSSxxQ0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLE9BQU8sdUJBQUEsSUFBSSxxQ0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRGVidWdFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IEJ5IH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTa3lBcHBUZXN0VXRpbGl0eSB9IGZyb20gJ0Bza3l1eC1zZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb3VudHJ5RmllbGRGaXh0dXJlIH0gZnJvbSAnQHNreXV4L2xvb2t1cC90ZXN0aW5nJztcblxuLyoqXG4gKiBQcm92aWRlcyBpbmZvcm1hdGlvbiBmb3IgYW5kIGludGVyYWN0aW9uIHdpdGggYSBTS1kgVVggcGhvbmUgZmllbGQgY29tcG9uZW50LlxuICogQnkgdXNpbmcgdGhlIGZpeHR1cmUgQVBJLCBhIHRlc3QgaW5zdWxhdGVzIGl0c2VsZiBhZ2FpbnN0IHVwZGF0ZXMgdG8gdGhlIGludGVybmFsc1xuICogb2YgYSBjb21wb25lbnQsIHN1Y2ggYXMgY2hhbmdpbmcgaXRzIERPTSBzdHJ1Y3R1cmUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreVBob25lRmllbGRGaXh0dXJlIHtcbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgZmllbGQgZm9yIHRoZSBwaG9uZSBmaWVsZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaW5wdXRUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI3Bob25lRmllbGRJbnB1dC52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGlzIGxhenkgbG9hZGVkIGFuZCBzaG91bGQgYmUgYWNjZXNzZWQgdmlhIHRoZSAjZ2V0Q291bnRyeUZpeHR1cmUoKSBmdW5jdGlvbi5cbiAgICovXG4gICNfY291bnRyeUZpeHR1cmU6IFNreUNvdW50cnlGaWVsZEZpeHR1cmUgfCB1bmRlZmluZWQ7XG5cbiAgI19kZWJ1Z0VsOiBEZWJ1Z0VsZW1lbnQ7XG5cbiAgI2ZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8dW5rbm93bj47XG5cbiAgI3NreVRlc3RJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8dW5rbm93bj4sIHNreVRlc3RJZDogc3RyaW5nKSB7XG4gICAgdGhpcy4jZml4dHVyZSA9IGZpeHR1cmU7XG4gICAgdGhpcy4jc2t5VGVzdElkID0gc2t5VGVzdElkO1xuICAgIHRoaXMuI19kZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1waG9uZS1maWVsZCdcbiAgICApO1xuXG4gICAgLy8gVGhlIGNvdW50cnkgc2VsZWN0b3IgbmVlZHMgZXh0cmEgdGltZSB0byBpbml0aWFsaXplLlxuICAgIC8vIENvbnN1bWVycyBzaG91bGRuJ3QgbmVlZCB0byB3b3JrIGFyb3VuZCB0aGlzIHNvIHdlIGRvIGFuIGV4dHJhIGRldGVjdCBoZXJlXG4gICAgZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogQmx1cnMgdGhlIHBob25lIGZpZWxkIGlucHV0IGFuZCByZXR1cm5zIGEgcHJvbWlzZSB0aGF0IGluZGljYXRlcyB3aGVuIHRoZSBhY3Rpb24gaXMgY29tcGxldGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYmx1cigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBTa3lBcHBUZXN0VXRpbGl0eS5maXJlRG9tRXZlbnQodGhpcy4jcGhvbmVGaWVsZElucHV0LCAnYmx1cicpO1xuICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHJldHVybiB0aGlzLiNmaXh0dXJlLndoZW5TdGFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzZWxlY3RlZCBjb3VudHJ5IGlzbzIgY29kZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRTZWxlY3RlZENvdW50cnlJc28yKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIC8vIFdhaXQgZm9yIHRoZSBjb3VudHJ5IGZpZWxkIHRvIGluaXRpYWxpemUuXG4gICAgYXdhaXQgdGhpcy4jZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gICAgcmV0dXJuIHRoaXMuI2NvdW50cnlGbGFnQnV0dG9uQ29udGFpbmVyLmdldEF0dHJpYnV0ZSgnZGF0YS1za3ktdGVzdC1pc28yJyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc2VsZWN0ZWQgY291bnRyeSBuYW1lLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNlbGVjdGVkQ291bnRyeU5hbWUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgLy8gV2FpdCBmb3IgdGhlIGNvdW50cnkgZmllbGQgdG8gaW5pdGlhbGl6ZS5cbiAgICBhd2FpdCB0aGlzLiNmaXh0dXJlLndoZW5TdGFibGUoKTtcbiAgICByZXR1cm4gdGhpcy4jY291bnRyeUZsYWdCdXR0b25Db250YWluZXIuZ2V0QXR0cmlidXRlKCdkYXRhLXNreS10ZXN0LW5hbWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgZmllbGQgZm9yIHRoZSBwaG9uZSBmaWVsZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZXRJbnB1dFRleHQoaW5wdXRUZXh0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBpbnB1dEVsID0gdGhpcy4jcGhvbmVGaWVsZElucHV0O1xuICAgIGlucHV0RWwudmFsdWUgPSBpbnB1dFRleHQ7XG5cbiAgICBTa3lBcHBUZXN0VXRpbGl0eS5maXJlRG9tRXZlbnQoaW5wdXRFbCwgJ2lucHV0Jyk7XG4gICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBTa3lBcHBUZXN0VXRpbGl0eS5maXJlRG9tRXZlbnQoaW5wdXRFbCwgJ2NoYW5nZScpO1xuXG4gICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBjb3VudHJ5IHNlbGVjdG9yLCBwZXJmb3JtcyBhIHNlYXJjaCwgYnV0IG1ha2VzIG5vIHNlbGVjdGlvbi5cbiAgICogQHBhcmFtIHNlYXJjaFRleHQgVGhlIG5hbWUgb2YgdGhlIGNvdW50cnkgdG8gc2VsZWN0LlxuICAgKiBAcmV0dXJucyBUaGUgbGlzdCBvZiBjb3VudHJ5IG5hbWVzIG1hdGNoaW5nIHRoZSBzZWFyY2ggdGV4dC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZWFyY2hDb3VudHJ5KHNlYXJjaFRleHQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBhd2FpdCB0aGlzLiNvcGVuQ291bnRyeVNlbGVjdGlvbigpO1xuXG4gICAgY29uc3QgY291bnRyeUZpeHR1cmUgPSBhd2FpdCB0aGlzLiNnZXRDb3VudHJ5Rml4dHVyZSgpO1xuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBjb3VudHJ5Rml4dHVyZS5zZWFyY2goc2VhcmNoVGV4dCk7XG5cbiAgICBhd2FpdCB0aGlzLiN3YWl0Rm9yQ291bnRyeVNlbGVjdGlvbigpO1xuICAgIHJldHVybiByZXN1bHRzO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBjb3VudHJ5IHNlbGVjdG9yLCBwZXJmb3JtcyBhIHNlYXJjaCwgYW5kIHNlbGVjdHMgdGhlIGZpcnN0IHJlc3VsdCAoaWYgYW55KS5cbiAgICogQHBhcmFtIHNlYXJjaFRleHQgVGhlIG5hbWUgb2YgdGhlIGNvdW50cnkgdG8gc2VsZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNlbGVjdENvdW50cnkoc2VhcmNoVGV4dDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy4jb3BlbkNvdW50cnlTZWxlY3Rpb24oKTtcblxuICAgIGNvbnN0IGNvdW50cnlGaXh0dXJlID0gYXdhaXQgdGhpcy4jZ2V0Q291bnRyeUZpeHR1cmUoKTtcbiAgICBhd2FpdCBjb3VudHJ5Rml4dHVyZS5zZWFyY2hBbmRTZWxlY3RGaXJzdFJlc3VsdChzZWFyY2hUZXh0KTtcblxuICAgIHJldHVybiB0aGlzLiN3YWl0Rm9yQ291bnRyeVNlbGVjdGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSBib29sZWFuIHByb21pc2UgaW5kaWNhdGluZyBpZiB0aGUgcGhvbmUgZmllbGQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgaXNEaXNhYmxlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuI3Bob25lRmllbGRJbnB1dC5nZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gICAgcmV0dXJuIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShkaXNhYmxlZCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIGJvb2xlYW4gcHJvbWlzZSBpbmRpY2F0aW5nIGlmIHRoZSBwaG9uZSBmaWVsZCBpcyB2YWxpZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpc1ZhbGlkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLiNwaG9uZUZpZWxkSW5wdXQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy12YWxpZCcpO1xuICB9XG5cbiAgZ2V0ICNjb3VudHJ5RWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy4jX2RlYnVnRWwucXVlcnkoQnkuY3NzKCdza3ktY291bnRyeS1maWVsZCcpKS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgZ2V0ICNjb3VudHJ5RmxhZ0J1dHRvbkNvbnRhaW5lcigpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy4jX2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LXBob25lLWZpZWxkLWNvdW50cnktYnRuJykpXG4gICAgICAubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGdldCAjY291bnRyeUZsYWdCdXR0b24oKTogSFRNTElucHV0RWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuI19kZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnLnNreS1waG9uZS1maWVsZC1jb3VudHJ5LWJ0biAuc2t5LWJ0bicpKVxuICAgICAgLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBnZXQgI3Bob25lRmllbGRJbnB1dCgpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy4jX2RlYnVnRWwucXVlcnkoQnkuY3NzKCdpbnB1dFtza3lQaG9uZUZpZWxkSW5wdXRdJykpXG4gICAgICAubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY291bnRyeS1maWVsZCBjYW4gdGFrZSBhIHJlYWxseSBsb25nIHRpbWUgdG8gaW5pdGlhbGl6ZS4gU2luY2Ugd2UgY2FuJ3QgcGVyZm9ybSBhbiBhd2FpdFxuICAgKiBpbiBvdXIgY29uc3RydWN0b3IsIGl0J3Mgc2FmZXN0IHRvIGRvIGEgbGF6eSBsb2FkIG9mIHRoZSBjb3VudHJ5IGZpZWxkIHRvIGF2b2lkIGFueSByYWNlXG4gICAqIGNvbmRpdGlvbnMgd2hlcmUgYSB0ZXN0IHRyaWVzIHRvIGFjY2VzcyB0aGUgc2t5LWNvdW50cnktZmllbGQgZWxlbWVudCB0b28gcXVpY2tseS5cbiAgICovXG4gIGFzeW5jICNnZXRDb3VudHJ5Rml4dHVyZSgpOiBQcm9taXNlPFNreUNvdW50cnlGaWVsZEZpeHR1cmU+IHtcbiAgICBpZiAodGhpcy4jX2NvdW50cnlGaXh0dXJlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIHRhZyB0aGUgY291bnRyeSBmaWVsZCB3aXRoIGEgc2t5IHRlc3QgaWRcbiAgICAgIGNvbnN0IGNvdW50cnlTa3lUZXN0SWQgPSBgJHt0aGlzLiNza3lUZXN0SWR9LWNvdW50cnlgO1xuICAgICAgdGhpcy4jc2V0U2t5VGVzdElkKHRoaXMuI2NvdW50cnlFbGVtZW50LCBjb3VudHJ5U2t5VGVzdElkKTtcblxuICAgICAgLy8gaW5pdGlhbGl6ZSB0aGUgY291bnRyeSBmaXh0dXJlXG4gICAgICB0aGlzLiNfY291bnRyeUZpeHR1cmUgPSBuZXcgU2t5Q291bnRyeUZpZWxkRml4dHVyZShcbiAgICAgICAgdGhpcy4jZml4dHVyZSxcbiAgICAgICAgY291bnRyeVNreVRlc3RJZFxuICAgICAgKTtcblxuICAgICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICBhd2FpdCB0aGlzLiNmaXh0dXJlLndoZW5TdGFibGUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy4jX2NvdW50cnlGaXh0dXJlO1xuICB9XG5cbiAgYXN5bmMgI29wZW5Db3VudHJ5U2VsZWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuI2NvdW50cnlGbGFnQnV0dG9uLmNsaWNrKCk7XG4gICAgcmV0dXJuIHRoaXMuI3dhaXRGb3JDb3VudHJ5U2VsZWN0aW9uKCk7XG4gIH1cblxuICAjc2V0U2t5VGVzdElkKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBza3lUZXN0SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLXNreS1pZCcsIHNreVRlc3RJZCk7XG4gIH1cblxuICBhc3luYyAjd2FpdEZvckNvdW50cnlTZWxlY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gYW55IGNvdW50cnkgc2VsZWN0aW9uIG5lZWRzIGV4dHJhIHRpbWUgdG8gY29tcGxldGVcbiAgICB0aGlzLiNmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICBhd2FpdCB0aGlzLiNmaXh0dXJlLndoZW5TdGFibGUoKTtcblxuICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHJldHVybiB0aGlzLiNmaXh0dXJlLndoZW5TdGFibGUoKTtcbiAgfVxufVxuIl19
@@ -109,7 +109,7 @@ class SkyPhoneFieldFixture {
109
109
  });
110
110
  }
111
111
  /**
112
- * Opens the country selector, peforms a search, but makes no selection.
112
+ * Opens the country selector, performs a search, but makes no selection.
113
113
  * @param searchText The name of the country to select.
114
114
  * @returns The list of country names matching the search text.
115
115
  */