@skyux/popovers 7.6.1 → 7.7.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.
@@ -398,7 +398,7 @@
398
398
  "kindString": "Get signature",
399
399
  "flags": {},
400
400
  "comment": {
401
- "shortText": "The ARIA role for the dropdown menu item\n[to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)\nby indicating how the item functions and what it controls. For information about\nhow an ARIA role indicates what an item represents on a web page, see the\n[WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/roles).",
401
+ "shortText": "The ARIA role for the dropdown menu item\n[to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)\nby indicating how the item functions and what it controls. For information about\nhow an ARIA role indicates what an item represents on a web page, see the\n[WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/#roles).",
402
402
  "tags": [
403
403
  {
404
404
  "tag": "default",
@@ -420,7 +420,7 @@
420
420
  "kindString": "Set signature",
421
421
  "flags": {},
422
422
  "comment": {
423
- "shortText": "The ARIA role for the dropdown menu item\n[to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)\nby indicating how the item functions and what it controls. For information about\nhow an ARIA role indicates what an item represents on a web page, see the\n[WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/roles).",
423
+ "shortText": "The ARIA role for the dropdown menu item\n[to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)\nby indicating how the item functions and what it controls. For information about\nhow an ARIA role indicates what an item represents on a web page, see the\n[WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/#roles).",
424
424
  "tags": [
425
425
  {
426
426
  "tag": "default",
@@ -711,7 +711,7 @@
711
711
  "sources": [
712
712
  {
713
713
  "fileName": "projects/popovers/src/modules/dropdown/dropdown.component.ts",
714
- "line": 238,
714
+ "line": 239,
715
715
  "character": 2
716
716
  }
717
717
  ],
@@ -856,7 +856,7 @@
856
856
  "sources": [
857
857
  {
858
858
  "fileName": "projects/popovers/src/modules/dropdown/dropdown.component.ts",
859
- "line": 183,
859
+ "line": 184,
860
860
  "character": 9
861
861
  }
862
862
  ],
@@ -877,7 +877,7 @@
877
877
  "sources": [
878
878
  {
879
879
  "fileName": "projects/popovers/src/modules/dropdown/dropdown.component.ts",
880
- "line": 185,
880
+ "line": 186,
881
881
  "character": 9
882
882
  }
883
883
  ],
@@ -896,7 +896,7 @@
896
896
  "isPublic": true
897
897
  },
898
898
  "comment": {
899
- "shortText": "The ARIA label for the dropdown. This sets the dropdown's `aria-label` attribute\n[to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)."
899
+ "shortText": "The ARIA label for the dropdown. This sets the dropdown's `aria-label` attribute to provide a text equivalent for screen readers\n[to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\nFor more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label)."
900
900
  },
901
901
  "decorators": [
902
902
  {
@@ -913,7 +913,7 @@
913
913
  "sources": [
914
914
  {
915
915
  "fileName": "projects/popovers/src/modules/dropdown/dropdown.component.ts",
916
- "line": 112,
916
+ "line": 113,
917
917
  "character": 9
918
918
  }
919
919
  ],
@@ -933,7 +933,7 @@
933
933
  "sources": [
934
934
  {
935
935
  "fileName": "projects/popovers/src/modules/dropdown/dropdown.component.ts",
936
- "line": 189,
936
+ "line": 190,
937
937
  "character": 9
938
938
  }
939
939
  ],
@@ -968,7 +968,7 @@
968
968
  "sources": [
969
969
  {
970
970
  "fileName": "projects/popovers/src/modules/dropdown/dropdown.component.ts",
971
- "line": 195,
971
+ "line": 196,
972
972
  "character": 9
973
973
  }
974
974
  ],
@@ -996,7 +996,7 @@
996
996
  "sources": [
997
997
  {
998
998
  "fileName": "projects/popovers/src/modules/dropdown/dropdown.component.ts",
999
- "line": 187,
999
+ "line": 188,
1000
1000
  "character": 9
1001
1001
  }
1002
1002
  ],
@@ -1031,7 +1031,7 @@
1031
1031
  "sources": [
1032
1032
  {
1033
1033
  "fileName": "projects/popovers/src/modules/dropdown/dropdown.component.ts",
1034
- "line": 142,
1034
+ "line": 143,
1035
1035
  "character": 9
1036
1036
  }
1037
1037
  ],
@@ -1318,7 +1318,7 @@
1318
1318
  "sources": [
1319
1319
  {
1320
1320
  "fileName": "projects/popovers/src/modules/dropdown/dropdown.component.ts",
1321
- "line": 119,
1321
+ "line": 120,
1322
1322
  "character": 13
1323
1323
  }
1324
1324
  ],
@@ -1393,7 +1393,7 @@
1393
1393
  "sources": [
1394
1394
  {
1395
1395
  "fileName": "projects/popovers/src/modules/dropdown/dropdown.component.ts",
1396
- "line": 163,
1396
+ "line": 164,
1397
1397
  "character": 13
1398
1398
  }
1399
1399
  ],
@@ -1463,7 +1463,7 @@
1463
1463
  "sources": [
1464
1464
  {
1465
1465
  "fileName": "projects/popovers/src/modules/dropdown/dropdown.component.ts",
1466
- "line": 175,
1466
+ "line": 176,
1467
1467
  "character": 13
1468
1468
  }
1469
1469
  ],
@@ -1525,7 +1525,7 @@
1525
1525
  "sources": [
1526
1526
  {
1527
1527
  "fileName": "projects/popovers/src/modules/dropdown/dropdown.component.ts",
1528
- "line": 155,
1528
+ "line": 156,
1529
1529
  "character": 13
1530
1530
  }
1531
1531
  ],
@@ -1623,7 +1623,7 @@
1623
1623
  "sources": [
1624
1624
  {
1625
1625
  "fileName": "projects/popovers/src/modules/dropdown/dropdown.component.ts",
1626
- "line": 201,
1626
+ "line": 202,
1627
1627
  "character": 13
1628
1628
  }
1629
1629
  ],
@@ -1694,7 +1694,7 @@
1694
1694
  "sources": [
1695
1695
  {
1696
1696
  "fileName": "projects/popovers/src/modules/dropdown/dropdown.component.ts",
1697
- "line": 267,
1697
+ "line": 268,
1698
1698
  "character": 9
1699
1699
  }
1700
1700
  ],
@@ -1731,7 +1731,7 @@
1731
1731
  "sources": [
1732
1732
  {
1733
1733
  "fileName": "projects/popovers/src/modules/dropdown/dropdown.component.ts",
1734
- "line": 252,
1734
+ "line": 253,
1735
1735
  "character": 9
1736
1736
  }
1737
1737
  ],
@@ -1858,7 +1858,7 @@
1858
1858
  "sources": [
1859
1859
  {
1860
1860
  "fileName": "projects/popovers/src/modules/dropdown/dropdown-menu.component.ts",
1861
- "line": 124,
1861
+ "line": 125,
1862
1862
  "character": 2
1863
1863
  }
1864
1864
  ],
@@ -1946,7 +1946,7 @@
1946
1946
  "isPublic": true
1947
1947
  },
1948
1948
  "comment": {
1949
- "shortText": "The HTML element ID of the element that labels\nthe dropdown menu. This sets the dropdown menu's `aria-labelledby` attribute\n[to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)."
1949
+ "shortText": "The HTML element ID of the element that labels\nthe dropdown menu. This sets the dropdown menu's `aria-labelledby` attribute to provide a text equivalent for\n[to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\nFor more information about the `aria-labelledby` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-labelledby)."
1950
1950
  },
1951
1951
  "decorators": [
1952
1952
  {
@@ -1963,7 +1963,7 @@
1963
1963
  "sources": [
1964
1964
  {
1965
1965
  "fileName": "projects/popovers/src/modules/dropdown/dropdown-menu.component.ts",
1966
- "line": 45,
1966
+ "line": 46,
1967
1967
  "character": 9
1968
1968
  }
1969
1969
  ],
@@ -1983,7 +1983,7 @@
1983
1983
  "sources": [
1984
1984
  {
1985
1985
  "fileName": "projects/popovers/src/modules/dropdown/dropdown-menu.component.ts",
1986
- "line": 91,
1986
+ "line": 92,
1987
1987
  "character": 9
1988
1988
  }
1989
1989
  ],
@@ -2019,7 +2019,7 @@
2019
2019
  "sources": [
2020
2020
  {
2021
2021
  "fileName": "projects/popovers/src/modules/dropdown/dropdown-menu.component.ts",
2022
- "line": 110,
2022
+ "line": 111,
2023
2023
  "character": 9
2024
2024
  }
2025
2025
  ],
@@ -2060,7 +2060,7 @@
2060
2060
  "sources": [
2061
2061
  {
2062
2062
  "fileName": "projects/popovers/src/modules/dropdown/dropdown-menu.component.ts",
2063
- "line": 57,
2063
+ "line": 58,
2064
2064
  "character": 13
2065
2065
  }
2066
2066
  ],
@@ -2072,7 +2072,7 @@
2072
2072
  "kindString": "Get signature",
2073
2073
  "flags": {},
2074
2074
  "comment": {
2075
- "shortText": "The ARIA role for the dropdown menu\n[to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)\nby indicating how the dropdown menu functions and what it controls. The dropdown button\ninherits this value to set its `aria-haspopup` property. For information\nabout how an ARIA role indicates what an item represents on a web page, see the\n[WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/roles).",
2075
+ "shortText": "The ARIA role for the dropdown menu\n[to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)\nby indicating how the dropdown menu functions and what it controls. The dropdown button\ninherits this value to set its `aria-haspopup` property. For information\nabout how an ARIA role indicates what an item represents on a web page, see the\n[WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/#roles).",
2076
2076
  "tags": [
2077
2077
  {
2078
2078
  "tag": "default",
@@ -2094,7 +2094,7 @@
2094
2094
  "kindString": "Set signature",
2095
2095
  "flags": {},
2096
2096
  "comment": {
2097
- "shortText": "The ARIA role for the dropdown menu\n[to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)\nby indicating how the dropdown menu functions and what it controls. The dropdown button\ninherits this value to set its `aria-haspopup` property. For information\nabout how an ARIA role indicates what an item represents on a web page, see the\n[WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/roles).",
2097
+ "shortText": "The ARIA role for the dropdown menu\n[to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)\nby indicating how the dropdown menu functions and what it controls. The dropdown button\ninherits this value to set its `aria-haspopup` property. For information\nabout how an ARIA role indicates what an item represents on a web page, see the\n[WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/#roles).",
2098
2098
  "tags": [
2099
2099
  {
2100
2100
  "tag": "default",
@@ -2133,7 +2133,7 @@
2133
2133
  "sources": [
2134
2134
  {
2135
2135
  "fileName": "projects/popovers/src/modules/dropdown/dropdown-menu.component.ts",
2136
- "line": 93,
2136
+ "line": 94,
2137
2137
  "character": 13
2138
2138
  }
2139
2139
  ],
@@ -2188,7 +2188,7 @@
2188
2188
  "sources": [
2189
2189
  {
2190
2190
  "fileName": "projects/popovers/src/modules/dropdown/dropdown-menu.component.ts",
2191
- "line": 201,
2191
+ "line": 202,
2192
2192
  "character": 9
2193
2193
  }
2194
2194
  ],
@@ -2217,7 +2217,7 @@
2217
2217
  "sources": [
2218
2218
  {
2219
2219
  "fileName": "projects/popovers/src/modules/dropdown/dropdown-menu.component.ts",
2220
- "line": 216,
2220
+ "line": 217,
2221
2221
  "character": 9
2222
2222
  }
2223
2223
  ],
@@ -2246,7 +2246,7 @@
2246
2246
  "sources": [
2247
2247
  {
2248
2248
  "fileName": "projects/popovers/src/modules/dropdown/dropdown-menu.component.ts",
2249
- "line": 246,
2249
+ "line": 247,
2250
2250
  "character": 9
2251
2251
  }
2252
2252
  ],
@@ -2275,7 +2275,7 @@
2275
2275
  "sources": [
2276
2276
  {
2277
2277
  "fileName": "projects/popovers/src/modules/dropdown/dropdown-menu.component.ts",
2278
- "line": 231,
2278
+ "line": 232,
2279
2279
  "character": 9
2280
2280
  }
2281
2281
  ],
@@ -2304,7 +2304,7 @@
2304
2304
  "sources": [
2305
2305
  {
2306
2306
  "fileName": "projects/popovers/src/modules/dropdown/dropdown-menu.component.ts",
2307
- "line": 134,
2307
+ "line": 135,
2308
2308
  "character": 9
2309
2309
  }
2310
2310
  ],
@@ -2341,7 +2341,7 @@
2341
2341
  "sources": [
2342
2342
  {
2343
2343
  "fileName": "projects/popovers/src/modules/dropdown/dropdown-menu.component.ts",
2344
- "line": 196,
2344
+ "line": 197,
2345
2345
  "character": 9
2346
2346
  }
2347
2347
  ],
@@ -2378,7 +2378,7 @@
2378
2378
  "sources": [
2379
2379
  {
2380
2380
  "fileName": "projects/popovers/src/modules/dropdown/dropdown-menu.component.ts",
2381
- "line": 261,
2381
+ "line": 262,
2382
2382
  "character": 9
2383
2383
  }
2384
2384
  ],
@@ -23,7 +23,7 @@ export class SkyDropdownItemComponent {
23
23
  * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility)
24
24
  * by indicating how the item functions and what it controls. For information about
25
25
  * how an ARIA role indicates what an item represents on a web page, see the
26
- * [WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/roles).
26
+ * [WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/#roles).
27
27
  * @default "menuitem"
28
28
  */
29
29
  set ariaRole(value) {
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
69
69
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { ariaRole: [{
70
70
  type: Input
71
71
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi9kcm9wZG93bi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsS0FBSyxFQUVMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7O0FBRXZCOztHQUVHO0FBUUgsTUFBTSxPQUFPLHdCQUF3QjtJQTJCbkMsWUFDUyxVQUFzQixFQUM3QixjQUFpQyxFQUNqQyxRQUFtQjtRQUZaLGVBQVUsR0FBVixVQUFVLENBQVk7O1FBVnhCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUUxQiw4Q0FBYSxVQUFVLEVBQUM7UUFFeEIsMkRBQW1DO1FBQ25DLHFEQUFxQjtRQU9uQix1QkFBQSxJQUFJLDRDQUFtQixjQUFjLE1BQUEsQ0FBQztRQUN0Qyx1QkFBQSxJQUFJLHNDQUFhLFFBQVEsTUFBQSxDQUFDO0lBQzVCLENBQUM7SUFqQ0Q7Ozs7Ozs7T0FPRztJQUNILElBQ1csUUFBUSxDQUFDLEtBQXlCO1FBQzNDLHVCQUFBLElBQUksdUNBQWMsS0FBSyxJQUFJLFVBQVUsTUFBQSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyx1QkFBQSxJQUFJLDJDQUFXLENBQUM7SUFDekIsQ0FBQztJQW9CTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFdEMsMENBQTBDO1FBQzFDLE1BQU0sYUFBYSxHQUFHLHVCQUFBLElBQUksdUZBQWtCLE1BQXRCLElBQUksQ0FBb0IsQ0FBQztRQUMvQywwQkFBMEI7UUFDMUIsSUFBSSxhQUFhLEVBQUU7WUFDakIsdUJBQUEsSUFBSSwwQ0FBVSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQzdEO1FBRUQsdUJBQUEsSUFBSSxnREFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRU0sWUFBWSxDQUFDLGlCQUEwQjtRQUM1QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUVyQixJQUFJLGlCQUFpQixFQUFFO1lBQ3JCLHVCQUFBLElBQUksdUZBQWtCLE1BQXRCLElBQUksQ0FBb0IsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUNuQztRQUVELHVCQUFBLElBQUksZ0RBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxXQUFXLEdBQ2YsdUJBQUEsSUFBSSx1RkFBa0IsTUFBdEIsSUFBSSxDQUFvQixFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLENBQUM7UUFDOUQsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0Qix1QkFBQSxJQUFJLGdEQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7OztJQUdDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ2pFLENBQUM7c0hBeEVVLHdCQUF3QjswR0FBeEIsd0JBQXdCLDJGQ3JCckMsNk5BVUE7NEZEV2Esd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJO3lKQVkxQixRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIGl0ZW1zIHRvIGRpc3BsYXkgb24gdGhlIGRyb3Bkb3duIG1lbnUuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kcm9wZG93bi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEcm9wZG93bkl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIFRoZSBBUklBIHJvbGUgZm9yIHRoZSBkcm9wZG93biBtZW51IGl0ZW1cbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KVxuICAgKiBieSBpbmRpY2F0aW5nIGhvdyB0aGUgaXRlbSBmdW5jdGlvbnMgYW5kIHdoYXQgaXQgY29udHJvbHMuIEZvciBpbmZvcm1hdGlvbiBhYm91dFxuICAgKiBob3cgYW4gQVJJQSByb2xlIGluZGljYXRlcyB3aGF0IGFuIGl0ZW0gcmVwcmVzZW50cyBvbiBhIHdlYiBwYWdlLCBzZWUgdGhlXG4gICAqIFtXQUktQVJJQSByb2xlcyBtb2RlbF0oaHR0cHM6Ly93d3cudzMub3JnL1dBSS9QRi9hcmlhL3JvbGVzKS5cbiAgICogQGRlZmF1bHQgXCJtZW51aXRlbVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFyaWFSb2xlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfYXJpYVJvbGUgPSB2YWx1ZSA/PyAnbWVudWl0ZW0nO1xuICB9XG5cbiAgcHVibGljIGdldCBhcmlhUm9sZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfYXJpYVJvbGU7XG4gIH1cblxuICBwdWJsaWMgaXNBY3RpdmUgPSBmYWxzZTtcblxuICBwdWJsaWMgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gICNfYXJpYVJvbGUgPSAnbWVudWl0ZW0nO1xuXG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXI7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaXNEaXNhYmxlZCA9ICF0aGlzLmlzRm9jdXNhYmxlKCk7XG5cbiAgICAvLyBNYWtlIHN1cmUgYW5jaG9yIGVsZW1lbnRzIGFyZSB0YWItYWJsZS5cbiAgICBjb25zdCBidXR0b25FbGVtZW50ID0gdGhpcy4jZ2V0QnV0dG9uRWxlbWVudCgpO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGJ1dHRvbkVsZW1lbnQpIHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnNldEF0dHJpYnV0ZShidXR0b25FbGVtZW50LCAndGFiSW5kZXgnLCAnMCcpO1xuICAgIH1cblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c0VsZW1lbnQoZW5hYmxlTmF0aXZlRm9jdXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZTtcblxuICAgIGlmIChlbmFibGVOYXRpdmVGb2N1cykge1xuICAgICAgdGhpcy4jZ2V0QnV0dG9uRWxlbWVudCgpPy5mb2N1cygpO1xuICAgIH1cblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0ZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBpc0ZvY3VzYWJsZSA9XG4gICAgICB0aGlzLiNnZXRCdXR0b25FbGVtZW50KCk/LmdldEF0dHJpYnV0ZSgnZGlzYWJsZWQnKSA9PT0gbnVsbDtcbiAgICByZXR1cm4gaXNGb2N1c2FibGU7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzQWN0aXZlID0gZmFsc2U7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjZ2V0QnV0dG9uRWxlbWVudCgpOiBIVE1MQnV0dG9uRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdidXR0b24sYScpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LWRyb3Bkb3duLWl0ZW1cIlxuICBbYXR0ci5yb2xlXT1cImFyaWFSb2xlXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktZHJvcGRvd24taXRlbS1hY3RpdmUnOiBpc0FjdGl2ZSxcbiAgICAnc2t5LWRyb3Bkb3duLWl0ZW0tZGlzYWJsZWQnOiBpc0Rpc2FibGVkXG4gIH1cIlxuPlxuICA8bmctY29udGVudD4gPC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi9kcm9wZG93bi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsS0FBSyxFQUVMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7O0FBRXZCOztHQUVHO0FBUUgsTUFBTSxPQUFPLHdCQUF3QjtJQTJCbkMsWUFDUyxVQUFzQixFQUM3QixjQUFpQyxFQUNqQyxRQUFtQjtRQUZaLGVBQVUsR0FBVixVQUFVLENBQVk7O1FBVnhCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUUxQiw4Q0FBYSxVQUFVLEVBQUM7UUFFeEIsMkRBQW1DO1FBQ25DLHFEQUFxQjtRQU9uQix1QkFBQSxJQUFJLDRDQUFtQixjQUFjLE1BQUEsQ0FBQztRQUN0Qyx1QkFBQSxJQUFJLHNDQUFhLFFBQVEsTUFBQSxDQUFDO0lBQzVCLENBQUM7SUFqQ0Q7Ozs7Ozs7T0FPRztJQUNILElBQ1csUUFBUSxDQUFDLEtBQXlCO1FBQzNDLHVCQUFBLElBQUksdUNBQWMsS0FBSyxJQUFJLFVBQVUsTUFBQSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyx1QkFBQSxJQUFJLDJDQUFXLENBQUM7SUFDekIsQ0FBQztJQW9CTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFdEMsMENBQTBDO1FBQzFDLE1BQU0sYUFBYSxHQUFHLHVCQUFBLElBQUksdUZBQWtCLE1BQXRCLElBQUksQ0FBb0IsQ0FBQztRQUMvQywwQkFBMEI7UUFDMUIsSUFBSSxhQUFhLEVBQUU7WUFDakIsdUJBQUEsSUFBSSwwQ0FBVSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQzdEO1FBRUQsdUJBQUEsSUFBSSxnREFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRU0sWUFBWSxDQUFDLGlCQUEwQjtRQUM1QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUVyQixJQUFJLGlCQUFpQixFQUFFO1lBQ3JCLHVCQUFBLElBQUksdUZBQWtCLE1BQXRCLElBQUksQ0FBb0IsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUNuQztRQUVELHVCQUFBLElBQUksZ0RBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxXQUFXLEdBQ2YsdUJBQUEsSUFBSSx1RkFBa0IsTUFBdEIsSUFBSSxDQUFvQixFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLENBQUM7UUFDOUQsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0Qix1QkFBQSxJQUFJLGdEQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7OztJQUdDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ2pFLENBQUM7c0hBeEVVLHdCQUF3QjswR0FBeEIsd0JBQXdCLDJGQ3JCckMsNk5BVUE7NEZEV2Esd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJO3lKQVkxQixRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIGl0ZW1zIHRvIGRpc3BsYXkgb24gdGhlIGRyb3Bkb3duIG1lbnUuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kcm9wZG93bi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEcm9wZG93bkl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIFRoZSBBUklBIHJvbGUgZm9yIHRoZSBkcm9wZG93biBtZW51IGl0ZW1cbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KVxuICAgKiBieSBpbmRpY2F0aW5nIGhvdyB0aGUgaXRlbSBmdW5jdGlvbnMgYW5kIHdoYXQgaXQgY29udHJvbHMuIEZvciBpbmZvcm1hdGlvbiBhYm91dFxuICAgKiBob3cgYW4gQVJJQSByb2xlIGluZGljYXRlcyB3aGF0IGFuIGl0ZW0gcmVwcmVzZW50cyBvbiBhIHdlYiBwYWdlLCBzZWUgdGhlXG4gICAqIFtXQUktQVJJQSByb2xlcyBtb2RlbF0oaHR0cHM6Ly93d3cudzMub3JnL1dBSS9QRi9hcmlhLyNyb2xlcykuXG4gICAqIEBkZWZhdWx0IFwibWVudWl0ZW1cIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhcmlhUm9sZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2FyaWFSb2xlID0gdmFsdWUgPz8gJ21lbnVpdGVtJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXJpYVJvbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX2FyaWFSb2xlO1xuICB9XG5cbiAgcHVibGljIGlzQWN0aXZlID0gZmFsc2U7XG5cbiAgcHVibGljIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICAjX2FyaWFSb2xlID0gJ21lbnVpdGVtJztcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNyZW5kZXJlciA9IHJlbmRlcmVyO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSAhdGhpcy5pc0ZvY3VzYWJsZSgpO1xuXG4gICAgLy8gTWFrZSBzdXJlIGFuY2hvciBlbGVtZW50cyBhcmUgdGFiLWFibGUuXG4gICAgY29uc3QgYnV0dG9uRWxlbWVudCA9IHRoaXMuI2dldEJ1dHRvbkVsZW1lbnQoKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChidXR0b25FbGVtZW50KSB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5zZXRBdHRyaWJ1dGUoYnV0dG9uRWxlbWVudCwgJ3RhYkluZGV4JywgJzAnKTtcbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNFbGVtZW50KGVuYWJsZU5hdGl2ZUZvY3VzOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0FjdGl2ZSA9IHRydWU7XG5cbiAgICBpZiAoZW5hYmxlTmF0aXZlRm9jdXMpIHtcbiAgICAgIHRoaXMuI2dldEJ1dHRvbkVsZW1lbnQoKT8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgaXNGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNGb2N1c2FibGUgPVxuICAgICAgdGhpcy4jZ2V0QnV0dG9uRWxlbWVudCgpPy5nZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgPT09IG51bGw7XG4gICAgcmV0dXJuIGlzRm9jdXNhYmxlO1xuICB9XG5cbiAgcHVibGljIHJlc2V0U3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI2dldEJ1dHRvbkVsZW1lbnQoKTogSFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignYnV0dG9uLGEnKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1kcm9wZG93bi1pdGVtXCJcbiAgW2F0dHIucm9sZV09XCJhcmlhUm9sZVwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2t5LWRyb3Bkb3duLWl0ZW0tYWN0aXZlJzogaXNBY3RpdmUsXG4gICAgJ3NreS1kcm9wZG93bi1pdGVtLWRpc2FibGVkJzogaXNEaXNhYmxlZFxuICB9XCJcbj5cbiAgPG5nLWNvbnRlbnQ+IDwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -40,7 +40,7 @@ export class SkyDropdownMenuComponent {
40
40
  * by indicating how the dropdown menu functions and what it controls. The dropdown button
41
41
  * inherits this value to set its `aria-haspopup` property. For information
42
42
  * about how an ARIA role indicates what an item represents on a web page, see the
43
- * [WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/roles).
43
+ * [WAI-ARIA roles model](https://www.w3.org/WAI/PF/aria/#roles).
44
44
  * @default "menu"
45
45
  */
46
46
  set ariaRole(value) {
@@ -304,4 +304,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
304
304
  type: ContentChildren,
305
305
  args: [SkyDropdownItemComponent, { descendants: true }]
306
306
  }] } });
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duL2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi9kcm9wZG93bi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLElBQUksbUJBQW1CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXJFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFFdkUsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ2Y7OztHQUdHO0FBUUgsTUFBTSxPQUFPLHdCQUF3QjtJQXNGbkMsWUFDRSxjQUFpQyxFQUNqQyxVQUFzQixFQUNWLGlCQUF3Qzs7UUE3Q3REOzs7OztXQUtHO1FBRUksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQUV4RCxtQkFBYyxHQUFHLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDO1FBcUJ4RCxrREFBaUIsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUVyQyw4Q0FBYSxNQUFNLEVBQUM7UUFFcEIsK0NBQWMsQ0FB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NEZENkJhLHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs7MEJBMkZsQyxRQUFROzRDQWxGSixjQUFjO3NCQURwQixLQUFLO2dCQWFLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBa0JLLGNBQWM7c0JBRHhCLEtBQUs7Z0JBZ0JDLFdBQVc7c0JBRGpCLE1BQU07Z0JBc0JBLFNBQVM7c0JBRGYsZUFBZTt1QkFBQyx3QkFBd0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQgYXMgb2JzZXJ2YWJsZUZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lEcm9wZG93bkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNreURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RHJvcGRvd25NZW51Q2hhbmdlIH0gZnJvbSAnLi90eXBlcy9kcm9wZG93bi1tZW51LWNoYW5nZSc7XG5pbXBvcnQgeyBTa3lEcm9wZG93bk1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL2Ryb3Bkb3duLW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5RHJvcGRvd25NZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvZHJvcGRvd24tbWVzc2FnZS10eXBlJztcblxubGV0IG5leHRJZCA9IDA7XG4vKipcbiAqIENyZWF0ZXMgYSBtZW51IHRoYXQgY29udGFpbnMgZHJvcGRvd24gbWVudSBpdGVtcy5cbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kcm9wZG93bi1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEcm9wZG93bk1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogVGhlIEhUTUwgZWxlbWVudCBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGxhYmVsc1xuICAgKiB0aGUgZHJvcGRvd24gbWVudS4gVGhpcyBzZXRzIHRoZSBkcm9wZG93biBtZW51J3MgYGFyaWEtbGFiZWxsZWRieWAgYXR0cmlidXRlXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXJpYUxhYmVsbGVkQnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIEFSSUEgcm9sZSBmb3IgdGhlIGRyb3Bkb3duIG1lbnVcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KVxuICAgKiBieSBpbmRpY2F0aW5nIGhvdyB0aGUgZHJvcGRvd24gbWVudSBmdW5jdGlvbnMgYW5kIHdoYXQgaXQgY29udHJvbHMuIFRoZSBkcm9wZG93biBidXR0b25cbiAgICogaW5oZXJpdHMgdGhpcyB2YWx1ZSB0byBzZXQgaXRzIGBhcmlhLWhhc3BvcHVwYCBwcm9wZXJ0eS4gRm9yIGluZm9ybWF0aW9uXG4gICAqIGFib3V0IGhvdyBhbiBBUklBIHJvbGUgaW5kaWNhdGVzIHdoYXQgYW4gaXRlbSByZXByZXNlbnRzIG9uIGEgd2ViIHBhZ2UsIHNlZSB0aGVcbiAgICogW1dBSS1BUklBIHJvbGVzIG1vZGVsXShodHRwczovL3d3dy53My5vcmcvV0FJL1BGL2FyaWEvcm9sZXMpLlxuICAgKiBAZGVmYXVsdCBcIm1lbnVcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhcmlhUm9sZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2FyaWFSb2xlID0gdmFsdWUgPz8gJ21lbnUnO1xuICB9XG5cbiAgcHVibGljIGdldCBhcmlhUm9sZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfYXJpYVJvbGU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byB1c2UgdGhlIGJyb3dzZXIncyBuYXRpdmUgZm9jdXMgZnVuY3Rpb24gd2hlbiB1c2VycyBuYXZpZ2F0ZSB0aHJvdWdoIG1lbnVcbiAgICogaXRlbXMgd2l0aCB0aGUga2V5Ym9hcmQuIFRvIGRpc2FibGUgdGhlIG5hdGl2ZSBmb2N1cyBmdW5jdGlvbiwgc2V0IHRoaXMgcHJvcGVydHkgdG8gYGZhbHNlYC5cbiAgICogRm9yIGV4YW1wbGUsIHRvIGxldCB1c2VycyBpbnRlcmFjdCB3aXRoIHRoZSBkcm9wZG93biBtZW51IGJ1dCBrZWVwIHRoZSBrZXlib2FyZCBmb2N1cyBvbiBhXG4gICAqIGRpZmZlcmVudCBlbGVtZW50LCBzZXQgdGhpcyBwcm9wZXJ0eSB0byBgZmFsc2VgLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB1c2VOYXRpdmVGb2N1cyh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI191c2VOYXRpdmVGb2N1cyA9IHZhbHVlID8/IHRydWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVzZU5hdGl2ZUZvY3VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfdXNlTmF0aXZlRm9jdXM7XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgZHJvcGRvd24gbWVudSdzIGFjdGl2ZSBpbmRleCBvciBzZWxlY3RlZCBpdGVtIGNoYW5nZXMuIFRoaXMgZXZlbnQgcHJvdmlkZXMgYW5cbiAgICogb2JzZXJ2YWJsZSB0byBlbWl0IGNoYW5nZXMsIGFuZCB0aGUgcmVzcG9uc2UgaXMgb2ZcbiAgICogdGhlIFNreURyb3Bkb3duTWVudUNoYW5nZSB0eXBlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbWVudUNoYW5nZXMgPSBuZXcgRXZlbnRFbWl0dGVyPFNreURyb3Bkb3duTWVudUNoYW5nZT4oKTtcblxuICBwdWJsaWMgZHJvcGRvd25NZW51SWQgPSBgc2t5LWRyb3Bkb3duLW1lbnUtJHsrK25leHRJZH1gO1xuXG4gIHB1YmxpYyBzZXQgbWVudUluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWUgPCAwKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMubWVudUl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID49IHRoaXMubWVudUl0ZW1zLmxlbmd0aCkge1xuICAgICAgdmFsdWUgPSAwO1xuICAgIH1cblxuICAgIHRoaXMuI19tZW51SW5kZXggPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWVudUluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI19tZW51SW5kZXg7XG4gIH1cblxuICBAQ29udGVudENoaWxkcmVuKFNreURyb3Bkb3duSXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgbWVudUl0ZW1zITogUXVlcnlMaXN0PFNreURyb3Bkb3duSXRlbUNvbXBvbmVudD47XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfYXJpYVJvbGUgPSAnbWVudSc7XG5cbiAgI19tZW51SW5kZXggPSAwO1xuXG4gICNfdXNlTmF0aXZlRm9jdXMgPSB0cnVlO1xuXG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICNlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAjZHJvcGRvd25Db21wb25lbnQ6IFNreURyb3Bkb3duQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIEBPcHRpb25hbCgpIGRyb3Bkb3duQ29tcG9uZW50PzogU2t5RHJvcGRvd25Db21wb25lbnRcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLiNkcm9wZG93bkNvbXBvbmVudCA9IGRyb3Bkb3duQ29tcG9uZW50O1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNkcm9wZG93bkNvbXBvbmVudCkge1xuICAgICAgdGhpcy4jZHJvcGRvd25Db21wb25lbnQubWVudUlkID0gdGhpcy5kcm9wZG93bk1lbnVJZDtcbiAgICAgIHRoaXMuI2Ryb3Bkb3duQ29tcG9uZW50Lm1lbnVBcmlhUm9sZSA9IHRoaXMuYXJpYVJvbGU7XG5cbiAgICAgIHRoaXMuI2Ryb3Bkb3duQ29tcG9uZW50Lm1lc3NhZ2VTdHJlYW1cbiAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5RHJvcGRvd25NZXNzYWdlKSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5PcGVuOlxuICAgICAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlOlxuICAgICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFNreURyb3Bkb3duTWVzc2FnZVR5cGUuRm9jdXNGaXJzdEl0ZW06XG4gICAgICAgICAgICAgIHRoaXMuZm9jdXNGaXJzdEl0ZW0oKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c05leHRJdGVtOlxuICAgICAgICAgICAgICB0aGlzLmZvY3VzTmV4dEl0ZW0oKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c1ByZXZpb3VzSXRlbTpcbiAgICAgICAgICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzSXRlbSgpO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzTGFzdEl0ZW06XG4gICAgICAgICAgICAgIHRoaXMuZm9jdXNMYXN0SXRlbSgpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLm1lbnVDaGFuZ2VzXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoY2hhbmdlOiBTa3lEcm9wZG93bk1lbnVDaGFuZ2UpID0+IHtcbiAgICAgICAgICAvLyBDbG9zZSB0aGUgZHJvcGRvd24gd2hlbiBhIG1lbnUgaXRlbSBpcyBzZWxlY3RlZC5cbiAgICAgICAgICBpZiAoY2hhbmdlLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5DbG9zZSk7XG4gICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzVHJpZ2dlckJ1dHRvbik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGNoYW5nZS5pdGVtcykge1xuICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBwb3BvdmVyIHN0eWxlIGFuZCBwb3NpdGlvbiB3aGVuZXZlciB0aGUgbnVtYmVyIG9mIGl0ZW1zIGNoYW5nZXMuXG4gICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLlJlcG9zaXRpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gUmVzZXQgZHJvcGRvd24gd2hlbmV2ZXIgdGhlIG1lbnUgaXRlbXMgY2hhbmdlLlxuICAgIHRoaXMubWVudUl0ZW1zLmNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zOiBRdWVyeUxpc3Q8U2t5RHJvcGRvd25JdGVtQ29tcG9uZW50PikgPT4ge1xuICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgIHRoaXMubWVudUNoYW5nZXMuZW1pdCh7XG4gICAgICAgICAgaXRlbXM6IGl0ZW1zLnRvQXJyYXkoKSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuI2FkZEV2ZW50TGlzdGVuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzRmlyc3RJdGVtKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy4jaGFzRm9jdXNhYmxlSXRlbXMoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubWVudUluZGV4ID0gMDtcblxuICAgIGNvbnN0IGZpcnN0SXRlbSA9IHRoaXMuI2dldEl0ZW1CeUluZGV4KHRoaXMubWVudUluZGV4KTtcbiAgICBpZiAoZmlyc3RJdGVtICYmIGZpcnN0SXRlbS5pc0ZvY3VzYWJsZSgpKSB7XG4gICAgICB0aGlzLiNmb2N1c0l0ZW0oZmlyc3RJdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb2N1c05leHRJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvY3VzTGFzdEl0ZW0oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLiNoYXNGb2N1c2FibGVJdGVtcygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tZW51SW5kZXggPSB0aGlzLm1lbnVJdGVtcy5sZW5ndGggLSAxO1xuXG4gICAgY29uc3QgbGFzdEl0ZW0gPSB0aGlzLiNnZXRJdGVtQnlJbmRleCh0aGlzLm1lbnVJbmRleCk7XG4gICAgaWYgKGxhc3RJdGVtICYmIGxhc3RJdGVtLmlzRm9jdXNhYmxlKCkpIHtcbiAgICAgIHRoaXMuI2ZvY3VzSXRlbShsYXN0SXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9jdXNQcmV2aW91c0l0ZW0oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZm9jdXNQcmV2aW91c0l0ZW0oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLiNoYXNGb2N1c2FibGVJdGVtcygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tZW51SW5kZXgtLTtcblxuICAgIGNvbnN0IHByZXZpb3VzSXRlbSA9IHRoaXMuI2dldEl0ZW1CeUluZGV4KHRoaXMubWVudUluZGV4KTtcbiAgICBpZiAocHJldmlvdXNJdGVtICYmIHByZXZpb3VzSXRlbS5pc0ZvY3VzYWJsZSgpKSB7XG4gICAgICB0aGlzLiNmb2N1c0l0ZW0ocHJldmlvdXNJdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzSXRlbSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmb2N1c05leHRJdGVtKCkge1xuICAgIGlmICghdGhpcy4jaGFzRm9jdXNhYmxlSXRlbXMoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubWVudUluZGV4Kys7XG5cbiAgICBjb25zdCBuZXh0SXRlbSA9IHRoaXMuI2dldEl0ZW1CeUluZGV4KHRoaXMubWVudUluZGV4KTtcbiAgICBpZiAobmV4dEl0ZW0gJiYgbmV4dEl0ZW0uaXNGb2N1c2FibGUoKSkge1xuICAgICAgdGhpcy4jZm9jdXNJdGVtKG5leHRJdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb2N1c05leHRJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuI19tZW51SW5kZXggPSAtMTtcbiAgICB0aGlzLiNyZXNldEl0ZW1zQWN0aXZlU3RhdGUoKTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNyZXNldEl0ZW1zQWN0aXZlU3RhdGUoKSB7XG4gICAgdGhpcy5tZW51SXRlbXMuZm9yRWFjaCgoaXRlbTogU2t5RHJvcGRvd25JdGVtQ29tcG9uZW50KSA9PiB7XG4gICAgICBpdGVtLnJlc2V0U3RhdGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gICNmb2N1c0l0ZW0oaXRlbTogU2t5RHJvcGRvd25JdGVtQ29tcG9uZW50KTogdm9pZCB7XG4gICAgdGhpcy4jcmVzZXRJdGVtc0FjdGl2ZVN0YXRlKCk7XG4gICAgaXRlbS5mb2N1c0VsZW1lbnQodGhpcy51c2VOYXRpdmVGb2N1cyk7XG4gICAgdGhpcy5tZW51Q2hhbmdlcy5lbWl0KHtcbiAgICAgIGFjdGl2ZUluZGV4OiB0aGlzLm1lbnVJbmRleCxcbiAgICB9KTtcbiAgfVxuXG4gICNnZXRJdGVtQnlJbmRleChpbmRleDogbnVtYmVyKTogU2t5RHJvcGRvd25JdGVtQ29tcG9uZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5tZW51SXRlbXMuZmluZCgoXywgaSkgPT4gaSA9PT0gaW5kZXgpO1xuICB9XG5cbiAgI3NlbGVjdEl0ZW1CeUV2ZW50VGFyZ2V0KHRhcmdldDogRXZlbnRUYXJnZXQpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLm1lbnVJdGVtcy5maW5kKFxuICAgICAgKGl0ZW06IFNreURyb3Bkb3duSXRlbUNvbXBvbmVudCwgaTogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvdW5kID0gaXRlbS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KTtcblxuICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICB0aGlzLm1lbnVJbmRleCA9IGk7XG4gICAgICAgICAgdGhpcy5tZW51Q2hhbmdlcy5uZXh0KHtcbiAgICAgICAgICAgIGFjdGl2ZUluZGV4OiB0aGlzLm1lbnVJbmRleCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmb3VuZDtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICB0aGlzLm1lbnVDaGFuZ2VzLm5leHQoe1xuICAgICAgICBzZWxlY3RlZEl0ZW0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjc2VuZE1lc3NhZ2UodHlwZTogU2t5RHJvcGRvd25NZXNzYWdlVHlwZSk6IHZvaWQge1xuICAgIHRoaXMuI2Ryb3Bkb3duQ29tcG9uZW50Py5tZXNzYWdlU3RyZWFtPy5uZXh0KHsgdHlwZSB9KTtcbiAgfVxuXG4gICNhZGRFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBjb25zdCBkcm9wZG93bk1lbnVFbGVtZW50ID0gdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudDxNb3VzZUV2ZW50Pihkcm9wZG93bk1lbnVFbGVtZW50LCAnY2xpY2snKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy4jc2VsZWN0SXRlbUJ5RXZlbnRUYXJnZXQoZXZlbnQudGFyZ2V0IGFzIEV2ZW50VGFyZ2V0KTtcbiAgICAgIH0pO1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudDxLZXlib2FyZEV2ZW50Pihkcm9wZG93bk1lbnVFbGVtZW50LCAna2V5ZG93bicpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgIGNhc2UgJ2VzY2FwZSc6XG4gICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgIHRoaXMuI3NlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuRm9jdXNUcmlnZ2VyQnV0dG9uKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnYXJyb3dkb3duJzpcbiAgICAgICAgICBjYXNlICdkb3duJzpcbiAgICAgICAgICAgIHRoaXMuZm9jdXNOZXh0SXRlbSgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnYXJyb3d1cCc6XG4gICAgICAgICAgY2FzZSAndXAnOlxuICAgICAgICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzSXRlbSgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgICAgIGlmICh0aGlzLiNkcm9wZG93bkNvbXBvbmVudD8uZGlzbWlzc09uQmx1cikge1xuICAgICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuI3NlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuRm9jdXNUcmlnZ2VyQnV0dG9uKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoZHJvcGRvd25NZW51RWxlbWVudCwgJ21vdXNlZW50ZXInKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLiNkcm9wZG93bkNvbXBvbmVudCkge1xuICAgICAgICAgIHRoaXMuI2Ryb3Bkb3duQ29tcG9uZW50LmlzTW91c2VFbnRlciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudChkcm9wZG93bk1lbnVFbGVtZW50LCAnbW91c2VsZWF2ZScpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRoaXMuI2Ryb3Bkb3duQ29tcG9uZW50KSB7XG4gICAgICAgICAgdGhpcy4jZHJvcGRvd25Db21wb25lbnQuaXNNb3VzZUVudGVyID0gZmFsc2U7XG4gICAgICAgICAgLy8gQWxsb3cgdGhlIGRyb3Bkb3duIGNvbXBvbmVudCB0byBzZXQgaXNNb3VzZUVudGVyIGJlZm9yZSBjaGVja2luZyBpZiB0aGUgY2xvc2UgYWN0aW9uXG4gICAgICAgICAgLy8gc2hvdWxkIGJlIHRha2VuLlxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICB0aGlzLiNkcm9wZG93bkNvbXBvbmVudCAmJlxuICAgICAgICAgICAgICB0aGlzLiNkcm9wZG93bkNvbXBvbmVudC50cmlnZ2VyID09PSAnaG92ZXInICYmXG4gICAgICAgICAgICAgIHRoaXMuI2Ryb3Bkb3duQ29tcG9uZW50LmlzTW91c2VFbnRlciA9PT0gZmFsc2VcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAjaGFzRm9jdXNhYmxlSXRlbXMoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZm91bmQgPSB0aGlzLm1lbnVJdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLmlzRm9jdXNhYmxlKCkpO1xuICAgIHJldHVybiBmb3VuZCAhPT0gdW5kZWZpbmVkO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LWRyb3Bkb3duLW1lbnUgc2t5LXNoYWRvdyBza3ktZWxldmF0aW9uLTRcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICBbYXR0ci5yb2xlXT1cImFyaWFSb2xlXCJcbiAgW2lkXT1cImRyb3Bkb3duTWVudUlkXCJcbj5cbiAgPG5nLWNvbnRlbnQ+IDwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
307
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvc3JjL2xpYi9tb2R1bGVzL2Ryb3Bkb3duL2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi9kcm9wZG93bi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLElBQUksbUJBQW1CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXJFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFFdkUsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ2Y7OztHQUdHO0FBUUgsTUFBTSxPQUFPLHdCQUF3QjtJQXVGbkMsWUFDRSxjQUFpQyxFQUNqQyxVQUFzQixFQUNWLGlCQUF3Qzs7UUE3Q3REOzs7OztXQUtHO1FBRUksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQUV4RCxtQkFBYyxHQUFHLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxDQUFDO1FBcUJ4RCxrREFBaUIsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUVyQyw4Q0FBYSxNQUFNLEVBQUM7UUFFcEIsK0NBQWMsQ0FB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NEZENkJhLHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs7MEJBNEZsQyxRQUFROzRDQWxGSixjQUFjO3NCQURwQixLQUFLO2dCQWFLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBa0JLLGNBQWM7c0JBRHhCLEtBQUs7Z0JBZ0JDLFdBQVc7c0JBRGpCLE1BQU07Z0JBc0JBLFNBQVM7c0JBRGYsZUFBZTt1QkFBQyx3QkFBd0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQgYXMgb2JzZXJ2YWJsZUZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lEcm9wZG93bkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNreURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RHJvcGRvd25NZW51Q2hhbmdlIH0gZnJvbSAnLi90eXBlcy9kcm9wZG93bi1tZW51LWNoYW5nZSc7XG5pbXBvcnQgeyBTa3lEcm9wZG93bk1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL2Ryb3Bkb3duLW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5RHJvcGRvd25NZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvZHJvcGRvd24tbWVzc2FnZS10eXBlJztcblxubGV0IG5leHRJZCA9IDA7XG4vKipcbiAqIENyZWF0ZXMgYSBtZW51IHRoYXQgY29udGFpbnMgZHJvcGRvd24gbWVudSBpdGVtcy5cbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kcm9wZG93bi1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEcm9wZG93bk1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogVGhlIEhUTUwgZWxlbWVudCBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGxhYmVsc1xuICAgKiB0aGUgZHJvcGRvd24gbWVudS4gVGhpcyBzZXRzIHRoZSBkcm9wZG93biBtZW51J3MgYGFyaWEtbGFiZWxsZWRieWAgYXR0cmlidXRlIHRvIHByb3ZpZGUgYSB0ZXh0IGVxdWl2YWxlbnQgZm9yXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbGxlZGJ5KS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcmlhTGFiZWxsZWRCeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJJQSByb2xlIGZvciB0aGUgZHJvcGRvd24gbWVudVxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpXG4gICAqIGJ5IGluZGljYXRpbmcgaG93IHRoZSBkcm9wZG93biBtZW51IGZ1bmN0aW9ucyBhbmQgd2hhdCBpdCBjb250cm9scy4gVGhlIGRyb3Bkb3duIGJ1dHRvblxuICAgKiBpbmhlcml0cyB0aGlzIHZhbHVlIHRvIHNldCBpdHMgYGFyaWEtaGFzcG9wdXBgIHByb3BlcnR5LiBGb3IgaW5mb3JtYXRpb25cbiAgICogYWJvdXQgaG93IGFuIEFSSUEgcm9sZSBpbmRpY2F0ZXMgd2hhdCBhbiBpdGVtIHJlcHJlc2VudHMgb24gYSB3ZWIgcGFnZSwgc2VlIHRoZVxuICAgKiBbV0FJLUFSSUEgcm9sZXMgbW9kZWxdKGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvUEYvYXJpYS8jcm9sZXMpLlxuICAgKiBAZGVmYXVsdCBcIm1lbnVcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhcmlhUm9sZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2FyaWFSb2xlID0gdmFsdWUgPz8gJ21lbnUnO1xuICB9XG5cbiAgcHVibGljIGdldCBhcmlhUm9sZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfYXJpYVJvbGU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byB1c2UgdGhlIGJyb3dzZXIncyBuYXRpdmUgZm9jdXMgZnVuY3Rpb24gd2hlbiB1c2VycyBuYXZpZ2F0ZSB0aHJvdWdoIG1lbnVcbiAgICogaXRlbXMgd2l0aCB0aGUga2V5Ym9hcmQuIFRvIGRpc2FibGUgdGhlIG5hdGl2ZSBmb2N1cyBmdW5jdGlvbiwgc2V0IHRoaXMgcHJvcGVydHkgdG8gYGZhbHNlYC5cbiAgICogRm9yIGV4YW1wbGUsIHRvIGxldCB1c2VycyBpbnRlcmFjdCB3aXRoIHRoZSBkcm9wZG93biBtZW51IGJ1dCBrZWVwIHRoZSBrZXlib2FyZCBmb2N1cyBvbiBhXG4gICAqIGRpZmZlcmVudCBlbGVtZW50LCBzZXQgdGhpcyBwcm9wZXJ0eSB0byBgZmFsc2VgLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB1c2VOYXRpdmVGb2N1cyh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI191c2VOYXRpdmVGb2N1cyA9IHZhbHVlID8/IHRydWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVzZU5hdGl2ZUZvY3VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfdXNlTmF0aXZlRm9jdXM7XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgZHJvcGRvd24gbWVudSdzIGFjdGl2ZSBpbmRleCBvciBzZWxlY3RlZCBpdGVtIGNoYW5nZXMuIFRoaXMgZXZlbnQgcHJvdmlkZXMgYW5cbiAgICogb2JzZXJ2YWJsZSB0byBlbWl0IGNoYW5nZXMsIGFuZCB0aGUgcmVzcG9uc2UgaXMgb2ZcbiAgICogdGhlIFNreURyb3Bkb3duTWVudUNoYW5nZSB0eXBlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbWVudUNoYW5nZXMgPSBuZXcgRXZlbnRFbWl0dGVyPFNreURyb3Bkb3duTWVudUNoYW5nZT4oKTtcblxuICBwdWJsaWMgZHJvcGRvd25NZW51SWQgPSBgc2t5LWRyb3Bkb3duLW1lbnUtJHsrK25leHRJZH1gO1xuXG4gIHB1YmxpYyBzZXQgbWVudUluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWUgPCAwKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMubWVudUl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID49IHRoaXMubWVudUl0ZW1zLmxlbmd0aCkge1xuICAgICAgdmFsdWUgPSAwO1xuICAgIH1cblxuICAgIHRoaXMuI19tZW51SW5kZXggPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWVudUluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI19tZW51SW5kZXg7XG4gIH1cblxuICBAQ29udGVudENoaWxkcmVuKFNreURyb3Bkb3duSXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgbWVudUl0ZW1zITogUXVlcnlMaXN0PFNreURyb3Bkb3duSXRlbUNvbXBvbmVudD47XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfYXJpYVJvbGUgPSAnbWVudSc7XG5cbiAgI19tZW51SW5kZXggPSAwO1xuXG4gICNfdXNlTmF0aXZlRm9jdXMgPSB0cnVlO1xuXG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICNlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAjZHJvcGRvd25Db21wb25lbnQ6IFNreURyb3Bkb3duQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIEBPcHRpb25hbCgpIGRyb3Bkb3duQ29tcG9uZW50PzogU2t5RHJvcGRvd25Db21wb25lbnRcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLiNkcm9wZG93bkNvbXBvbmVudCA9IGRyb3Bkb3duQ29tcG9uZW50O1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNkcm9wZG93bkNvbXBvbmVudCkge1xuICAgICAgdGhpcy4jZHJvcGRvd25Db21wb25lbnQubWVudUlkID0gdGhpcy5kcm9wZG93bk1lbnVJZDtcbiAgICAgIHRoaXMuI2Ryb3Bkb3duQ29tcG9uZW50Lm1lbnVBcmlhUm9sZSA9IHRoaXMuYXJpYVJvbGU7XG5cbiAgICAgIHRoaXMuI2Ryb3Bkb3duQ29tcG9uZW50Lm1lc3NhZ2VTdHJlYW1cbiAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5RHJvcGRvd25NZXNzYWdlKSA9PiB7XG4gICAgICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5PcGVuOlxuICAgICAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlOlxuICAgICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFNreURyb3Bkb3duTWVzc2FnZVR5cGUuRm9jdXNGaXJzdEl0ZW06XG4gICAgICAgICAgICAgIHRoaXMuZm9jdXNGaXJzdEl0ZW0oKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c05leHRJdGVtOlxuICAgICAgICAgICAgICB0aGlzLmZvY3VzTmV4dEl0ZW0oKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5Gb2N1c1ByZXZpb3VzSXRlbTpcbiAgICAgICAgICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzSXRlbSgpO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzTGFzdEl0ZW06XG4gICAgICAgICAgICAgIHRoaXMuZm9jdXNMYXN0SXRlbSgpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLm1lbnVDaGFuZ2VzXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoY2hhbmdlOiBTa3lEcm9wZG93bk1lbnVDaGFuZ2UpID0+IHtcbiAgICAgICAgICAvLyBDbG9zZSB0aGUgZHJvcGRvd24gd2hlbiBhIG1lbnUgaXRlbSBpcyBzZWxlY3RlZC5cbiAgICAgICAgICBpZiAoY2hhbmdlLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy4jc2VuZE1lc3NhZ2UoU2t5RHJvcGRvd25NZXNzYWdlVHlwZS5DbG9zZSk7XG4gICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkZvY3VzVHJpZ2dlckJ1dHRvbik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGNoYW5nZS5pdGVtcykge1xuICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBwb3BvdmVyIHN0eWxlIGFuZCBwb3NpdGlvbiB3aGVuZXZlciB0aGUgbnVtYmVyIG9mIGl0ZW1zIGNoYW5nZXMuXG4gICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLlJlcG9zaXRpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gUmVzZXQgZHJvcGRvd24gd2hlbmV2ZXIgdGhlIG1lbnUgaXRlbXMgY2hhbmdlLlxuICAgIHRoaXMubWVudUl0ZW1zLmNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zOiBRdWVyeUxpc3Q8U2t5RHJvcGRvd25JdGVtQ29tcG9uZW50PikgPT4ge1xuICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgIHRoaXMubWVudUNoYW5nZXMuZW1pdCh7XG4gICAgICAgICAgaXRlbXM6IGl0ZW1zLnRvQXJyYXkoKSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuI2FkZEV2ZW50TGlzdGVuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzRmlyc3RJdGVtKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy4jaGFzRm9jdXNhYmxlSXRlbXMoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubWVudUluZGV4ID0gMDtcblxuICAgIGNvbnN0IGZpcnN0SXRlbSA9IHRoaXMuI2dldEl0ZW1CeUluZGV4KHRoaXMubWVudUluZGV4KTtcbiAgICBpZiAoZmlyc3RJdGVtICYmIGZpcnN0SXRlbS5pc0ZvY3VzYWJsZSgpKSB7XG4gICAgICB0aGlzLiNmb2N1c0l0ZW0oZmlyc3RJdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb2N1c05leHRJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvY3VzTGFzdEl0ZW0oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLiNoYXNGb2N1c2FibGVJdGVtcygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tZW51SW5kZXggPSB0aGlzLm1lbnVJdGVtcy5sZW5ndGggLSAxO1xuXG4gICAgY29uc3QgbGFzdEl0ZW0gPSB0aGlzLiNnZXRJdGVtQnlJbmRleCh0aGlzLm1lbnVJbmRleCk7XG4gICAgaWYgKGxhc3RJdGVtICYmIGxhc3RJdGVtLmlzRm9jdXNhYmxlKCkpIHtcbiAgICAgIHRoaXMuI2ZvY3VzSXRlbShsYXN0SXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9jdXNQcmV2aW91c0l0ZW0oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZm9jdXNQcmV2aW91c0l0ZW0oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLiNoYXNGb2N1c2FibGVJdGVtcygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tZW51SW5kZXgtLTtcblxuICAgIGNvbnN0IHByZXZpb3VzSXRlbSA9IHRoaXMuI2dldEl0ZW1CeUluZGV4KHRoaXMubWVudUluZGV4KTtcbiAgICBpZiAocHJldmlvdXNJdGVtICYmIHByZXZpb3VzSXRlbS5pc0ZvY3VzYWJsZSgpKSB7XG4gICAgICB0aGlzLiNmb2N1c0l0ZW0ocHJldmlvdXNJdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzSXRlbSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmb2N1c05leHRJdGVtKCkge1xuICAgIGlmICghdGhpcy4jaGFzRm9jdXNhYmxlSXRlbXMoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubWVudUluZGV4Kys7XG5cbiAgICBjb25zdCBuZXh0SXRlbSA9IHRoaXMuI2dldEl0ZW1CeUluZGV4KHRoaXMubWVudUluZGV4KTtcbiAgICBpZiAobmV4dEl0ZW0gJiYgbmV4dEl0ZW0uaXNGb2N1c2FibGUoKSkge1xuICAgICAgdGhpcy4jZm9jdXNJdGVtKG5leHRJdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb2N1c05leHRJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuI19tZW51SW5kZXggPSAtMTtcbiAgICB0aGlzLiNyZXNldEl0ZW1zQWN0aXZlU3RhdGUoKTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNyZXNldEl0ZW1zQWN0aXZlU3RhdGUoKSB7XG4gICAgdGhpcy5tZW51SXRlbXMuZm9yRWFjaCgoaXRlbTogU2t5RHJvcGRvd25JdGVtQ29tcG9uZW50KSA9PiB7XG4gICAgICBpdGVtLnJlc2V0U3RhdGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gICNmb2N1c0l0ZW0oaXRlbTogU2t5RHJvcGRvd25JdGVtQ29tcG9uZW50KTogdm9pZCB7XG4gICAgdGhpcy4jcmVzZXRJdGVtc0FjdGl2ZVN0YXRlKCk7XG4gICAgaXRlbS5mb2N1c0VsZW1lbnQodGhpcy51c2VOYXRpdmVGb2N1cyk7XG4gICAgdGhpcy5tZW51Q2hhbmdlcy5lbWl0KHtcbiAgICAgIGFjdGl2ZUluZGV4OiB0aGlzLm1lbnVJbmRleCxcbiAgICB9KTtcbiAgfVxuXG4gICNnZXRJdGVtQnlJbmRleChpbmRleDogbnVtYmVyKTogU2t5RHJvcGRvd25JdGVtQ29tcG9uZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5tZW51SXRlbXMuZmluZCgoXywgaSkgPT4gaSA9PT0gaW5kZXgpO1xuICB9XG5cbiAgI3NlbGVjdEl0ZW1CeUV2ZW50VGFyZ2V0KHRhcmdldDogRXZlbnRUYXJnZXQpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLm1lbnVJdGVtcy5maW5kKFxuICAgICAgKGl0ZW06IFNreURyb3Bkb3duSXRlbUNvbXBvbmVudCwgaTogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvdW5kID0gaXRlbS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KTtcblxuICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICB0aGlzLm1lbnVJbmRleCA9IGk7XG4gICAgICAgICAgdGhpcy5tZW51Q2hhbmdlcy5uZXh0KHtcbiAgICAgICAgICAgIGFjdGl2ZUluZGV4OiB0aGlzLm1lbnVJbmRleCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmb3VuZDtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICB0aGlzLm1lbnVDaGFuZ2VzLm5leHQoe1xuICAgICAgICBzZWxlY3RlZEl0ZW0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjc2VuZE1lc3NhZ2UodHlwZTogU2t5RHJvcGRvd25NZXNzYWdlVHlwZSk6IHZvaWQge1xuICAgIHRoaXMuI2Ryb3Bkb3duQ29tcG9uZW50Py5tZXNzYWdlU3RyZWFtPy5uZXh0KHsgdHlwZSB9KTtcbiAgfVxuXG4gICNhZGRFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBjb25zdCBkcm9wZG93bk1lbnVFbGVtZW50ID0gdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudDxNb3VzZUV2ZW50Pihkcm9wZG93bk1lbnVFbGVtZW50LCAnY2xpY2snKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy4jc2VsZWN0SXRlbUJ5RXZlbnRUYXJnZXQoZXZlbnQudGFyZ2V0IGFzIEV2ZW50VGFyZ2V0KTtcbiAgICAgIH0pO1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudDxLZXlib2FyZEV2ZW50Pihkcm9wZG93bk1lbnVFbGVtZW50LCAna2V5ZG93bicpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgIGNhc2UgJ2VzY2FwZSc6XG4gICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgIHRoaXMuI3NlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuRm9jdXNUcmlnZ2VyQnV0dG9uKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnYXJyb3dkb3duJzpcbiAgICAgICAgICBjYXNlICdkb3duJzpcbiAgICAgICAgICAgIHRoaXMuZm9jdXNOZXh0SXRlbSgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAnYXJyb3d1cCc6XG4gICAgICAgICAgY2FzZSAndXAnOlxuICAgICAgICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzSXRlbSgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAndGFiJzpcbiAgICAgICAgICAgIGlmICh0aGlzLiNkcm9wZG93bkNvbXBvbmVudD8uZGlzbWlzc09uQmx1cikge1xuICAgICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuI3NlbmRNZXNzYWdlKFNreURyb3Bkb3duTWVzc2FnZVR5cGUuRm9jdXNUcmlnZ2VyQnV0dG9uKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIG9ic2VydmFibGVGcm9tRXZlbnQoZHJvcGRvd25NZW51RWxlbWVudCwgJ21vdXNlZW50ZXInKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLiNkcm9wZG93bkNvbXBvbmVudCkge1xuICAgICAgICAgIHRoaXMuI2Ryb3Bkb3duQ29tcG9uZW50LmlzTW91c2VFbnRlciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgb2JzZXJ2YWJsZUZyb21FdmVudChkcm9wZG93bk1lbnVFbGVtZW50LCAnbW91c2VsZWF2ZScpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHRoaXMuI2Ryb3Bkb3duQ29tcG9uZW50KSB7XG4gICAgICAgICAgdGhpcy4jZHJvcGRvd25Db21wb25lbnQuaXNNb3VzZUVudGVyID0gZmFsc2U7XG4gICAgICAgICAgLy8gQWxsb3cgdGhlIGRyb3Bkb3duIGNvbXBvbmVudCB0byBzZXQgaXNNb3VzZUVudGVyIGJlZm9yZSBjaGVja2luZyBpZiB0aGUgY2xvc2UgYWN0aW9uXG4gICAgICAgICAgLy8gc2hvdWxkIGJlIHRha2VuLlxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICB0aGlzLiNkcm9wZG93bkNvbXBvbmVudCAmJlxuICAgICAgICAgICAgICB0aGlzLiNkcm9wZG93bkNvbXBvbmVudC50cmlnZ2VyID09PSAnaG92ZXInICYmXG4gICAgICAgICAgICAgIHRoaXMuI2Ryb3Bkb3duQ29tcG9uZW50LmlzTW91c2VFbnRlciA9PT0gZmFsc2VcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICB0aGlzLiNzZW5kTWVzc2FnZShTa3lEcm9wZG93bk1lc3NhZ2VUeXBlLkNsb3NlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAjaGFzRm9jdXNhYmxlSXRlbXMoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZm91bmQgPSB0aGlzLm1lbnVJdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLmlzRm9jdXNhYmxlKCkpO1xuICAgIHJldHVybiBmb3VuZCAhPT0gdW5kZWZpbmVkO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LWRyb3Bkb3duLW1lbnUgc2t5LXNoYWRvdyBza3ktZWxldmF0aW9uLTRcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICBbYXR0ci5yb2xlXT1cImFyaWFSb2xlXCJcbiAgW2lkXT1cImRyb3Bkb3duTWVudUlkXCJcbj5cbiAgPG5nLWNvbnRlbnQ+IDwvbmctY29udGVudD5cbjwvZGl2PlxuIl19