@gravitee/ui-components 3.21.7 → 3.24.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.
- package/package.json +22 -21
- package/src/atoms/gv-autocomplete.js +5 -6
- package/src/atoms/gv-button.js +4 -4
- package/src/atoms/gv-checkbox.js +3 -3
- package/src/atoms/gv-date-picker-calendar.js +4 -5
- package/src/atoms/gv-date-picker-cell.js +4 -4
- package/src/atoms/gv-date-picker.js +4 -5
- package/src/atoms/gv-file-upload.js +4 -5
- package/src/atoms/gv-icon.js +14 -7
- package/src/atoms/gv-image.js +4 -4
- package/src/atoms/gv-input-message.js +2 -3
- package/src/atoms/gv-input.js +3 -3
- package/src/atoms/gv-link.js +6 -6
- package/src/atoms/gv-message.js +3 -3
- package/src/atoms/gv-metric.js +3 -3
- package/src/atoms/gv-relative-time.js +6 -4
- package/src/atoms/gv-select-native.js +288 -0
- package/src/atoms/gv-select.js +10 -8
- package/src/atoms/gv-spinner.js +2 -2
- package/src/atoms/gv-state.js +3 -3
- package/src/atoms/gv-switch.js +4 -4
- package/src/atoms/gv-tag.js +3 -3
- package/src/atoms/gv-text.js +4 -4
- package/src/charts/gv-chart-bar.js +2 -2
- package/src/charts/gv-chart-gauge.js +2 -2
- package/src/charts/gv-chart-histogram.js +2 -2
- package/src/charts/gv-chart-line.js +2 -2
- package/src/charts/gv-chart-map.js +2 -2
- package/src/charts/gv-chart-pie.js +2 -2
- package/src/index.js +2 -1
- package/src/lib/item.js +2 -2
- package/src/lib/studio.js +3 -3
- package/src/mixins/chart-element.js +3 -4
- package/src/mixins/input-element.js +4 -4
- package/src/mixins/item-resource.js +3 -3
- package/src/mixins/with-skeleton-attribute.js +2 -2
- package/src/molecules/gv-card-full.js +7 -6
- package/src/molecules/gv-card-list.js +3 -4
- package/src/molecules/gv-card.js +3 -3
- package/src/molecules/gv-category-list.js +2 -3
- package/src/molecules/gv-category.js +3 -3
- package/src/molecules/gv-code-hint.js +2 -3
- package/src/molecules/gv-code.js +3 -3
- package/src/molecules/gv-confirm.js +2 -3
- package/src/molecules/gv-cron-editor.js +3 -3
- package/src/molecules/gv-dropdown-menu.js +2 -3
- package/src/molecules/gv-expandable.js +3 -3
- package/src/molecules/gv-expression-language.js +2 -3
- package/src/molecules/gv-identity-picture.js +3 -4
- package/src/molecules/gv-list.js +4 -4
- package/src/molecules/gv-metrics.js +4 -4
- package/src/molecules/gv-modal.js +2 -2
- package/src/molecules/gv-nav.js +5 -5
- package/src/molecules/gv-option.js +6 -6
- package/src/molecules/gv-plans.js +5 -6
- package/src/molecules/gv-popover.js +3 -4
- package/src/molecules/gv-promote.js +7 -6
- package/src/molecules/gv-rating-list.js +4 -5
- package/src/molecules/gv-rating.js +4 -4
- package/src/molecules/gv-row-expandable.js +2 -2
- package/src/molecules/gv-row.js +3 -3
- package/src/molecules/gv-stats.js +4 -4
- package/src/molecules/gv-stepper.js +4 -4
- package/src/molecules/gv-table.js +7 -8
- package/src/molecules/gv-tree.js +4 -4
- package/src/organisms/gv-documentation.js +2 -2
- package/src/organisms/gv-header.js +6 -6
- package/src/organisms/gv-http-client.js +2 -2
- package/src/organisms/gv-menu.js +3 -3
- package/src/organisms/gv-newsletter-subscription.js +2 -2
- package/src/organisms/gv-pagination.js +2 -2
- package/src/organisms/gv-properties.js +3 -3
- package/src/organisms/gv-resizable-views.js +3 -4
- package/src/organisms/gv-resources.js +2 -2
- package/src/organisms/gv-schema-form-array.js +5 -5
- package/src/organisms/gv-schema-form-control-object.js +5 -5
- package/src/organisms/gv-schema-form-control.js +11 -11
- package/src/organisms/gv-schema-form.js +8 -7
- package/src/organisms/gv-tabs.js +2 -3
- package/src/organisms/gv-user-menu.js +4 -4
- package/src/organisms/gv-vertical-menu.js +2 -2
- package/src/policy-studio/gv-flow-step.js +3 -3
- package/src/policy-studio/gv-flow.js +5 -5
- package/src/policy-studio/gv-policy-studio-menu.js +4 -4
- package/src/policy-studio/gv-policy-studio.js +5 -5
- package/src/styles/empty.js +2 -2
- package/src/styles/input.js +3 -3
- package/src/styles/link.js +2 -2
- package/src/styles/skeleton.js +2 -2
- package/src/styles/zoom.js +2 -2
- package/src/theme/gv-theme.js +2 -2
- package/wc/gv-select-native.js +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gravitee/ui-components",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.24.0",
|
|
4
4
|
"description": "Gravitee.io UI Components library, based on Web Components",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"date-fns": "^2.24.0",
|
|
57
57
|
"jdenticon": "^3.1.0",
|
|
58
58
|
"jsonschema": "^1.4.0",
|
|
59
|
-
"lit
|
|
59
|
+
"lit": "^2.0.2",
|
|
60
60
|
"messageformat": "^2.3.0",
|
|
61
61
|
"object-path": "^0.11.8",
|
|
62
62
|
"resize-observer-polyfill": "^1.5.1",
|
|
@@ -66,57 +66,58 @@
|
|
|
66
66
|
"@asciidoctor/core": "2.2.5",
|
|
67
67
|
"@babel/core": "7.16.0",
|
|
68
68
|
"@babel/plugin-syntax-dynamic-import": "7.8.3",
|
|
69
|
-
"@babel/preset-env": "7.16.
|
|
70
|
-
"@commitlint/cli": "
|
|
71
|
-
"@commitlint/config-conventional": "
|
|
69
|
+
"@babel/preset-env": "7.16.4",
|
|
70
|
+
"@commitlint/cli": "15.0.0",
|
|
71
|
+
"@commitlint/config-conventional": "15.0.0",
|
|
72
72
|
"@highcharts/map-collection": "1.1.3",
|
|
73
73
|
"@semantic-release/changelog": "6.0.1",
|
|
74
74
|
"@semantic-release/git": "10.0.1",
|
|
75
|
-
"@storybook/addon-a11y": "6.
|
|
76
|
-
"@storybook/addon-essentials": "6.
|
|
77
|
-
"@storybook/components": "6.
|
|
78
|
-
"@storybook/theming": "6.
|
|
79
|
-
"@storybook/web-components": "6.
|
|
75
|
+
"@storybook/addon-a11y": "6.4.8",
|
|
76
|
+
"@storybook/addon-essentials": "6.4.8",
|
|
77
|
+
"@storybook/components": "6.4.8",
|
|
78
|
+
"@storybook/theming": "6.4.8",
|
|
79
|
+
"@storybook/web-components": "6.4.8",
|
|
80
80
|
"asciidoctor": "2.2.5",
|
|
81
|
-
"asciidoctor-highlight.js": "0.
|
|
82
|
-
"babel-jest": "27.
|
|
81
|
+
"asciidoctor-highlight.js": "0.4.0",
|
|
82
|
+
"babel-jest": "27.4.2",
|
|
83
83
|
"babel-loader": "8.2.3",
|
|
84
84
|
"babel-plugin-template-html-minifier": "4.1.0",
|
|
85
85
|
"bundle-phobia-cli": "0.14.13",
|
|
86
|
-
"chromatic": "6.0
|
|
86
|
+
"chromatic": "6.1.0",
|
|
87
87
|
"codemirror-asciidoc": "1.0.4",
|
|
88
88
|
"danger": "10.7.1",
|
|
89
89
|
"del": "6.0.0",
|
|
90
|
-
"eslint": "8.
|
|
90
|
+
"eslint": "8.4.0",
|
|
91
91
|
"eslint-config-prettier": "8.3.0",
|
|
92
92
|
"eslint-config-standard": "16.0.3",
|
|
93
93
|
"eslint-plugin-import": "2.25.3",
|
|
94
94
|
"eslint-plugin-lit": "1.6.1",
|
|
95
95
|
"eslint-plugin-node": "11.1.0",
|
|
96
|
-
"eslint-plugin-promise": "5.
|
|
96
|
+
"eslint-plugin-promise": "5.2.0",
|
|
97
97
|
"eslint-plugin-standard": "4.1.0",
|
|
98
98
|
"esm": "3.2.25",
|
|
99
99
|
"fs-extra": "10.0.0",
|
|
100
100
|
"github-markdown-css": "4.0.0",
|
|
101
101
|
"glob": "7.2.0",
|
|
102
102
|
"gzip-size": "6.0.0",
|
|
103
|
-
"highcharts": "9.3.
|
|
103
|
+
"highcharts": "9.3.2",
|
|
104
104
|
"highlight.js": "11.3.1",
|
|
105
105
|
"html-to-react": "1.4.7",
|
|
106
106
|
"husky": "7.0.4",
|
|
107
107
|
"i18n-extract": "0.6.7",
|
|
108
108
|
"ignore-loader": "0.1.2",
|
|
109
109
|
"is-ci": "3.0.1",
|
|
110
|
-
"jest": "27.3
|
|
110
|
+
"jest": "27.4.3",
|
|
111
111
|
"license-check-and-add": "4.0.3",
|
|
112
112
|
"lint-staged": "11.2.6",
|
|
113
|
+
"lit-html": "2.0.2",
|
|
113
114
|
"markdown-it": "12.2.0",
|
|
114
115
|
"node-static": "0.7.11",
|
|
115
116
|
"nodemon": "2.0.15",
|
|
116
117
|
"pascal-case": "3.1.2",
|
|
117
|
-
"prettier": "2.
|
|
118
|
-
"semantic-release": "18.0.
|
|
119
|
-
"sort-package-json": "1.
|
|
118
|
+
"prettier": "2.5.1",
|
|
119
|
+
"semantic-release": "18.0.1",
|
|
120
|
+
"sort-package-json": "1.53.1",
|
|
120
121
|
"svgo": "2.8.0",
|
|
121
122
|
"svgstore": "3.0.1",
|
|
122
123
|
"text-table": "0.2.0",
|
|
@@ -129,7 +130,7 @@
|
|
|
129
130
|
"@asciidoctor/core": "^2.2.4",
|
|
130
131
|
"@highcharts/map-collection": "^1.0.0",
|
|
131
132
|
"asciidoctor": "^2.2.4",
|
|
132
|
-
"asciidoctor-highlight.js": "^0.3.0",
|
|
133
|
+
"asciidoctor-highlight.js": "^0.3.0 || ^0.4.0",
|
|
133
134
|
"codemirror-asciidoc": "^1.0.4",
|
|
134
135
|
"highcharts": "^8.0.0 || ^9.0.0",
|
|
135
136
|
"highlight.js": "^10.7.0 || ^11.1.0"
|
|
@@ -13,12 +13,11 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { css, LitElement, unsafeCSS } from 'lit
|
|
17
|
-
import { html } from 'lit-html';
|
|
16
|
+
import { css, LitElement, unsafeCSS, html } from 'lit';
|
|
18
17
|
import { dispatchCustomEvent } from '../lib/events';
|
|
19
|
-
import { repeat } from 'lit
|
|
20
|
-
import { classMap } from 'lit
|
|
21
|
-
import { styleMap } from 'lit
|
|
18
|
+
import { repeat } from 'lit/directives/repeat';
|
|
19
|
+
import { classMap } from 'lit/directives/class-map';
|
|
20
|
+
import { styleMap } from 'lit/directives/style-map';
|
|
22
21
|
const ENTER_KEY_CODE = 13;
|
|
23
22
|
const DOWN_ARROW_KEY_CODE = 40;
|
|
24
23
|
const UP_ARROW_KEY_CODE = 38;
|
|
@@ -435,4 +434,4 @@ export class GvAutocomplete extends LitElement {
|
|
|
435
434
|
|
|
436
435
|
}
|
|
437
436
|
window.customElements.define('gv-autocomplete', GvAutocomplete);
|
|
438
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWF1dG9jb21wbGV0ZS5qcyJdLCJuYW1lcyI6WyJjc3MiLCJMaXRFbGVtZW50IiwidW5zYWZlQ1NTIiwiaHRtbCIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJyZXBlYXQiLCJjbGFzc01hcCIsInN0eWxlTWFwIiwiRU5URVJfS0VZX0NPREUiLCJET1dOX0FSUk9XX0tFWV9DT0RFIiwiVVBfQVJST1dfS0VZX0NPREUiLCJFU0NBUEVfS0VZX0NPREUiLCJHdkF1dG9jb21wbGV0ZSIsInByb3BlcnRpZXMiLCJvcHRpb25zIiwidHlwZSIsIkFycmF5IiwicmVmbGVjdCIsInZhbHVlIiwiU3RyaW5nIiwic3R5bGUiLCJtaW5DaGFycyIsIk51bWJlciIsImZpbHRlciIsIkJvb2xlYW4iLCJGdW5jdGlvbiIsInNpemUiLCJfb3B0aW9ucyIsImF0dHJpYnV0ZSIsIl9mb3JjZU9wZW4iLCJzdHlsZXMiLCJjb25zdHJ1Y3RvciIsIl9jYW5kaWRhdGVJbmRleCIsIl9oYW5kbGVPcGVuZWQiLCJfb25PcGVuZWQiLCJiaW5kIiwicmVzZXQiLCJfZ2V0SW5wdXQiLCJfZ2V0RmlsdGVyZWRPcHRpb25zIiwibGVuZ3RoIiwib3B0aW9uIiwiaW5kZXhPZiIsIl9vbklucHV0IiwiZXZlbnQiLCJjbGVhclRpbWVvdXQiLCJfY2FuY2VsbGFibGVUaW1lb3V0IiwidGFyZ2V0IiwidHJpbSIsInNldFRpbWVvdXQiLCJfb3BlbiIsIl9vblNlbGVjdCIsImZpbmQiLCJfY2xvc2UiLCJfb25Nb3VzZU92ZXIiLCJzaGFkb3dSb290IiwiZmlyc3RFbGVtZW50Q2hpbGQiLCJjbGFzc0xpc3QiLCJyZW1vdmUiLCJfY2xlYXJIb3ZlciIsIl9zaG91bGRTZWxlY3QiLCJfb25Nb3VzZUxlYXZlIiwiX3JlbmRlck9wdGlvbiIsImVsZW1lbnQiLCJpbm5lckhUTUwiLCJ3cmFwcGVyIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiX3JlbmRlclN0eWxlIiwiX2hhc05vT3B0aW9uU2xvdCIsIm5vZGUiLCJjaGlsZE5vZGVzIiwic2xvdCIsInJlbmRlciIsIm9wZW4iLCJpbnB1dCIsInRvcCIsIm9mZnNldEhlaWdodCIsImNsYXNzZXMiLCJpbmRleCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJmb3JFYWNoIiwibyIsIl91cGRhdGVIb3ZlciIsImFkZCIsImNhbmRpZGF0ZSIsInF1ZXJ5U2VsZWN0b3IiLCJsZWZ0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiY29udGFpbmVyIiwic2Nyb2xsTGVmdCIsInNjcm9sbFRvcCIsInNjcm9sbFRvIiwiX29uS2V5ZG93biIsImUiLCJrZXlDb2RlIiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJnZXRBdHRyaWJ1dGUiLCJfb25Gb2N1cyIsIl9vbkJsdXIiLCJfb25DbGVhciIsInVwZGF0ZWQiLCJmaXJzdE9wdGlvbiIsIm1heEhlaWdodCIsImNsaWVudEhlaWdodCIsInBhcnNlSW50IiwiZmlyc3RVcGRhdGVkIiwiX2hhbmRsZXJzIiwiZm9jdXMiLCJibHVyIiwia2V5ZG93biIsImNsZWFyIiwiYWRkRXZlbnRMaXN0ZW5lciIsInRhZ05hbWUiLCJ0b0xvd2VyQ2FzZSIsInNldEF0dHJpYnV0ZSIsImRldGFpbCIsImNvbm5lY3RlZENhbGxiYWNrIiwid2luZG93IiwiZGlzY29ubmVjdGVkQ2FsbGJhY2siLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLEdBQVQsRUFBY0MsVUFBZCxFQUEwQkMsU0FBMUIsUUFBMkMsYUFBM0M7QUFDQSxTQUFTQyxJQUFULFFBQXFCLFVBQXJCO0FBQ0EsU0FBU0MsbUJBQVQsUUFBb0MsZUFBcEM7QUFDQSxTQUFTQyxN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QkFBaUIsR0FBRztBQUNsQixVQUFNQSxpQkFBTjtBQUNBQyxJQUFBQSxNQUFNLENBQUNOLGdCQUFQLENBQXdCLHdCQUF4QixFQUFrRCxLQUFLL0UsYUFBdkQ7QUFDRDs7QUFFRHNGLEVBQUFBLG9CQUFvQixHQUFHO0FBQ3JCLFFBQUksS0FBS1osU0FBVCxFQUFvQjtBQUNsQixXQUFLckQsVUFBTCxDQUFnQmtFLG1CQUFoQixDQUFvQyxPQUFwQyxFQUE2QyxLQUFLYixTQUFMLENBQWVqQyxLQUE1RDtBQUNBLFdBQUtwQixVQUFMLENBQWdCa0UsbUJBQWhCLENBQW9DLFNBQXBDLEVBQStDLEtBQUtiLFNBQUwsQ0FBZUcsT0FBOUQ7O0FBQ0EsWUFBTXBDLEtBQUssR0FBRyxLQUFLckMsU0FBTCxFQUFkOztBQUNBcUMsTUFBQUEsS0FBSyxDQUFDOEMsbUJBQU4sQ0FBMEIsT0FBMUIsRUFBbUMsS0FBS2IsU0FBTCxDQUFlQyxLQUFsRDtBQUNBbEMsTUFBQUEsS0FBSyxDQUFDOEMsbUJBQU4sQ0FBMEIsTUFBMUIsRUFBa0MsS0FBS2IsU0FBTCxDQUFlRSxJQUFqRDtBQUNBbkMsTUFBQUEsS0FBSyxDQUFDOEMsbUJBQU4sQ0FBMEIsZ0JBQTFCLEVBQTRDLEtBQUtiLFNBQUwsQ0FBZUksS0FBM0Q7QUFDRDs7QUFDRE8sSUFBQUEsTUFBTSxDQUFDRSxtQkFBUCxDQUEyQixzQkFBM0IsRUFBbUQsS0FBS3ZGLGFBQXhEO0FBQ0EsVUFBTXNGLG9CQUFOO0FBQ0Q7O0FBblo0QztBQXNaL0NELE1BQU0sQ0FBQ0csY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsaUJBQTdCLEVBQWdEOUcsY0FBaEQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY3NzLCBMaXRFbGVtZW50LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQtZWxlbWVudCc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0LWh0bWwnO1xuaW1wb3J0IHsgZGlzcGF0Y2hDdXN0b21FdmVudCB9IGZyb20gJy4uL2xpYi9ldmVudHMnO1xuaW1wb3J0IHsgcmVwZWF0IH0gZnJvbSAnbGl0LWh0bWwvZGlyZWN0aXZlcy9yZXBlYXQnO1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQtaHRtbC9kaXJlY3RpdmVzL2NsYXNzLW1hcCc7XG5pbXBvcnQgeyBzdHlsZU1hcCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvc3R5bGUtbWFwJztcblxuY29uc3QgRU5URVJfS0VZX0NPREUgPSAxMztcbmNvbnN0IERPV05fQVJST1dfS0VZX0NPREUgPSA0MDtcbmNvbnN0IFVQX0FSUk9XX0tFWV9DT0RFID0gMzg7XG5jb25zdCBFU0NBUEVfS0VZX0NPREUgPSAyNztcblxuLyoqXG4gKiBBdXRvY29tcGxldGUgaW5wdXQgd3JhcHBlclxuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBmaXJlcyBndi1hdXRvY29tcGxldGU6c2VhcmNoIC0gQ3VzdG9tIGV2ZW50IHdoZW4gdXNlciBzZWFyY2ggdmFsdWVcbiAqIEBmaXJlcyBndi1hdXRvY29tcGxldGU6c2VsZWN0IC0gQ3VzdG9tIGV2ZW50IHdoZW4gdXNlciBzZWxlY3QgdmFsdWVcbiAqIEBmaXJlcyBndi1hdXRvY29tcGxldGU6b3BlbmVkIC0gQ3VzdG9tIGV2ZW50IGFmdGVyIG9wZW5lZCBhdXRvY29tcGxldGVcbiAqXG4gKiBAc2xvdCBzdHlsZSAtIFRoZSBvcHRpb25zIHN0eWxlXG4gKiBAc2xvdCBpbnB1dCAtIFRoZSBpbnB1dCB0byB3cmFwXG4gKiBAc2xvdCBub09wdGlvbiAtIFdoYXQgc2hvdWxkIGJlIHNob3duIHdoZW4gdGhlcmUgaXMgbm8gb3B0aW9ucyB0byBkaXNwbGF5XG4gKlxuICogQGF0dHIge0FycmF5Ljx7dmFsdWU6IFN0cmluZywgaW5uZXJIVE1MPzogU3RyaW5nfT59IG9wdGlvbnMgLSB0aGUgb3B0aW9ucyBmb3Igc2VhcmNoXG4gKiBAYXR0ciB7U3RyaW5nfSB2YWx1ZSAtIHNlbGVjdGVkIHZhbHVlXG4gKiBAYXR0ciB7U3RyaW5nfSBzdHlsZSAtIGNzcyBpZiB5b3Ugd2FudCBjdXN0b20gb3B0aW9ucyByZW5kZXJlZFxuICogQGF0dHIge051bWJlcn0gbWluQ2hhcnMgLSBtaW5pbXVtIG9mIGNoYXJhY3RlcnMgZm9yIGxhdW5jaCBzZWFyY2ggYW5kIHNob3cgcmVzdWx0c1xuICogQGF0dHIge051bWJlcn0gc2l6ZSAtIHJlc3VsdHMgc2l6ZSB0byBzaG93IGJlZm9yZSB1c2VyIG11c3Qgc2Nyb2xsXG4gKiBAYXR0ciB7Qm9vbGVhbnxGdW5jdGlvbih2YWx1ZSxvcHRpb24pfSBmaWx0ZXIgLSBJZiB0cnVlLCBmaWx0ZXIgb3B0aW9ucyBieSBpbnB1dCwgaWYgZnVuY3Rpb24sIGZpbHRlciBvcHRpb25zIGFnYWluc3QgaXQuIFRoZSBmdW5jdGlvbiB3aWxsXG4gKiByZWNlaXZlIHR3byBhcmd1bWVudHMsIGlucHV0VmFsdWUgYW5kIG9wdGlvbiwgaWYgdGhlIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSwgdGhlIG9wdGlvbiB3aWxsIGJlIGluY2x1ZGVkXG4gKiBpbiB0aGUgZmlsdGVyZWQgc2V0OyBPdGhlcndpc2UsIGl0IHdpbGwgYmUgZXhjbHVkZWQuXG4gKiB0aGUgb3B0aW9uIHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIGZpbHRlcmVkIHNldDsgT3RoZXJ3aXNlLCBpdCB3aWxsIGJlIGV4Y2x1ZGVkLlxuICpcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtYXV0b2NvbXBsZXRlLWhvdmVyLS1iZ2M9dmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvci1saWdodGVyLCAjZmFmYWZhKV0gLSBIb3ZlciBiYWNrZ3JvdW5kIGNvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWF1dG9jb21wbGV0ZS0tYmdjPXZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlc3QsICNmZmZmZmYpXSAtIEJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtYXV0b2NvbXBsZXRlLS1jPXZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3IsICMyNjI2MjYpXSAtIENvbG9yXG4gKi9cbmV4cG9ydCBjbGFzcyBHdkF1dG9jb21wbGV0ZSBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9wdGlvbnM6IHsgdHlwZTogQXJyYXksIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIHZhbHVlOiB7IHR5cGU6IFN0cmluZywgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgc3R5bGU6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBtaW5DaGFyczogeyB0eXBlOiBOdW1iZXIgfSxcbiAgICAgIGZpbHRlcjogeyB0eXBlOiBCb29sZWFuIHwgRnVuY3Rpb24gfSxcbiAgICAgIHNpemU6IHsgdHlwZTogTnVtYmVyIH0sXG4gICAgICBfb3B0aW9uczogeyB0eXBlOiBBcnJheSwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgX2ZvcmNlT3BlbjogeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiBbXG4gICAgICAvLyBsYW5ndWFnZT1DU1NcbiAgICAgIGNzc2BcbiAgICAgICAgOmhvc3Qge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgOjpzbG90dGVkKCopIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWluZXIgLm9wdGlvbnMub3BlbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiAtd2Via2l0LXRyYW5zbGF0ZVkoMCUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9wdGlvbnMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LWF1dG9jb21wbGV0ZS0tYmdjLCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWxpZ2h0ZXN0LCAjZmZmZmZmKSk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWd2LWF1dG9jb21wbGV0ZS0tYywgdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvciwgIzI2MjYyNikpO1xuICAgICAgICAgIG1hcmdpbjogMC4ycmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvciwgI2Y1ZjVmNSksIDAgMXB4IDNweCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNiZmJmYmYpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogLXdlYmtpdC10cmFuc2xhdGVZKC0yZW0pO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMmVtKTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDE1MG1zIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9wdGlvbiB7XG4gICAgICAgICAgcGFkZGluZzogMC4ycmVtO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9wdGlvbi5tYXRjaCB+IC5vcHRpb24ubWF0Y2gge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9wdGlvbjpob3ZlcixcbiAgICAgICAgLm9wdGlvbi5ob3ZlcixcbiAgICAgICAgLmtleWJvYXJkIC5vcHRpb24uaG92ZXI6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LWF1dG9jb21wbGV0ZS1ob3Zlci0tYmdjLCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWxpZ2h0ZXIsICNmYWZhZmEpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rZXlib2FyZCAub3B0aW9uOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaG93IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5oaWRlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICBgLFxuICAgIF07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX29wdGlvbnMgPSBbXTtcbiAgICB0aGlzLl9jYW5kaWRhdGVJbmRleCA9IC0xO1xuICAgIHRoaXMubWluQ2hhcnMgPSAxO1xuICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB0aGlzLnN0eWxlID0gJyc7XG4gICAgdGhpcy5maWx0ZXIgPSBmYWxzZTtcbiAgICB0aGlzLnNpemUgPSA1O1xuICAgIHRoaXMuX2hhbmRsZU9wZW5lZCA9IHRoaXMuX29uT3BlbmVkLmJpbmQodGhpcyk7XG4gIH1cblxuICBzZXQgb3B0aW9ucyhvcHRpb25zKSB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cblxuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuXG4gIHJlc2V0KCkge1xuICAgIHRoaXMuX2dldElucHV0KCkucmVzZXQoKTtcbiAgICB0aGlzLl9vcHRpb25zID0gW107XG4gIH1cblxuICBfZ2V0RmlsdGVyZWRPcHRpb25zKCkge1xuICAgIGlmICh0aGlzLmZpbHRlciAmJiB0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoID49IHRoaXMubWluQ2hhcnMgJiYgdGhpcy52YWx1ZSAhPT0gJyonKSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuZmlsdGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zLmZpbHRlcigob3B0aW9uKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKHRoaXMudmFsdWUsIG9wdGlvbik7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnMuZmlsdGVyKChvcHRpb24pID0+IHtcbiAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlLmluZGV4T2YodGhpcy52YWx1ZSkgIT09IC0xO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gICAgfVxuICB9XG5cbiAgX29uSW5wdXQoZXZlbnQpIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fY2FuY2VsbGFibGVUaW1lb3V0KTtcbiAgICB0aGlzLnZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgIGlmICh0aGlzLnZhbHVlICE9IG51bGwgJiYgdGhpcy52YWx1ZS50cmltKCkubGVuZ3RoID49IHRoaXMubWluQ2hhcnMpIHtcbiAgICAgIHRoaXMuX2NhbmNlbGxhYmxlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLl9vcGVuKCk7XG4gICAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ3NlYXJjaCcsIHRoaXMudmFsdWUpO1xuICAgICAgfSwgMjAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcHRpb25zID0gW107XG4gICAgfVxuICB9XG5cbiAgX29uU2VsZWN0KHZhbHVlLCBvcHRpb24pIHtcbiAgICBpZiAob3B0aW9uID09IG51bGwpIHtcbiAgICAgIG9wdGlvbiA9IHRoaXMuX29wdGlvbnMuZmluZCgob3B0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiBvcHRpb24udmFsdWUgPT09IHZhbHVlO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMudmFsdWUgPSB0aGlzLl9nZXRJbnB1dCgpLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5fY2xvc2UoKTtcbiAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdzZWxlY3QnLCBvcHRpb24pO1xuICB9XG5cbiAgX29uTW91c2VPdmVyKCkge1xuICAgIHRoaXMuc2hhZG93Um9vdC5maXJzdEVsZW1lbnRDaGlsZC5jbGFzc0xpc3QucmVtb3ZlKCdrZXlib2FyZCcpO1xuICAgIHRoaXMuX2NsZWFySG92ZXIoKTtcbiAgICB0aGlzLl9zaG91bGRTZWxlY3QgPSB0cnVlO1xuICB9XG5cbiAgX29uTW91c2VMZWF2ZSgpIHtcbiAgICB0aGlzLl9zaG91bGRTZWxlY3QgPSBmYWxzZTtcbiAgfVxuXG4gIF9yZW5kZXJPcHRpb24ob3B0aW9uKSB7XG4gICAgaWYgKG9wdGlvbi5lbGVtZW50KSB7XG4gICAgICByZXR1cm4gb3B0aW9uLmVsZW1lbnQ7XG4gICAgfVxuICAgIGlmIChvcHRpb24uaW5uZXJIVE1MKSB7XG4gICAgICBjb25zdCB3cmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB3cmFwcGVyLmlubmVySFRNTCA9IG9wdGlvbi5pbm5lckhUTUw7XG4gICAgICByZXR1cm4gd3JhcHBlcjtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcbiAgfVxuXG4gIF9yZW5kZXJTdHlsZSgpIHtcbiAgICBpZiAodGhpcy5zdHlsZSkge1xuICAgICAgY29uc3Qgd3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgd3JhcHBlci5pbm5lckhUTUwgPSB1bnNhZmVDU1ModGhpcy5zdHlsZSk7XG4gICAgICByZXR1cm4gd3JhcHBlcjtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgX2hhc05vT3B0aW9uU2xvdCgpIHtcbiAgICBmb3IgKGNvbnN0IG5vZGUgb2YgdGhpcy5jaGlsZE5vZGVzKSB7XG4gICAgICBpZiAobm9kZS5zbG90ID09PSAnbm9PcHRpb24nKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuX2dldEZpbHRlcmVkT3B0aW9ucygpO1xuICAgIGxldCBvcGVuID0gZmFsc2U7XG5cbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCA+IDAgJiYgdGhpcy5fZm9yY2VPcGVuKSB7XG4gICAgICBvcGVuID0gdGhpcy5taW5DaGFycyA9PT0gMCB8fCB0aGlzLnZhbHVlLnRyaW0oKS5sZW5ndGggPj0gdGhpcy5taW5DaGFycztcbiAgICB9XG5cbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuX2dldElucHV0KCk7XG4gICAgbGV0IHRvcCA9IDA7XG4gICAgaWYgKGlucHV0ICE9IG51bGwpIHtcbiAgICAgIHRvcCA9IGlucHV0Lm9mZnNldEhlaWdodDtcbiAgICB9XG5cbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgb3B0aW9uczogdHJ1ZSxcbiAgICAgIG9wZW4sXG4gICAgfTtcblxuICAgIHJldHVybiBodG1sYCA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAke3RoaXMuX3JlbmRlclN0eWxlKCl9XG4gICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAke3RoaXMuX2hhc05vT3B0aW9uU2xvdCgpICYmIHRoaXMuX2ZvcmNlT3BlblxuICAgICAgICA/IGh0bWxgPGRpdiBjbGFzcz1cIm9wdGlvbnMgb3BlblwiIHN0eWxlPVwiJHtzdHlsZU1hcCh7IHRvcDogYCR7dG9wfXB4YCB9KX1cIj5cbiAgICAgICAgICAgIDxzbG90IG5hbWU9XCJub09wdGlvblwiIGNsYXNzPVwiJHshb3B0aW9ucyB8fCBvcHRpb25zLmxlbmd0aCA9PT0gMCA/ICdzaG93JyA6ICdoaWRlJ31cIj48L3Nsb3Q+XG4gICAgICAgICAgPC9kaXY+YFxuICAgICAgICA6ICcnfVxuICAgICAgPGRpdiBjbGFzcz1cIiR7Y2xhc3NNYXAoY2xhc3Nlcyl9XCIgQG1vdXNlbGVhdmU9XCIke3RoaXMuX29uTW91c2VMZWF2ZX1cIiBzdHlsZT1cIiR7c3R5bGVNYXAoeyB0b3A6IGAke3RvcH1weGAgfSl9XCI+XG4gICAgICAgICR7cmVwZWF0KFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uLFxuICAgICAgICAgIChvcHRpb24sIGluZGV4KSA9PiBodG1sYFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cIiR7Y2xhc3NNYXAoeyBvcHRpb246IHRydWUgfSl9XCJcbiAgICAgICAgICAgICAgZGF0YS12YWx1ZT1cIiR7b3B0aW9uLnZhbHVlfVwiXG4gICAgICAgICAgICAgIEBtb3VzZW92ZXI9XCIkeygpID0+IHRoaXMuX29uTW91c2VPdmVyKG9wdGlvbiwgaW5kZXgpfVwiXG4gICAgICAgICAgICAgIEBjbGljaz1cIiR7KCkgPT4gdGhpcy5fb25TZWxlY3Qob3B0aW9uLnZhbHVlLCBvcHRpb24pfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyT3B0aW9uKG9wdGlvbil9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgLFxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+YDtcbiAgfVxuXG4gIF9jbGVhckhvdmVyKCkge1xuICAgIHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCcub3B0aW9uLmhvdmVyJykuZm9yRWFjaCgobykgPT4gby5jbGFzc0xpc3QucmVtb3ZlKCdob3ZlcicpKTtcbiAgfVxuXG4gIF91cGRhdGVIb3ZlcigpIHtcbiAgICB0aGlzLl9jbGVhckhvdmVyKCk7XG4gICAgaWYgKHRoaXMuX2NhbmRpZGF0ZUluZGV4ID4gLTEpIHtcbiAgICAgIHRoaXMuc2hhZG93Um9vdC5maXJzdEVsZW1lbnRDaGlsZC5jbGFzc0xpc3QuYWRkKCdrZXlib2FyZCcpO1xuICAgICAgY29uc3QgY2FuZGlkYXRlID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5vcHRpb24nKVt0aGlzLl9jYW5kaWRhdGVJbmRleF07XG4gICAgICBpZiAoY2FuZGlkYXRlKSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLm9wdGlvbnMnKTtcbiAgICAgICAgY29uc3QgeyB0b3AsIGxlZnQgfSA9IGNhbmRpZGF0ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gb3B0aW9ucy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsTGVmdCA9IGxlZnQgLSBjb250YWluZXIubGVmdDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gdG9wIC0gY29udGFpbmVyLnRvcDtcbiAgICAgICAgb3B0aW9ucy5zY3JvbGxUbyhzY3JvbGxMZWZ0LCBzY3JvbGxUb3ApO1xuICAgICAgICBjYW5kaWRhdGUuY2xhc3NMaXN0LmFkZCgnaG92ZXInKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBfb25LZXlkb3duKGUpIHtcbiAgICBzd2l0Y2ggKGUua2V5Q29kZSkge1xuICAgICAgY2FzZSBFTlRFUl9LRVlfQ09ERToge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5vcHRpb24nKTtcbiAgICAgICAgY29uc3QgY2FuZGlkYXRlID0gb3B0aW9uc1t0aGlzLl9jYW5kaWRhdGVJbmRleF07XG4gICAgICAgIGlmIChjYW5kaWRhdGUpIHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICB0aGlzLl9jYW5kaWRhdGVJbmRleCA9IC0xO1xuICAgICAgICAgIHRoaXMuX29uU2VsZWN0KGNhbmRpZGF0ZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtdmFsdWUnKSk7XG4gICAgICAgICAgdGhpcy5fdXBkYXRlSG92ZXIoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jbG9zZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBET1dOX0FSUk9XX0tFWV9DT0RFOiB7XG4gICAgICAgIGlmICh0aGlzLl9jYW5kaWRhdGVJbmRleCA8IHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCcub3B0aW9uJykubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIHRoaXMuX2NhbmRpZGF0ZUluZGV4ICs9IDE7XG4gICAgICAgICAgdGhpcy5fdXBkYXRlSG92ZXIoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBVUF9BUlJPV19LRVlfQ09ERToge1xuICAgICAgICBpZiAodGhpcy5fY2FuZGlkYXRlSW5kZXggPiAwKSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgdGhpcy5fY2FuZGlkYXRlSW5kZXggLT0gMTtcbiAgICAgICAgICB0aGlzLl91cGRhdGVIb3ZlcigpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIEVTQ0FQRV9LRVlfQ09ERToge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuX2NhbmRpZGF0ZUluZGV4ID0gLTE7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUhvdmVyKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuX2dldElucHV0KCkudmFsdWU7XG4gICAgICAgIHRoaXMuX2NhbmRpZGF0ZUluZGV4ID0gLTE7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUhvdmVyKCk7XG4gICAgfVxuICB9XG5cbiAgX29wZW4oKSB7XG4gICAgdGhpcy5fZm9yY2VPcGVuID0gdHJ1ZTtcbiAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdvcGVuZWQnLCB7IHRhcmdldDogdGhpcyB9KTtcbiAgfVxuXG4gIF9jbG9zZSgpIHtcbiAgICB0aGlzLl9mb3JjZU9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIF9vbkZvY3VzKCkge1xuICAgIHRoaXMuX29wZW4oKTtcbiAgfVxuXG4gIF9vbkJsdXIoKSB7XG4gICAgLy8gSW1wb3J0YW50IHdoZW4gdXNpbmcgY3VzdG9tIEhUTUwgaW4gb3B0aW9uc1xuICAgIGlmICh0aGlzLl9zaG91bGRTZWxlY3QgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLl9jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIF9nZXRJbnB1dCgpIHtcbiAgICBmb3IgKGNvbnN0IG5vZGUgb2YgdGhpcy5jaGlsZE5vZGVzKSB7XG4gICAgICBpZiAobm9kZS5zbG90ID09PSAnaW5wdXQnKSB7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5maXJzdEVsZW1lbnRDaGlsZDtcbiAgfVxuXG4gIF9vbkNsZWFyKGV2ZW50KSB7XG4gICAgdGhpcy52YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgfVxuXG4gIHVwZGF0ZWQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBmaXJzdE9wdGlvbiA9IHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCcub3B0aW9uJyk7XG4gICAgICBpZiAoZmlyc3RPcHRpb24pIHtcbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gZmlyc3RPcHRpb24uY2xpZW50SGVpZ2h0ICogcGFyc2VJbnQodGhpcy5zaXplLCAxMCk7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLm9wdGlvbnMnKTtcbiAgICAgICAgb3B0aW9ucy5zdHlsZS5tYXhIZWlnaHQgPSBgJHttYXhIZWlnaHR9cHhgO1xuICAgICAgICBvcHRpb25zLnNjcm9sbFRvKDAsIDApO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG5cbiAgZmlyc3RVcGRhdGVkKCkge1xuICAgIHRoaXMuX2hhbmRsZXJzID0ge1xuICAgICAgaW5wdXQ6IHRoaXMuX29uSW5wdXQuYmluZCh0aGlzKSxcbiAgICAgIGZvY3VzOiB0aGlzLl9vbkZvY3VzLmJpbmQodGhpcyksXG4gICAgICBibHVyOiB0aGlzLl9vbkJsdXIuYmluZCh0aGlzKSxcbiAgICAgIGtleWRvd246IHRoaXMuX29uS2V5ZG93bi5iaW5kKHRoaXMpLFxuICAgICAgY2xlYXI6IHRoaXMuX29uQ2xlYXIuYmluZCh0aGlzKSxcbiAgICB9O1xuICAgIHRoaXMuc2hhZG93Um9vdC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIHRoaXMuX2hhbmRsZXJzLmlucHV0KTtcbiAgICB0aGlzLnNoYWRvd1Jvb3QuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX2hhbmRsZXJzLmtleWRvd24pO1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5fZ2V0SW5wdXQoKTtcbiAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIHRoaXMuX2hhbmRsZXJzLmZvY3VzKTtcbiAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgdGhpcy5faGFuZGxlcnMuYmx1cik7XG4gICAgaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignZ3YtaW5wdXQ6Y2xlYXInLCB0aGlzLl9oYW5kbGVycy5jbGVhcik7XG4gICAgaWYgKGlucHV0LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2d2LWlucHV0Jykge1xuICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCduby1zdWJtaXQnLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBfb25PcGVuZWQoeyBkZXRhaWwgfSkge1xuICAgIGlmIChkZXRhaWwudGFyZ2V0ICE9PSB0aGlzKSB7XG4gICAgICB0aGlzLl9jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2d2LWF1dG9jb21wbGV0ZTpvcGVuZWQnLCB0aGlzLl9oYW5kbGVPcGVuZWQpO1xuICB9XG5cbiAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgaWYgKHRoaXMuX2hhbmRsZXJzKSB7XG4gICAgICB0aGlzLnNoYWRvd1Jvb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignaW5wdXQnLCB0aGlzLl9oYW5kbGVycy5pbnB1dCk7XG4gICAgICB0aGlzLnNoYWRvd1Jvb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX2hhbmRsZXJzLmtleWRvd24pO1xuICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLl9nZXRJbnB1dCgpO1xuICAgICAgaW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXMnLCB0aGlzLl9oYW5kbGVycy5mb2N1cyk7XG4gICAgICBpbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKCdibHVyJywgdGhpcy5faGFuZGxlcnMuYmx1cik7XG4gICAgICBpbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKCdndi1pbnB1dDpjbGVhcicsIHRoaXMuX2hhbmRsZXJzLmNsZWFyKTtcbiAgICB9XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2d2LWF1dG9jb21wbGV0ZTpvcGVuJywgdGhpcy5faGFuZGxlT3BlbmVkKTtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LWF1dG9jb21wbGV0ZScsIEd2QXV0b2NvbXBsZXRlKTtcbiJdfQ==
|
|
437
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWF1dG9jb21wbGV0ZS5qcyJdLCJuYW1lcyI6WyJjc3MiLCJMaXRFbGVtZW50IiwidW5zYWZlQ1NTIiwiaHRtbCIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJyZXBlYXQiLCJjbGFzc01hcCIsInN0eWxlTWFwIiwiRU5URVJfS0VZX0NPREUiLCJET1dOX0FSUk9XX0tFWV9DT0RFIiwiVVBfQVJST1dfS0VZX0NPREUiLCJFU0NBUEVfS0VZX0NPREUiLCJHdkF1dG9jb21wbGV0ZSIsInByb3BlcnRpZXMiLCJvcHRpb25zIiwidHlwZSIsIkFycmF5IiwicmVmbGVjdCIsInZhbHVlIiwiU3RyaW5nIiwic3R5bGUiLCJtaW5DaGFycyIsIk51bWJlciIsImZpbHRlciIsIkJvb2xlYW4iLCJGdW5jdGlvbiIsInNpemUiLCJfb3B0aW9ucyIsImF0dHJpYnV0ZSIsIl9mb3JjZU9wZW4iLCJzdHlsZXMiLCJjb25zdHJ1Y3RvciIsIl9jYW5kaWRhdGVJbmRleCIsIl9oYW5kbGVPcGVuZWQiLCJfb25PcGVuZWQiLCJiaW5kIiwicmVzZXQiLCJfZ2V0SW5wdXQiLCJfZ2V0RmlsdGVyZWRPcHRpb25zIiwibGVuZ3RoIiwib3B0aW9uIiwiaW5kZXhPZiIsIl9vbklucHV0IiwiZXZlbnQiLCJjbGVhclRpbWVvdXQiLCJfY2FuY2VsbGFibGVUaW1lb3V0IiwidGFyZ2V0IiwidHJpbSIsInNldFRpbWVvdXQiLCJfb3BlbiIsIl9vblNlbGVjdCIsImZpbmQiLCJfY2xvc2UiLCJfb25Nb3VzZU92ZXIiLCJzaGFkb3dSb290IiwiZmlyc3RFbGVtZW50Q2hpbGQiLCJjbGFzc0xpc3QiLCJyZW1vdmUiLCJfY2xlYXJIb3ZlciIsIl9zaG91bGRTZWxlY3QiLCJfb25Nb3VzZUxlYXZlIiwiX3JlbmRlck9wdGlvbiIsImVsZW1lbnQiLCJpbm5lckhUTUwiLCJ3cmFwcGVyIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiX3JlbmRlclN0eWxlIiwiX2hhc05vT3B0aW9uU2xvdCIsIm5vZGUiLCJjaGlsZE5vZGVzIiwic2xvdCIsInJlbmRlciIsIm9wZW4iLCJpbnB1dCIsInRvcCIsIm9mZnNldEhlaWdodCIsImNsYXNzZXMiLCJpbmRleCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJmb3JFYWNoIiwibyIsIl91cGRhdGVIb3ZlciIsImFkZCIsImNhbmRpZGF0ZSIsInF1ZXJ5U2VsZWN0b3IiLCJsZWZ0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiY29udGFpbmVyIiwic2Nyb2xsTGVmdCIsInNjcm9sbFRvcCIsInNjcm9sbFRvIiwiX29uS2V5ZG93biIsImUiLCJrZXlDb2RlIiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJnZXRBdHRyaWJ1dGUiLCJfb25Gb2N1cyIsIl9vbkJsdXIiLCJfb25DbGVhciIsInVwZGF0ZWQiLCJmaXJzdE9wdGlvbiIsIm1heEhlaWdodCIsImNsaWVudEhlaWdodCIsInBhcnNlSW50IiwiZmlyc3RVcGRhdGVkIiwiX2hhbmRsZXJzIiwiZm9jdXMiLCJibHVyIiwia2V5ZG93biIsImNsZWFyIiwiYWRkRXZlbnRMaXN0ZW5lciIsInRhZ05hbWUiLCJ0b0xvd2VyQ2FzZSIsInNldEF0dHJpYnV0ZSIsImRldGFpbCIsImNvbm5lY3RlZENhbGxiYWNrIiwid2luZG93IiwiZGlzY29ubmVjdGVkQ2FsbGJhY2siLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLEdBQVQsRUFBY0MsVUFBZCxFQUEwQkMsU0FBMUIsRUFBcUNDLElBQXJDLFFBQWlELEtBQWpEO0FBQ0EsU0FBU0MsbUJBQVQsUUFBb0MsZUFBcEM7QUFDQSxTQUFTQyxNQUFULFFBQXVCLHVCQUF2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QixVQUFNQSxpQkFBTjtBQUNBQyxJQUFBQSxNQUFNLENBQUNOLGdCQUFQLENBQXdCLHdCQUF4QixFQUFrRCxLQUFLL0UsYUFBdkQ7QUFDRDs7QUFFRHNGLEVBQUFBLG9CQUFvQixHQUFHO0FBQ3JCLFFBQUksS0FBS1osU0FBVCxFQUFvQjtBQUNsQixXQUFLckQsVUFBTCxDQUFnQmtFLG1CQUFoQixDQUFvQyxPQUFwQyxFQUE2QyxLQUFLYixTQUFMLENBQWVqQyxLQUE1RDtBQUNBLFdBQUtwQixVQUFMLENBQWdCa0UsbUJBQWhCLENBQW9DLFNBQXBDLEVBQStDLEtBQUtiLFNBQUwsQ0FBZUcsT0FBOUQ7O0FBQ0EsWUFBTXBDLEtBQUssR0FBRyxLQUFLckMsU0FBTCxFQUFkOztBQUNBcUMsTUFBQUEsS0FBSyxDQUFDOEMsbUJBQU4sQ0FBMEIsT0FBMUIsRUFBbUMsS0FBS2IsU0FBTCxDQUFlQyxLQUFsRDtBQUNBbEMsTUFBQUEsS0FBSyxDQUFDOEMsbUJBQU4sQ0FBMEIsTUFBMUIsRUFBa0MsS0FBS2IsU0FBTCxDQUFlRSxJQUFqRDtBQUNBbkMsTUFBQUEsS0FBSyxDQUFDOEMsbUJBQU4sQ0FBMEIsZ0JBQTFCLEVBQTRDLEtBQUtiLFNBQUwsQ0FBZUksS0FBM0Q7QUFDRDs7QUFDRE8sSUFBQUEsTUFBTSxDQUFDRSxtQkFBUCxDQUEyQixzQkFBM0IsRUFBbUQsS0FBS3ZGLGFBQXhEO0FBQ0EsVUFBTXNGLG9CQUFOO0FBQ0Q7O0FBblo0QztBQXNaL0NELE1BQU0sQ0FBQ0csY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsaUJBQTdCLEVBQWdEOUcsY0FBaEQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY3NzLCBMaXRFbGVtZW50LCB1bnNhZmVDU1MsIGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgZGlzcGF0Y2hDdXN0b21FdmVudCB9IGZyb20gJy4uL2xpYi9ldmVudHMnO1xuaW1wb3J0IHsgcmVwZWF0IH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVwZWF0JztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcbmltcG9ydCB7IHN0eWxlTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvc3R5bGUtbWFwJztcblxuY29uc3QgRU5URVJfS0VZX0NPREUgPSAxMztcbmNvbnN0IERPV05fQVJST1dfS0VZX0NPREUgPSA0MDtcbmNvbnN0IFVQX0FSUk9XX0tFWV9DT0RFID0gMzg7XG5jb25zdCBFU0NBUEVfS0VZX0NPREUgPSAyNztcblxuLyoqXG4gKiBBdXRvY29tcGxldGUgaW5wdXQgd3JhcHBlclxuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBmaXJlcyBndi1hdXRvY29tcGxldGU6c2VhcmNoIC0gQ3VzdG9tIGV2ZW50IHdoZW4gdXNlciBzZWFyY2ggdmFsdWVcbiAqIEBmaXJlcyBndi1hdXRvY29tcGxldGU6c2VsZWN0IC0gQ3VzdG9tIGV2ZW50IHdoZW4gdXNlciBzZWxlY3QgdmFsdWVcbiAqIEBmaXJlcyBndi1hdXRvY29tcGxldGU6b3BlbmVkIC0gQ3VzdG9tIGV2ZW50IGFmdGVyIG9wZW5lZCBhdXRvY29tcGxldGVcbiAqXG4gKiBAc2xvdCBzdHlsZSAtIFRoZSBvcHRpb25zIHN0eWxlXG4gKiBAc2xvdCBpbnB1dCAtIFRoZSBpbnB1dCB0byB3cmFwXG4gKiBAc2xvdCBub09wdGlvbiAtIFdoYXQgc2hvdWxkIGJlIHNob3duIHdoZW4gdGhlcmUgaXMgbm8gb3B0aW9ucyB0byBkaXNwbGF5XG4gKlxuICogQGF0dHIge0FycmF5Ljx7dmFsdWU6IFN0cmluZywgaW5uZXJIVE1MPzogU3RyaW5nfT59IG9wdGlvbnMgLSB0aGUgb3B0aW9ucyBmb3Igc2VhcmNoXG4gKiBAYXR0ciB7U3RyaW5nfSB2YWx1ZSAtIHNlbGVjdGVkIHZhbHVlXG4gKiBAYXR0ciB7U3RyaW5nfSBzdHlsZSAtIGNzcyBpZiB5b3Ugd2FudCBjdXN0b20gb3B0aW9ucyByZW5kZXJlZFxuICogQGF0dHIge051bWJlcn0gbWluQ2hhcnMgLSBtaW5pbXVtIG9mIGNoYXJhY3RlcnMgZm9yIGxhdW5jaCBzZWFyY2ggYW5kIHNob3cgcmVzdWx0c1xuICogQGF0dHIge051bWJlcn0gc2l6ZSAtIHJlc3VsdHMgc2l6ZSB0byBzaG93IGJlZm9yZSB1c2VyIG11c3Qgc2Nyb2xsXG4gKiBAYXR0ciB7Qm9vbGVhbnxGdW5jdGlvbih2YWx1ZSxvcHRpb24pfSBmaWx0ZXIgLSBJZiB0cnVlLCBmaWx0ZXIgb3B0aW9ucyBieSBpbnB1dCwgaWYgZnVuY3Rpb24sIGZpbHRlciBvcHRpb25zIGFnYWluc3QgaXQuIFRoZSBmdW5jdGlvbiB3aWxsXG4gKiByZWNlaXZlIHR3byBhcmd1bWVudHMsIGlucHV0VmFsdWUgYW5kIG9wdGlvbiwgaWYgdGhlIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSwgdGhlIG9wdGlvbiB3aWxsIGJlIGluY2x1ZGVkXG4gKiBpbiB0aGUgZmlsdGVyZWQgc2V0OyBPdGhlcndpc2UsIGl0IHdpbGwgYmUgZXhjbHVkZWQuXG4gKiB0aGUgb3B0aW9uIHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIGZpbHRlcmVkIHNldDsgT3RoZXJ3aXNlLCBpdCB3aWxsIGJlIGV4Y2x1ZGVkLlxuICpcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtYXV0b2NvbXBsZXRlLWhvdmVyLS1iZ2M9dmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvci1saWdodGVyLCAjZmFmYWZhKV0gLSBIb3ZlciBiYWNrZ3JvdW5kIGNvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWF1dG9jb21wbGV0ZS0tYmdjPXZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlc3QsICNmZmZmZmYpXSAtIEJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtYXV0b2NvbXBsZXRlLS1jPXZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3IsICMyNjI2MjYpXSAtIENvbG9yXG4gKi9cbmV4cG9ydCBjbGFzcyBHdkF1dG9jb21wbGV0ZSBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9wdGlvbnM6IHsgdHlwZTogQXJyYXksIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIHZhbHVlOiB7IHR5cGU6IFN0cmluZywgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgc3R5bGU6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBtaW5DaGFyczogeyB0eXBlOiBOdW1iZXIgfSxcbiAgICAgIGZpbHRlcjogeyB0eXBlOiBCb29sZWFuIHwgRnVuY3Rpb24gfSxcbiAgICAgIHNpemU6IHsgdHlwZTogTnVtYmVyIH0sXG4gICAgICBfb3B0aW9uczogeyB0eXBlOiBBcnJheSwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgX2ZvcmNlT3BlbjogeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiBbXG4gICAgICAvLyBsYW5ndWFnZT1DU1NcbiAgICAgIGNzc2BcbiAgICAgICAgOmhvc3Qge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgOjpzbG90dGVkKCopIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWluZXIgLm9wdGlvbnMub3BlbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiAtd2Via2l0LXRyYW5zbGF0ZVkoMCUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9wdGlvbnMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LWF1dG9jb21wbGV0ZS0tYmdjLCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWxpZ2h0ZXN0LCAjZmZmZmZmKSk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWd2LWF1dG9jb21wbGV0ZS0tYywgdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvciwgIzI2MjYyNikpO1xuICAgICAgICAgIG1hcmdpbjogMC4ycmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvciwgI2Y1ZjVmNSksIDAgMXB4IDNweCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNiZmJmYmYpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogLXdlYmtpdC10cmFuc2xhdGVZKC0yZW0pO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMmVtKTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDE1MG1zIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9wdGlvbiB7XG4gICAgICAgICAgcGFkZGluZzogMC4ycmVtO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9wdGlvbi5tYXRjaCB+IC5vcHRpb24ubWF0Y2gge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9wdGlvbjpob3ZlcixcbiAgICAgICAgLm9wdGlvbi5ob3ZlcixcbiAgICAgICAgLmtleWJvYXJkIC5vcHRpb24uaG92ZXI6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LWF1dG9jb21wbGV0ZS1ob3Zlci0tYmdjLCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWxpZ2h0ZXIsICNmYWZhZmEpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rZXlib2FyZCAub3B0aW9uOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaG93IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5oaWRlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICBgLFxuICAgIF07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX29wdGlvbnMgPSBbXTtcbiAgICB0aGlzLl9jYW5kaWRhdGVJbmRleCA9IC0xO1xuICAgIHRoaXMubWluQ2hhcnMgPSAxO1xuICAgIHRoaXMudmFsdWUgPSAnJztcbiAgICB0aGlzLnN0eWxlID0gJyc7XG4gICAgdGhpcy5maWx0ZXIgPSBmYWxzZTtcbiAgICB0aGlzLnNpemUgPSA1O1xuICAgIHRoaXMuX2hhbmRsZU9wZW5lZCA9IHRoaXMuX29uT3BlbmVkLmJpbmQodGhpcyk7XG4gIH1cblxuICBzZXQgb3B0aW9ucyhvcHRpb25zKSB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cblxuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuXG4gIHJlc2V0KCkge1xuICAgIHRoaXMuX2dldElucHV0KCkucmVzZXQoKTtcbiAgICB0aGlzLl9vcHRpb25zID0gW107XG4gIH1cblxuICBfZ2V0RmlsdGVyZWRPcHRpb25zKCkge1xuICAgIGlmICh0aGlzLmZpbHRlciAmJiB0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoID49IHRoaXMubWluQ2hhcnMgJiYgdGhpcy52YWx1ZSAhPT0gJyonKSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuZmlsdGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zLmZpbHRlcigob3B0aW9uKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKHRoaXMudmFsdWUsIG9wdGlvbik7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnMuZmlsdGVyKChvcHRpb24pID0+IHtcbiAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlLmluZGV4T2YodGhpcy52YWx1ZSkgIT09IC0xO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gICAgfVxuICB9XG5cbiAgX29uSW5wdXQoZXZlbnQpIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fY2FuY2VsbGFibGVUaW1lb3V0KTtcbiAgICB0aGlzLnZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgIGlmICh0aGlzLnZhbHVlICE9IG51bGwgJiYgdGhpcy52YWx1ZS50cmltKCkubGVuZ3RoID49IHRoaXMubWluQ2hhcnMpIHtcbiAgICAgIHRoaXMuX2NhbmNlbGxhYmxlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLl9vcGVuKCk7XG4gICAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ3NlYXJjaCcsIHRoaXMudmFsdWUpO1xuICAgICAgfSwgMjAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcHRpb25zID0gW107XG4gICAgfVxuICB9XG5cbiAgX29uU2VsZWN0KHZhbHVlLCBvcHRpb24pIHtcbiAgICBpZiAob3B0aW9uID09IG51bGwpIHtcbiAgICAgIG9wdGlvbiA9IHRoaXMuX29wdGlvbnMuZmluZCgob3B0aW9uKSA9PiB7XG4gICAgICAgIHJldHVybiBvcHRpb24udmFsdWUgPT09IHZhbHVlO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMudmFsdWUgPSB0aGlzLl9nZXRJbnB1dCgpLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5fY2xvc2UoKTtcbiAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdzZWxlY3QnLCBvcHRpb24pO1xuICB9XG5cbiAgX29uTW91c2VPdmVyKCkge1xuICAgIHRoaXMuc2hhZG93Um9vdC5maXJzdEVsZW1lbnRDaGlsZC5jbGFzc0xpc3QucmVtb3ZlKCdrZXlib2FyZCcpO1xuICAgIHRoaXMuX2NsZWFySG92ZXIoKTtcbiAgICB0aGlzLl9zaG91bGRTZWxlY3QgPSB0cnVlO1xuICB9XG5cbiAgX29uTW91c2VMZWF2ZSgpIHtcbiAgICB0aGlzLl9zaG91bGRTZWxlY3QgPSBmYWxzZTtcbiAgfVxuXG4gIF9yZW5kZXJPcHRpb24ob3B0aW9uKSB7XG4gICAgaWYgKG9wdGlvbi5lbGVtZW50KSB7XG4gICAgICByZXR1cm4gb3B0aW9uLmVsZW1lbnQ7XG4gICAgfVxuICAgIGlmIChvcHRpb24uaW5uZXJIVE1MKSB7XG4gICAgICBjb25zdCB3cmFwcGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB3cmFwcGVyLmlubmVySFRNTCA9IG9wdGlvbi5pbm5lckhUTUw7XG4gICAgICByZXR1cm4gd3JhcHBlcjtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcbiAgfVxuXG4gIF9yZW5kZXJTdHlsZSgpIHtcbiAgICBpZiAodGhpcy5zdHlsZSkge1xuICAgICAgY29uc3Qgd3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgd3JhcHBlci5pbm5lckhUTUwgPSB1bnNhZmVDU1ModGhpcy5zdHlsZSk7XG4gICAgICByZXR1cm4gd3JhcHBlcjtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgX2hhc05vT3B0aW9uU2xvdCgpIHtcbiAgICBmb3IgKGNvbnN0IG5vZGUgb2YgdGhpcy5jaGlsZE5vZGVzKSB7XG4gICAgICBpZiAobm9kZS5zbG90ID09PSAnbm9PcHRpb24nKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuX2dldEZpbHRlcmVkT3B0aW9ucygpO1xuICAgIGxldCBvcGVuID0gZmFsc2U7XG5cbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCA+IDAgJiYgdGhpcy5fZm9yY2VPcGVuKSB7XG4gICAgICBvcGVuID0gdGhpcy5taW5DaGFycyA9PT0gMCB8fCB0aGlzLnZhbHVlLnRyaW0oKS5sZW5ndGggPj0gdGhpcy5taW5DaGFycztcbiAgICB9XG5cbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuX2dldElucHV0KCk7XG4gICAgbGV0IHRvcCA9IDA7XG4gICAgaWYgKGlucHV0ICE9IG51bGwpIHtcbiAgICAgIHRvcCA9IGlucHV0Lm9mZnNldEhlaWdodDtcbiAgICB9XG5cbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgb3B0aW9uczogdHJ1ZSxcbiAgICAgIG9wZW4sXG4gICAgfTtcblxuICAgIHJldHVybiBodG1sYCA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAke3RoaXMuX3JlbmRlclN0eWxlKCl9XG4gICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAke3RoaXMuX2hhc05vT3B0aW9uU2xvdCgpICYmIHRoaXMuX2ZvcmNlT3BlblxuICAgICAgICA/IGh0bWxgPGRpdiBjbGFzcz1cIm9wdGlvbnMgb3BlblwiIHN0eWxlPVwiJHtzdHlsZU1hcCh7IHRvcDogYCR7dG9wfXB4YCB9KX1cIj5cbiAgICAgICAgICAgIDxzbG90IG5hbWU9XCJub09wdGlvblwiIGNsYXNzPVwiJHshb3B0aW9ucyB8fCBvcHRpb25zLmxlbmd0aCA9PT0gMCA/ICdzaG93JyA6ICdoaWRlJ31cIj48L3Nsb3Q+XG4gICAgICAgICAgPC9kaXY+YFxuICAgICAgICA6ICcnfVxuICAgICAgPGRpdiBjbGFzcz1cIiR7Y2xhc3NNYXAoY2xhc3Nlcyl9XCIgQG1vdXNlbGVhdmU9XCIke3RoaXMuX29uTW91c2VMZWF2ZX1cIiBzdHlsZT1cIiR7c3R5bGVNYXAoeyB0b3A6IGAke3RvcH1weGAgfSl9XCI+XG4gICAgICAgICR7cmVwZWF0KFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uLFxuICAgICAgICAgIChvcHRpb24sIGluZGV4KSA9PiBodG1sYFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cIiR7Y2xhc3NNYXAoeyBvcHRpb246IHRydWUgfSl9XCJcbiAgICAgICAgICAgICAgZGF0YS12YWx1ZT1cIiR7b3B0aW9uLnZhbHVlfVwiXG4gICAgICAgICAgICAgIEBtb3VzZW92ZXI9XCIkeygpID0+IHRoaXMuX29uTW91c2VPdmVyKG9wdGlvbiwgaW5kZXgpfVwiXG4gICAgICAgICAgICAgIEBjbGljaz1cIiR7KCkgPT4gdGhpcy5fb25TZWxlY3Qob3B0aW9uLnZhbHVlLCBvcHRpb24pfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyT3B0aW9uKG9wdGlvbil9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgLFxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+YDtcbiAgfVxuXG4gIF9jbGVhckhvdmVyKCkge1xuICAgIHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCcub3B0aW9uLmhvdmVyJykuZm9yRWFjaCgobykgPT4gby5jbGFzc0xpc3QucmVtb3ZlKCdob3ZlcicpKTtcbiAgfVxuXG4gIF91cGRhdGVIb3ZlcigpIHtcbiAgICB0aGlzLl9jbGVhckhvdmVyKCk7XG4gICAgaWYgKHRoaXMuX2NhbmRpZGF0ZUluZGV4ID4gLTEpIHtcbiAgICAgIHRoaXMuc2hhZG93Um9vdC5maXJzdEVsZW1lbnRDaGlsZC5jbGFzc0xpc3QuYWRkKCdrZXlib2FyZCcpO1xuICAgICAgY29uc3QgY2FuZGlkYXRlID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5vcHRpb24nKVt0aGlzLl9jYW5kaWRhdGVJbmRleF07XG4gICAgICBpZiAoY2FuZGlkYXRlKSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLm9wdGlvbnMnKTtcbiAgICAgICAgY29uc3QgeyB0b3AsIGxlZnQgfSA9IGNhbmRpZGF0ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gb3B0aW9ucy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsTGVmdCA9IGxlZnQgLSBjb250YWluZXIubGVmdDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gdG9wIC0gY29udGFpbmVyLnRvcDtcbiAgICAgICAgb3B0aW9ucy5zY3JvbGxUbyhzY3JvbGxMZWZ0LCBzY3JvbGxUb3ApO1xuICAgICAgICBjYW5kaWRhdGUuY2xhc3NMaXN0LmFkZCgnaG92ZXInKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBfb25LZXlkb3duKGUpIHtcbiAgICBzd2l0Y2ggKGUua2V5Q29kZSkge1xuICAgICAgY2FzZSBFTlRFUl9LRVlfQ09ERToge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5vcHRpb24nKTtcbiAgICAgICAgY29uc3QgY2FuZGlkYXRlID0gb3B0aW9uc1t0aGlzLl9jYW5kaWRhdGVJbmRleF07XG4gICAgICAgIGlmIChjYW5kaWRhdGUpIHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICB0aGlzLl9jYW5kaWRhdGVJbmRleCA9IC0xO1xuICAgICAgICAgIHRoaXMuX29uU2VsZWN0KGNhbmRpZGF0ZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtdmFsdWUnKSk7XG4gICAgICAgICAgdGhpcy5fdXBkYXRlSG92ZXIoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jbG9zZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBET1dOX0FSUk9XX0tFWV9DT0RFOiB7XG4gICAgICAgIGlmICh0aGlzLl9jYW5kaWRhdGVJbmRleCA8IHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCcub3B0aW9uJykubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIHRoaXMuX2NhbmRpZGF0ZUluZGV4ICs9IDE7XG4gICAgICAgICAgdGhpcy5fdXBkYXRlSG92ZXIoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBVUF9BUlJPV19LRVlfQ09ERToge1xuICAgICAgICBpZiAodGhpcy5fY2FuZGlkYXRlSW5kZXggPiAwKSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgdGhpcy5fY2FuZGlkYXRlSW5kZXggLT0gMTtcbiAgICAgICAgICB0aGlzLl91cGRhdGVIb3ZlcigpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIEVTQ0FQRV9LRVlfQ09ERToge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuX2NhbmRpZGF0ZUluZGV4ID0gLTE7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUhvdmVyKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuX2dldElucHV0KCkudmFsdWU7XG4gICAgICAgIHRoaXMuX2NhbmRpZGF0ZUluZGV4ID0gLTE7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUhvdmVyKCk7XG4gICAgfVxuICB9XG5cbiAgX29wZW4oKSB7XG4gICAgdGhpcy5fZm9yY2VPcGVuID0gdHJ1ZTtcbiAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdvcGVuZWQnLCB7IHRhcmdldDogdGhpcyB9KTtcbiAgfVxuXG4gIF9jbG9zZSgpIHtcbiAgICB0aGlzLl9mb3JjZU9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIF9vbkZvY3VzKCkge1xuICAgIHRoaXMuX29wZW4oKTtcbiAgfVxuXG4gIF9vbkJsdXIoKSB7XG4gICAgLy8gSW1wb3J0YW50IHdoZW4gdXNpbmcgY3VzdG9tIEhUTUwgaW4gb3B0aW9uc1xuICAgIGlmICh0aGlzLl9zaG91bGRTZWxlY3QgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLl9jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIF9nZXRJbnB1dCgpIHtcbiAgICBmb3IgKGNvbnN0IG5vZGUgb2YgdGhpcy5jaGlsZE5vZGVzKSB7XG4gICAgICBpZiAobm9kZS5zbG90ID09PSAnaW5wdXQnKSB7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5maXJzdEVsZW1lbnRDaGlsZDtcbiAgfVxuXG4gIF9vbkNsZWFyKGV2ZW50KSB7XG4gICAgdGhpcy52YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgfVxuXG4gIHVwZGF0ZWQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBmaXJzdE9wdGlvbiA9IHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCcub3B0aW9uJyk7XG4gICAgICBpZiAoZmlyc3RPcHRpb24pIHtcbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gZmlyc3RPcHRpb24uY2xpZW50SGVpZ2h0ICogcGFyc2VJbnQodGhpcy5zaXplLCAxMCk7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLm9wdGlvbnMnKTtcbiAgICAgICAgb3B0aW9ucy5zdHlsZS5tYXhIZWlnaHQgPSBgJHttYXhIZWlnaHR9cHhgO1xuICAgICAgICBvcHRpb25zLnNjcm9sbFRvKDAsIDApO1xuICAgICAgfVxuICAgIH0sIDApO1xuICB9XG5cbiAgZmlyc3RVcGRhdGVkKCkge1xuICAgIHRoaXMuX2hhbmRsZXJzID0ge1xuICAgICAgaW5wdXQ6IHRoaXMuX29uSW5wdXQuYmluZCh0aGlzKSxcbiAgICAgIGZvY3VzOiB0aGlzLl9vbkZvY3VzLmJpbmQodGhpcyksXG4gICAgICBibHVyOiB0aGlzLl9vbkJsdXIuYmluZCh0aGlzKSxcbiAgICAgIGtleWRvd246IHRoaXMuX29uS2V5ZG93bi5iaW5kKHRoaXMpLFxuICAgICAgY2xlYXI6IHRoaXMuX29uQ2xlYXIuYmluZCh0aGlzKSxcbiAgICB9O1xuICAgIHRoaXMuc2hhZG93Um9vdC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIHRoaXMuX2hhbmRsZXJzLmlucHV0KTtcbiAgICB0aGlzLnNoYWRvd1Jvb3QuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX2hhbmRsZXJzLmtleWRvd24pO1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5fZ2V0SW5wdXQoKTtcbiAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIHRoaXMuX2hhbmRsZXJzLmZvY3VzKTtcbiAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgdGhpcy5faGFuZGxlcnMuYmx1cik7XG4gICAgaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignZ3YtaW5wdXQ6Y2xlYXInLCB0aGlzLl9oYW5kbGVycy5jbGVhcik7XG4gICAgaWYgKGlucHV0LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2d2LWlucHV0Jykge1xuICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCduby1zdWJtaXQnLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBfb25PcGVuZWQoeyBkZXRhaWwgfSkge1xuICAgIGlmIChkZXRhaWwudGFyZ2V0ICE9PSB0aGlzKSB7XG4gICAgICB0aGlzLl9jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2d2LWF1dG9jb21wbGV0ZTpvcGVuZWQnLCB0aGlzLl9oYW5kbGVPcGVuZWQpO1xuICB9XG5cbiAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgaWYgKHRoaXMuX2hhbmRsZXJzKSB7XG4gICAgICB0aGlzLnNoYWRvd1Jvb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignaW5wdXQnLCB0aGlzLl9oYW5kbGVycy5pbnB1dCk7XG4gICAgICB0aGlzLnNoYWRvd1Jvb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX2hhbmRsZXJzLmtleWRvd24pO1xuICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLl9nZXRJbnB1dCgpO1xuICAgICAgaW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXMnLCB0aGlzLl9oYW5kbGVycy5mb2N1cyk7XG4gICAgICBpbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKCdibHVyJywgdGhpcy5faGFuZGxlcnMuYmx1cik7XG4gICAgICBpbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKCdndi1pbnB1dDpjbGVhcicsIHRoaXMuX2hhbmRsZXJzLmNsZWFyKTtcbiAgICB9XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2d2LWF1dG9jb21wbGV0ZTpvcGVuJywgdGhpcy5faGFuZGxlT3BlbmVkKTtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LWF1dG9jb21wbGV0ZScsIEd2QXV0b2NvbXBsZXRlKTtcbiJdfQ==
|
package/src/atoms/gv-button.js
CHANGED
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { classMap } from 'lit
|
|
17
|
-
import { LitElement, html, css } from 'lit
|
|
16
|
+
import { classMap } from 'lit/directives/class-map';
|
|
17
|
+
import { LitElement, html, css } from 'lit';
|
|
18
18
|
import { skeleton } from '../styles/skeleton';
|
|
19
19
|
import { link } from '../styles/link';
|
|
20
20
|
import '../atoms/gv-icon';
|
|
21
|
-
import { ifDefined } from 'lit
|
|
21
|
+
import { ifDefined } from 'lit/directives/if-defined';
|
|
22
22
|
import { dispatchCustomEvent } from '../lib/events';
|
|
23
23
|
/**
|
|
24
24
|
* A button
|
|
@@ -241,4 +241,4 @@ export class GvButton extends LitElement {
|
|
|
241
241
|
|
|
242
242
|
}
|
|
243
243
|
window.customElements.define('gv-button', GvButton);
|
|
244
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWJ1dHRvbi5qcyJdLCJuYW1lcyI6WyJjbGFzc01hcCIsIkxpdEVsZW1lbnQiLCJodG1sIiwiY3NzIiwic2tlbGV0b24iLCJsaW5rIiwiaWZEZWZpbmVkIiwiZGlzcGF0Y2hDdXN0b21FdmVudCIsIkd2QnV0dG9uIiwicHJvcGVydGllcyIsInR5cGUiLCJTdHJpbmciLCJkYW5nZXIiLCJCb29sZWFuIiwiZGlzYWJsZWQiLCJwcmltYXJ5Iiwib3V0bGluZWQiLCJocmVmIiwiaWNvbiIsImljb25SaWdodCIsImF0dHJpYnV0ZSIsImxvYWRpbmciLCJ0aXRsZSIsInJlZmxlY3QiLCJwcm92aWRlciIsInNtYWxsIiwidGFiaW5kZXgiLCJOdW1iZXIiLCJfaGFzQ29udGVudCIsInN0eWxlcyIsImNvbnN0cnVjdG9yIiwiYWRkRXZlbnRMaXN0ZW5lciIsIl9vbkNsaWNrIiwiYmluZCIsIl9vbktleURvd24iLCJlIiwia2V5Q29kZSIsInByZXZlbnREZWZhdWx0IiwiZm9ybSIsImNsb3Nlc3QiLCJkaXNwYXRjaEV2ZW50IiwiRXZlbnQiLCJidWJibGVzIiwiY2FuY2VsYWJsZSIsInBlcmZvcm1VcGRhdGUiLCJzaGFkb3dSb290IiwicXVlcnlTZWxlY3RvciIsInJlbmRlciIsImNsYXNzZXMiLCJidXR0b24iLCJkZWZhdWx0IiwiaWNvbkxlZnQiLCJfaGFzSWNvbkxlZnQiLCJub0NvbnRlbnQiLCJfZ2V0SWNvbkxlZnQiLCJfZ2V0SWNvblJpZ2h0IiwiZmlyc3RVcGRhdGVkIiwidXBkYXRlZCIsIl9jaGFuZ2VkUHJvcGVydGllcyIsInNsb3QiLCJhc3NpZ25lZE5vZGVzIiwibWFwIiwibm9kZSIsInRleHRDb250ZW50IiwiZmlsdGVyIiwidGV4dCIsInRyaW0iLCJsZW5ndGgiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtB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Z0IsS0FBTixDQUF4RCxjQUFYO0FBQ0Q7O0FBQ0QsYUFBT3BCLElBQUksbUJBQW1CLEtBQUtnQixJQUF4QixhQUF5Q1osU0FBUyxDQUFDLEtBQUtnQixLQUFOLENBQWxELGNBQVg7QUFDRDs7QUFDRCxXQUFPLEVBQVA7QUFDRDs7QUFFRGtDLEVBQUFBLFlBQVksR0FBRztBQUNiLFNBQUt6QixnQkFBTCxDQUFzQixTQUF0QixFQUFpQyxLQUFLRyxVQUF0QztBQUNEOztBQUVEdUIsRUFBQUEsT0FBTyxDQUFDQyxrQkFBRCxFQUFxQjtBQUMxQixVQUFNRCxPQUFOLENBQWNDLGtCQUFkO0FBQ0EsVUFBTUMsSUFBSSxHQUFHLEtBQUtkLFVBQUwsQ0FBZ0JDLGFBQWhCLENBQThCLE1BQTlCLENBQWI7QUFDQSxTQUFLbEIsV0FBTCxHQUNFK0IsSUFBSSxDQUNEQyxhQURILEdBRUdDLEdBRkgsQ0FFUUMsSUFBRCxJQUFVQSxJQUFJLENBQUNDLFdBRnRCLEVBR0dDLE1BSEgsQ0FHV0MsSUFBRCxJQUFVQSxJQUFJLENBQUNDLElBQUwsT0FBZ0IsRUFIcEMsRUFHd0NDLE1BSHhDLEdBR2lELENBSm5EO0FBS0Q7O0FBN1ZzQztBQWdXekNDLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsV0FBN0IsRUFBMEM5RCxRQUExQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjbGFzc01hcCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcbmltcG9ydCB7IExpdEVsZW1lbnQsIGh0bWwsIGNzcyB9IGZyb20gJ2xpdC1lbGVtZW50JztcbmltcG9ydCB7IHNrZWxldG9uIH0gZnJvbSAnLi4vc3R5bGVzL3NrZWxldG9uJztcbmltcG9ydCB7IGxpbmsgfSBmcm9tICcuLi9zdHlsZXMvbGluayc7XG5pbXBvcnQgJy4uL2F0b21zL2d2LWljb24nO1xuaW1wb3J0IHsgaWZEZWZpbmVkIH0gZnJvbSAnbGl0LWh0bWwvZGlyZWN0aXZlcy9pZi1kZWZpbmVkJztcbmltcG9ydCB7IGRpc3BhdGNoQ3VzdG9tRXZlbnQgfSBmcm9tICcuLi9saWIvZXZlbnRzJztcblxuLyoqXG4gKiBBIGJ1dHRvblxuICpcbiAqICMjIERldGFpbHNcbiAqXG4gKiAqIGF0dHJpYnV0ZXMgYHByaW1hcnlgIGRlZmluZSB0aGUgbW9kZSBvZiB0aGUgYnV0dG9uIGFuZCBhcmUgZXhjbHVzaXZlLlxuICogKiBZb3UgY2FuIG9ubHkgc2V0IG9uZSBtb2RlIGF0IGEgdGltZS5cbiAqICogV2hlbiB5b3UgZG9uJ3QgdXNlIGFueSBvZiB0aGVzZSB2YWx1ZXMsIHRoZSBtb2RlIGRlZmF1bHRzIHRvIGBkZWZhdWx0YC5cbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBmaXJlcyBndi1idXR0b246Y2xpY2sgLSBDbGljayBldmVudCBmcm9tIGlubmVyIGJ1dHRvbiBlbGVtZW50XG4gKlxuICogQHNsb3QgLSBUaGUgY29udGVudCBvZiB0aGUgYnV0dG9uICh0ZXh0IG9yIEhUTUwpXG4gKlxuICogQGF0dHIge0VudW17YnV0dG9ufHN1Ym1pdH19IHR5cGUgLSB0aGUgdHlwZSBvZiB0aGUgYnV0dG9uXG4gKiBAYXR0ciB7Qm9vbGVhbn0gcHJpbWFyeSAtIHNldCBidXR0b24gVUkgbW9kZSB0byBwcmltYXJ5XG4gKiBAYXR0ciB7Qm9vbGVhbn0gZGFuZ2VyIC0gc2V0IGJ1dHRvbiBVSSBtb2RlIHRvIGRhbmdlclxuICogQGF0dHIge0Jvb2xlYW59IGRpc2FibGVkIC0gc2FtZSBhcyBuYXRpdmUgYnV0dG9uIGVsZW1lbnQgYGRpc2FibGVkYCBhdHRyaWJ1dGVcbiAqIEBhdHRyIHtCb29sZWFufSBvdXRsaW5lZCAtIHNldCBidXR0b24gVUkgYXMgb3V0bGluZWQgKHdoaXRlIGJhY2tncm91bmQgaW5zdGVhZCBvZiBmaWxsZWQgY29sb3IpXG4gKiBAYXR0ciB7Qm9vbGVhbn0gbGluayAtIHNldCBidXR0b24gVUkgbW9kZSB0byBsaW5rXG4gKiBAYXR0ciB7U3RyaW5nfSBocmVmIC0gSWYgaXMgZGVmaW5lZCBndi1idXR0b24gd2lsbCBiZSByZW5kZXJlZCBhcyBhIDxhPiB3aXRoIGBocmVmYFxuICogQGF0dHIge0Jvb2xlYW59IHNrZWxldG9uIC0gZW5hYmxlIHNrZWxldG9uIHNjcmVlbiBVSSBwYXR0ZXJuIChsb2FkaW5nIGhpbnQpXG4gKiBAYXR0ciB7U3RyaW5nfSBpY29uIC0gZGlzcGxheSBhbiBpY29uIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIGJ1dHRvblxuICogQGF0dHIge1N0cmluZ30gaWNvbi1yaWdodCAtIGRpc3BsYXkgYW4gaWNvbiBvbiB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgYnV0dG9uXG4gKiBAYXR0ciB7U3RyaW5nfSB0aXRsZSAtIHRpdGxlIG9mIGJ1dHRvblxuICogQGF0dHIge0Jvb2xlYW59IGxvYWRpbmcgLSB0cnVlIHRvIGRpc3BsYXkgYSBsb2FkaW5nIGljb25cbiAqIEBhdHRyIHtTdHJpbmd9IHByb3ZpZGVyIC0gUHJvdmlkZXIgbmFtZSAoZ2l0aHViLCBvaWRjLCBncmF2aXRlZWlvX2FtLCBnb29nbGUpXG4gKiBAYXR0ciB7Qm9vbGVhbn0gc21hbGwgLSBmb3IgYSBzbWFsbCBpbnB1dFxuICogQGF0dHIge051bWJlcn0gdGFiaW5kZXggLSB0YWJpbmRleCBvZiBidXR0b25cbiAqXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWJ1dHRvbi0tYmdjPXZhcigtLWd2LXRoZW1lLWNvbG9yLWRhcmssICMyODQ0NGYpXSAtIEJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtYnV0dG9uLS1jPXZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItbGlnaHQsICNmZmZmZmYpXSAtIENvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWJ1dHRvbi1wcmltYXJ5LS1jPXZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItbGlnaHQsICNmZmZmZmYpXSAtIFByaW1hcnkgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtYnV0dG9uLXByaW1hcnktLWJnYz12YXIoLS1ndi10aGVtZS1jb2xvciwgIzVhNzY4NCldIC0gUHJpbWFyeSBiYWNrZ3JvdW5kIGNvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWJ1dHRvbi1kYW5nZXItLWM9dmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1saWdodCwgI2ZmZmZmZildIC0gRGFuZ2VyIGNvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWJ1dHRvbi1kYW5nZXItLWJnYz12YXIoLS1ndi10aGVtZS1jb2xvci1kYW5nZXIsICNmZjU3MjIpXSAtIERhbmdlciBiYWNrZ3JvdW5kIGNvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWJ1dHRvbi1vaWRjLS1iZ2M9IzAwMDAwMF0gLSBPSURDIFNvY2lhbCBQcm92aWRlciBidXR0b24gYmFja2dyb3VuZCBjb2xvclxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1idXR0b24tZ3Jhdml0ZWVpb19hbS0tYmdjPSM4NmMzZDBdIC0gR3Jhdml0ZWUuaW8gQU0gU29jaWFsIFByb3ZpZGVyIGJ1dHRvbiBiYWNrZ3JvdW5kIGNvbG9yXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1idXR0b24tLXA9N3B4IDE0cHhdIC0gUGFkZGluZ1xuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtYnV0dG9uLS1mej12YXIoLS1ndi10aGVtZS1mb250LXNpemUtbSwgMTRweCldIC0gRm9udCBzaXplXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1idXR0b24tLWJkcnM9MC4xNXJlbV0gLSBCb3JkZXIgcmFkaXVzXG4gKi9cbmV4cG9ydCBjbGFzcyBHdkJ1dHRvbiBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBkYW5nZXI6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgZGlzYWJsZWQ6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgcHJpbWFyeTogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICBvdXRsaW5lZDogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICBsaW5rOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIGhyZWY6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBza2VsZXRvbjogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICBpY29uOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgaWNvblJpZ2h0OiB7IHR5cGU6IFN0cmluZywgYXR0cmlidXRlOiAnaWNvbi1yaWdodCcgfSxcbiAgICAgIGxvYWRpbmc6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgdGl0bGU6IHsgdHlwZTogU3RyaW5nLCByZWZsZWN0OiB0cnVlIH0sXG4gICAgICBwcm92aWRlcjogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHNtYWxsOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIHRhYmluZGV4OiB7IHR5cGU6IE51bWJlciwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgX2hhc0NvbnRlbnQ6IHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAuMnJlbTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogMjNweDtcbiAgICAgICAgICAtLWdpdGh1Yi0tYzogIzQ0NDtcbiAgICAgICAgICAtLWdvb2dsZS0tYzogIzQyODVmNDtcbiAgICAgICAgICAtLW9pZGMtLWM6IHZhcigtLWd2LWJ1dHRvbi1vaWRjLS1iZ2MsICMwMDAwMDApO1xuICAgICAgICAgIC0tZ3Jhdml0ZWUtLWM6IHZhcigtLWd2LWJ1dHRvbi1ncmF2aXRlZWlvX2FtLS1iZ2MsICM4NmMzZDApO1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoOm5vdChbbGlua10pKSB7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5naXRodWIge1xuICAgICAgICAgIC0tZ3YtYnV0dG9uLS1iZ2M6IHZhcigtLWdpdGh1Yi0tYyk7XG4gICAgICAgIH1cblxuICAgICAgICAuZ29vZ2xlIHtcbiAgICAgICAgICAtLWd2LWJ1dHRvbi0tYmdjOiB2YXIoLS1nb29nbGUtLWMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9pZGMge1xuICAgICAgICAgIC0tZ3YtYnV0dG9uLS1iZ2M6IHZhcigtLW9pZGMtLWMpO1xuICAgICAgICAgIC0tZ3YtYnV0dG9uLWljb24tLWM6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICAub2lkYy5vdXRsaW5lZCB7XG4gICAgICAgICAgLS1ndi1idXR0b24taWNvbi0tYzogdmFyKC0tb2lkYy0tYyk7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLmdyYXZpdGVlaW9fYW0ge1xuICAgICAgICAgIC0tZ3YtYnV0dG9uLS1iZ2M6IHZhcigtLWdyYXZpdGVlLS1jKTtcbiAgICAgICAgICBjb2xvcjogIzM4M2UzZjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFJFU0VUICovXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LWJ1dHRvbi0tZnosIHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1tLCAxNHB4KSk7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24uc21hbGwge1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24uc21hbGw6bm90KC5saW5rKSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMjVweDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIG1pbi13aWR0aDogMjVweDtcbiAgICAgICAgICAtLWd2LWJ1dHRvbi0tcDogMXB4IDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEJBU0UgKi9cbiAgICAgICAgLmJ1dHRvbjpub3QoLmxpbmspIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ndi1idXR0b24tLWJkcnMsIDAuMTVyZW0pO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzOXB4O1xuICAgICAgICAgIG1pbi13aWR0aDogMzlweDtcbiAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1ndi1idXR0b24tLXAsIDdweCAxNHB4KTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi5pY29uTGVmdDpub3QoLm5vQ29udGVudCkgc2xvdCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24uaWNvblJpZ2h0Om5vdCgubm9Db250ZW50KSBzbG90IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIENPTE9SUyAqL1xuICAgICAgICAuZGVmYXVsdCB7XG4gICAgICAgICAgLS1jOiB2YXIoLS1ndi1idXR0b24tLWMsIHZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItbGlnaHQsICNmZmZmZmYpKTtcbiAgICAgICAgICAtLWJnYzogdmFyKC0tZ3YtYnV0dG9uLS1iZ2MsIHZhcigtLWd2LXRoZW1lLWNvbG9yLWRhcmssICMyODQ0NGYpKTtcbiAgICAgICAgICAtLWljb24tLWM6IHZhcigtLWd2LWJ1dHRvbi0tYywgdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1saWdodCwgI2ZmZmZmZikpO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tYzogdmFyKC0taWNvbi0tYyk7XG4gICAgICAgICAgLS1ndi1pY29uLW9wYWNpdHktLWM6IHZhcigtLWljb24tLWMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaW1hcnkge1xuICAgICAgICAgIC0tYzogdmFyKC0tZ3YtYnV0dG9uLXByaW1hcnktLWMsIHZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItbGlnaHQsICNmZmZmZmYpKTtcbiAgICAgICAgICAtLWJnYzogdmFyKC0tZ3YtYnV0dG9uLXByaW1hcnktLWJnYywgdmFyKC0tZ3YtdGhlbWUtY29sb3IsICM1YTc2ODQpKTtcbiAgICAgICAgICAtLWljb24tLWM6IHZhcigtLWd2LWJ1dHRvbi1wcmltYXJ5LS1jLCB2YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWxpZ2h0LCAjZmZmZmZmKSk7XG4gICAgICAgICAgLS1ndi1pY29uLS1jOiB2YXIoLS1pY29uLS1jKTtcbiAgICAgICAgICAtLWd2LWljb24tb3BhY2l0eS0tYzogdmFyKC0taWNvbi0tYyk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kYW5nZXIge1xuICAgICAgICAgIC0tYzogdmFyKC0tZ3YtYnV0dG9uLWRhbmdlci0tYywgdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1saWdodCwgI2ZmZmZmZikpO1xuICAgICAgICAgIC0tYmdjOiB2YXIoLS1ndi1idXR0b24tZGFuZ2VyLS1iZ2MsIHZhcigtLWd2LXRoZW1lLWNvbG9yLWRhbmdlciwgI2ZmNTcyMikpO1xuICAgICAgICAgIC0taWNvbi0tYzogdmFyKC0tZ3YtYnV0dG9uLWRhbmdlci0tYywgdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1saWdodCwgI2ZmZmZmZikpO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tYzogdmFyKC0taWNvbi0tYyk7XG4gICAgICAgICAgLS1ndi1pY29uLW9wYWNpdHktLWM6IHZhcigtLWljb24tLWMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogTU9ERVMgKi9cbiAgICAgICAgOmhvc3QoW3NrZWxldG9uXSkgLmJ1dHRvbjpub3QoLmxpbmspIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWd2LXRoZW1lLXNrZWxldG9uLWNvbG9yLCAjYmZiZmJmKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b246bm90KC5saW5rKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmdjKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJnYyk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi5vdXRsaW5lZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYyk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWJnYyk7XG4gICAgICAgICAgLS1ndi1pY29uLS1jOiB2YXIoLS1iZ2MpO1xuICAgICAgICAgIC0tZ3YtaWNvbi1vcGFjaXR5LS1jOiB2YXIoLS1iZ2MpO1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoOmZvY3VzKSAuYnV0dG9uOm5vdCgubGluayk6bm90KC5kaXNhYmxlZCksXG4gICAgICAgIDpob3N0KDpob3ZlcikgLmJ1dHRvbjpub3QoLmxpbmspOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggdmFyKC0tZ3YtdGhlbWUtY29sb3ItZGFya2VyLCAjMzgzZTNmKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDpob3N0KDphY3RpdmUpIC5idXR0b24ge1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLmRpc2FibGVkIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi5za2VsZXRvbiA+IGd2LWljb24ge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBUUkFOU0lUSU9OUyAqL1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDc1bXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBXZSBjYW4gZG8gdGhpcyBiZWNhdXNlIHdlIHNldCBhIHZpc2libGUgZm9jdXMgc3RhdGUgKi9cbiAgICAgICAgLmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiBzbG90IHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ubm9Db250ZW50IHNsb3Qge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubG9hZGluZyBndi1pY29uIHtcbiAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXIgMS42cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvYWRpbmcuc21hbGwgZ3YtaWNvbiB7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiAxOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGtleWZyYW1lcyBzcGlubmVyIHtcbiAgICAgICAgICB0byB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5rIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uLmxpbmsge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoW3NrZWxldG9uXSkgLmxpbmsge1xuICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICAgIHNrZWxldG9uLFxuICAgICAgbGluayxcbiAgICBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnRhYmluZGV4ID0gMDtcbiAgICB0aGlzLnR5cGUgPSAnYnV0dG9uJztcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fb25DbGljay5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIF9vbktleURvd24oZSkge1xuICAgIGlmIChlLmtleUNvZGUgPT09IDMyIHx8IGUua2V5Q29kZSA9PT0gMTMpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuX29uQ2xpY2soZSk7XG4gICAgfVxuICB9XG5cbiAgX29uQ2xpY2soZSkge1xuICAgIGlmICh0aGlzLmhyZWYpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLmxvYWRpbmcgJiYgIXRoaXMuc2tlbGV0b24pIHtcbiAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLmNsb3Nlc3QoJ2Zvcm0nKTtcbiAgICAgIGlmIChmb3JtICYmIHRoaXMudHlwZSA9PT0gJ3N1Ym1pdCcpIHtcbiAgICAgICAgZm9ybS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnc3VibWl0JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcbiAgICAgIH1cbiAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2NsaWNrJyk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcGVyZm9ybVVwZGF0ZSgpIHtcbiAgICBzdXBlci5wZXJmb3JtVXBkYXRlKCk7XG4gICAgY29uc3QgaWNvbiA9IHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCdndi1pY29uJyk7XG4gICAgaWYgKGljb24pIHtcbiAgICAgIGljb24ucGVyZm9ybVVwZGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgYnV0dG9uOiB0cnVlLFxuICAgICAgcHJpbWFyeTogdGhpcy5wcmltYXJ5ICYmICF0aGlzLmRhbmdlcixcbiAgICAgIGRhbmdlcjogdGhpcy5kYW5nZXIsXG4gICAgICBza2VsZXRvbjogdGhpcy5za2VsZXRvbiAmJiAhdGhpcy5saW5rLFxuICAgICAgZGVmYXVsdDogIXRoaXMucHJpbWFyeSAmJiAhdGhpcy5kYW5nZXIgJiYgIXRoaXMubGluayxcbiAgICAgIG91dGxpbmVkOiB0aGlzLm91dGxpbmVkLFxuICAgICAgaWNvbjogdGhpcy5pY29uIHx8IHRoaXMuaWNvblJpZ2h0LFxuICAgICAgaWNvbkxlZnQ6IHRoaXMuX2hhc0ljb25MZWZ0KCksXG4gICAgICBpY29uUmlnaHQ6IHRoaXMuaWNvblJpZ2h0LFxuICAgICAgbG9hZGluZzogdGhpcy5sb2FkaW5nICYmICF0aGlzLmxpbmssXG4gICAgICBsaW5rOiB0aGlzLmxpbmsgJiYgIXRoaXMucHJpbWFyeSAmJiAhdGhpcy5kYW5nZXIsXG4gICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICAgIHNtYWxsOiB0aGlzLnNtYWxsLFxuICAgICAgbm9Db250ZW50OiAhdGhpcy5faGFzQ29udGVudCxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMucHJvdmlkZXIpIHtcbiAgICAgIGNsYXNzZXNbdGhpcy5wcm92aWRlcl0gPSB0cnVlO1xuICAgICAgdGhpcy5pY29uID0gYHRoaXJkcGFydHk6JHt0aGlzLnByb3ZpZGVyfWA7XG4gICAgICBjbGFzc2VzLmljb24gPSB0cnVlO1xuICAgICAgY2xhc3Nlcy5pY29uTGVmdCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaHJlZikge1xuICAgICAgcmV0dXJuIGh0bWxgPGEgdGFiaW5kZXg9XCItMVwiIC5ocmVmPVwiJHt0aGlzLmhyZWZ9XCIgLnRpdGxlPVwiJHtpZkRlZmluZWQodGhpcy50aXRsZSl9XCIgY2xhc3M9JHtjbGFzc01hcChjbGFzc2VzKX0+XG4gICAgICAgICR7dGhpcy5fZ2V0SWNvbkxlZnQoKX1cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICAke3RoaXMuX2dldEljb25SaWdodCgpfVxuICAgICAgPC9hPmA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBodG1sYDxidXR0b25cbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgIHR5cGU9JHt0aGlzLnR5cGUgfHwgJ2J1dHRvbid9XG4gICAgICAgIC50aXRsZT1cIiR7aWZEZWZpbmVkKHRoaXMudGl0bGUpfVwiXG4gICAgICAgIGNsYXNzPSR7Y2xhc3NNYXAoY2xhc3Nlcyl9XG4gICAgICAgIC5kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWQgfHwgdGhpcy5za2VsZXRvbn1cbiAgICAgID5cbiAgICAgICAgJHt0aGlzLl9nZXRJY29uTGVmdCgpfVxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICR7dGhpcy5fZ2V0SWNvblJpZ2h0KCl9XG4gICAgICA8L2J1dHRvbj5gO1xuICAgIH1cbiAgfVxuXG4gIF9nZXRJY29uUmlnaHQoKSB7XG4gICAgaWYgKHRoaXMuaWNvblJpZ2h0KSB7XG4gICAgICBpZiAodGhpcy5sb2FkaW5nICYmICF0aGlzLmljb24gJiYgIXRoaXMubGluaykge1xuICAgICAgICByZXR1cm4gaHRtbGA8Z3YtaWNvbiBzaGFwZT1cIm5hdmlnYXRpb246d2FpdGluZ1wiIC50aXRsZT1cIiR7aWZEZWZpbmVkKHRoaXMudGl0bGUpfVwiPjwvZ3YtaWNvbj5gO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGh0bWxgPGd2LWljb24gc2hhcGU9XCIke3RoaXMuaWNvblJpZ2h0fVwiIC50aXRsZT1cIiR7aWZEZWZpbmVkKHRoaXMudGl0bGUpfVwiPjwvZ3YtaWNvbj5gO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBfaGFzSWNvbkxlZnQoKSB7XG4gICAgcmV0dXJuICh0aGlzLmljb24gfHwgdGhpcy5sb2FkaW5nKSAmJiAhdGhpcy5pY29uUmlnaHQ7XG4gIH1cblxuICBfZ2V0SWNvbkxlZnQoKSB7XG4gICAgaWYgKHRoaXMuX2hhc0ljb25MZWZ0KCkpIHtcbiAgICAgIGlmICh0aGlzLmxvYWRpbmcgJiYgIXRoaXMubGluaykge1xuICAgICAgICByZXR1cm4gaHRtbGA8Z3YtaWNvbiBzaGFwZT1cIm5hdmlnYXRpb246d2FpdGluZ1wiIC50aXRsZT1cIiR7aWZEZWZpbmVkKHRoaXMudGl0bGUpfVwiPjwvZ3YtaWNvbj5gO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGh0bWxgPGd2LWljb24gc2hhcGU9XCIke3RoaXMuaWNvbn1cIiAudGl0bGU9XCIke2lmRGVmaW5lZCh0aGlzLnRpdGxlKX1cIj48L2d2LWljb24+YDtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZmlyc3RVcGRhdGVkKCkge1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX29uS2V5RG93bik7XG4gIH1cblxuICB1cGRhdGVkKF9jaGFuZ2VkUHJvcGVydGllcykge1xuICAgIHN1cGVyLnVwZGF0ZWQoX2NoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICBjb25zdCBzbG90ID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ3Nsb3QnKTtcbiAgICB0aGlzLl9oYXNDb250ZW50ID1cbiAgICAgIHNsb3RcbiAgICAgICAgLmFzc2lnbmVkTm9kZXMoKVxuICAgICAgICAubWFwKChub2RlKSA9PiBub2RlLnRleHRDb250ZW50KVxuICAgICAgICAuZmlsdGVyKCh0ZXh0KSA9PiB0ZXh0LnRyaW0oKSAhPT0gJycpLmxlbmd0aCA+IDA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtYnV0dG9uJywgR3ZCdXR0b24pO1xuIl19
|
|
244
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWJ1dHRvbi5qcyJdLCJuYW1lcyI6WyJjbGFzc01hcCIsIkxpdEVsZW1lbnQiLCJodG1sIiwiY3NzIiwic2tlbGV0b24iLCJsaW5rIiwiaWZEZWZpbmVkIiwiZGlzcGF0Y2hDdXN0b21FdmVudCIsIkd2QnV0dG9uIiwicHJvcGVydGllcyIsInR5cGUiLCJTdHJpbmciLCJkYW5nZXIiLCJCb29sZWFuIiwiZGlzYWJsZWQiLCJwcmltYXJ5Iiwib3V0bGluZWQiLCJocmVmIiwiaWNvbiIsImljb25SaWdodCIsImF0dHJpYnV0ZSIsImxvYWRpbmciLCJ0aXRsZSIsInJlZmxlY3QiLCJwcm92aWRlciIsInNtYWxsIiwidGFiaW5kZXgiLCJOdW1iZXIiLCJfaGFzQ29udGVudCIsInN0eWxlcyIsImNvbnN0cnVjdG9yIiwiYWRkRXZlbnRMaXN0ZW5lciIsIl9vbkNsaWNrIiwiYmluZCIsIl9vbktleURvd24iLCJlIiwia2V5Q29kZSIsInByZXZlbnREZWZhdWx0IiwiZm9ybSIsImNsb3Nlc3QiLCJkaXNwYXRjaEV2ZW50IiwiRXZlbnQiLCJidWJibGVzIiwiY2FuY2VsYWJsZSIsInBlcmZvcm1VcGRhdGUiLCJzaGFkb3dSb290IiwicXVlcnlTZWxlY3RvciIsInJlbmRlciIsImNsYXNzZXMiLCJidXR0b24iLCJkZWZhdWx0IiwiaWNvbkxlZnQiLCJfaGFzSWNvbkxlZnQiLCJub0NvbnRlbnQiLCJfZ2V0SWNvbkxlZnQiLCJfZ2V0SWNvblJpZ2h0IiwiZmlyc3RVcGRhdGVkIiwidXBkYXRlZCIsIl9jaGFuZ2VkUHJvcGVydGllcyIsInNsb3QiLCJhc3NpZ25lZE5vZGVzIiwibWFwIiwibm9kZSIsInRleHRDb250ZW50IiwiZmlsdGVyIiwidGV4dCIsInRyaW0iLCJsZW5ndGgiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtB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Z0IsS0FBTixDQUF4RCxjQUFYO0FBQ0Q7O0FBQ0QsYUFBT3BCLElBQUksbUJBQW1CLEtBQUtnQixJQUF4QixhQUF5Q1osU0FBUyxDQUFDLEtBQUtnQixLQUFOLENBQWxELGNBQVg7QUFDRDs7QUFDRCxXQUFPLEVBQVA7QUFDRDs7QUFFRGtDLEVBQUFBLFlBQVksR0FBRztBQUNiLFNBQUt6QixnQkFBTCxDQUFzQixTQUF0QixFQUFpQyxLQUFLRyxVQUF0QztBQUNEOztBQUVEdUIsRUFBQUEsT0FBTyxDQUFDQyxrQkFBRCxFQUFxQjtBQUMxQixVQUFNRCxPQUFOLENBQWNDLGtCQUFkO0FBQ0EsVUFBTUMsSUFBSSxHQUFHLEtBQUtkLFVBQUwsQ0FBZ0JDLGFBQWhCLENBQThCLE1BQTlCLENBQWI7QUFDQSxTQUFLbEIsV0FBTCxHQUNFK0IsSUFBSSxDQUNEQyxhQURILEdBRUdDLEdBRkgsQ0FFUUMsSUFBRCxJQUFVQSxJQUFJLENBQUNDLFdBRnRCLEVBR0dDLE1BSEgsQ0FHV0MsSUFBRCxJQUFVQSxJQUFJLENBQUNDLElBQUwsT0FBZ0IsRUFIcEMsRUFHd0NDLE1BSHhDLEdBR2lELENBSm5EO0FBS0Q7O0FBN1ZzQztBQWdXekNDLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsV0FBN0IsRUFBMEM5RCxRQUExQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjbGFzc01hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL2NsYXNzLW1hcCc7XG5pbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sLCBjc3MgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgc2tlbGV0b24gfSBmcm9tICcuLi9zdHlsZXMvc2tlbGV0b24nO1xuaW1wb3J0IHsgbGluayB9IGZyb20gJy4uL3N0eWxlcy9saW5rJztcbmltcG9ydCAnLi4vYXRvbXMvZ3YtaWNvbic7XG5pbXBvcnQgeyBpZkRlZmluZWQgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9pZi1kZWZpbmVkJztcbmltcG9ydCB7IGRpc3BhdGNoQ3VzdG9tRXZlbnQgfSBmcm9tICcuLi9saWIvZXZlbnRzJztcblxuLyoqXG4gKiBBIGJ1dHRvblxuICpcbiAqICMjIERldGFpbHNcbiAqXG4gKiAqIGF0dHJpYnV0ZXMgYHByaW1hcnlgIGRlZmluZSB0aGUgbW9kZSBvZiB0aGUgYnV0dG9uIGFuZCBhcmUgZXhjbHVzaXZlLlxuICogKiBZb3UgY2FuIG9ubHkgc2V0IG9uZSBtb2RlIGF0IGEgdGltZS5cbiAqICogV2hlbiB5b3UgZG9uJ3QgdXNlIGFueSBvZiB0aGVzZSB2YWx1ZXMsIHRoZSBtb2RlIGRlZmF1bHRzIHRvIGBkZWZhdWx0YC5cbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBmaXJlcyBndi1idXR0b246Y2xpY2sgLSBDbGljayBldmVudCBmcm9tIGlubmVyIGJ1dHRvbiBlbGVtZW50XG4gKlxuICogQHNsb3QgLSBUaGUgY29udGVudCBvZiB0aGUgYnV0dG9uICh0ZXh0IG9yIEhUTUwpXG4gKlxuICogQGF0dHIge0VudW17YnV0dG9ufHN1Ym1pdH19IHR5cGUgLSB0aGUgdHlwZSBvZiB0aGUgYnV0dG9uXG4gKiBAYXR0ciB7Qm9vbGVhbn0gcHJpbWFyeSAtIHNldCBidXR0b24gVUkgbW9kZSB0byBwcmltYXJ5XG4gKiBAYXR0ciB7Qm9vbGVhbn0gZGFuZ2VyIC0gc2V0IGJ1dHRvbiBVSSBtb2RlIHRvIGRhbmdlclxuICogQGF0dHIge0Jvb2xlYW59IGRpc2FibGVkIC0gc2FtZSBhcyBuYXRpdmUgYnV0dG9uIGVsZW1lbnQgYGRpc2FibGVkYCBhdHRyaWJ1dGVcbiAqIEBhdHRyIHtCb29sZWFufSBvdXRsaW5lZCAtIHNldCBidXR0b24gVUkgYXMgb3V0bGluZWQgKHdoaXRlIGJhY2tncm91bmQgaW5zdGVhZCBvZiBmaWxsZWQgY29sb3IpXG4gKiBAYXR0ciB7Qm9vbGVhbn0gbGluayAtIHNldCBidXR0b24gVUkgbW9kZSB0byBsaW5rXG4gKiBAYXR0ciB7U3RyaW5nfSBocmVmIC0gSWYgaXMgZGVmaW5lZCBndi1idXR0b24gd2lsbCBiZSByZW5kZXJlZCBhcyBhIDxhPiB3aXRoIGBocmVmYFxuICogQGF0dHIge0Jvb2xlYW59IHNrZWxldG9uIC0gZW5hYmxlIHNrZWxldG9uIHNjcmVlbiBVSSBwYXR0ZXJuIChsb2FkaW5nIGhpbnQpXG4gKiBAYXR0ciB7U3RyaW5nfSBpY29uIC0gZGlzcGxheSBhbiBpY29uIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIGJ1dHRvblxuICogQGF0dHIge1N0cmluZ30gaWNvbi1yaWdodCAtIGRpc3BsYXkgYW4gaWNvbiBvbiB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgYnV0dG9uXG4gKiBAYXR0ciB7U3RyaW5nfSB0aXRsZSAtIHRpdGxlIG9mIGJ1dHRvblxuICogQGF0dHIge0Jvb2xlYW59IGxvYWRpbmcgLSB0cnVlIHRvIGRpc3BsYXkgYSBsb2FkaW5nIGljb25cbiAqIEBhdHRyIHtTdHJpbmd9IHByb3ZpZGVyIC0gUHJvdmlkZXIgbmFtZSAoZ2l0aHViLCBvaWRjLCBncmF2aXRlZWlvX2FtLCBnb29nbGUpXG4gKiBAYXR0ciB7Qm9vbGVhbn0gc21hbGwgLSBmb3IgYSBzbWFsbCBpbnB1dFxuICogQGF0dHIge051bWJlcn0gdGFiaW5kZXggLSB0YWJpbmRleCBvZiBidXR0b25cbiAqXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWJ1dHRvbi0tYmdjPXZhcigtLWd2LXRoZW1lLWNvbG9yLWRhcmssICMyODQ0NGYpXSAtIEJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtYnV0dG9uLS1jPXZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItbGlnaHQsICNmZmZmZmYpXSAtIENvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWJ1dHRvbi1wcmltYXJ5LS1jPXZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItbGlnaHQsICNmZmZmZmYpXSAtIFByaW1hcnkgY29sb3JcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtYnV0dG9uLXByaW1hcnktLWJnYz12YXIoLS1ndi10aGVtZS1jb2xvciwgIzVhNzY4NCldIC0gUHJpbWFyeSBiYWNrZ3JvdW5kIGNvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWJ1dHRvbi1kYW5nZXItLWM9dmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1saWdodCwgI2ZmZmZmZildIC0gRGFuZ2VyIGNvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWJ1dHRvbi1kYW5nZXItLWJnYz12YXIoLS1ndi10aGVtZS1jb2xvci1kYW5nZXIsICNmZjU3MjIpXSAtIERhbmdlciBiYWNrZ3JvdW5kIGNvbG9yXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWJ1dHRvbi1vaWRjLS1iZ2M9IzAwMDAwMF0gLSBPSURDIFNvY2lhbCBQcm92aWRlciBidXR0b24gYmFja2dyb3VuZCBjb2xvclxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1idXR0b24tZ3Jhdml0ZWVpb19hbS0tYmdjPSM4NmMzZDBdIC0gR3Jhdml0ZWUuaW8gQU0gU29jaWFsIFByb3ZpZGVyIGJ1dHRvbiBiYWNrZ3JvdW5kIGNvbG9yXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1idXR0b24tLXA9N3B4IDE0cHhdIC0gUGFkZGluZ1xuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtYnV0dG9uLS1mej12YXIoLS1ndi10aGVtZS1mb250LXNpemUtbSwgMTRweCldIC0gRm9udCBzaXplXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1idXR0b24tLWJkcnM9MC4xNXJlbV0gLSBCb3JkZXIgcmFkaXVzXG4gKi9cbmV4cG9ydCBjbGFzcyBHdkJ1dHRvbiBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBkYW5nZXI6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgZGlzYWJsZWQ6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgcHJpbWFyeTogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICBvdXRsaW5lZDogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICBsaW5rOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIGhyZWY6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBza2VsZXRvbjogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICBpY29uOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgaWNvblJpZ2h0OiB7IHR5cGU6IFN0cmluZywgYXR0cmlidXRlOiAnaWNvbi1yaWdodCcgfSxcbiAgICAgIGxvYWRpbmc6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgdGl0bGU6IHsgdHlwZTogU3RyaW5nLCByZWZsZWN0OiB0cnVlIH0sXG4gICAgICBwcm92aWRlcjogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHNtYWxsOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIHRhYmluZGV4OiB7IHR5cGU6IE51bWJlciwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgX2hhc0NvbnRlbnQ6IHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAuMnJlbTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogMjNweDtcbiAgICAgICAgICAtLWdpdGh1Yi0tYzogIzQ0NDtcbiAgICAgICAgICAtLWdvb2dsZS0tYzogIzQyODVmNDtcbiAgICAgICAgICAtLW9pZGMtLWM6IHZhcigtLWd2LWJ1dHRvbi1vaWRjLS1iZ2MsICMwMDAwMDApO1xuICAgICAgICAgIC0tZ3Jhdml0ZWUtLWM6IHZhcigtLWd2LWJ1dHRvbi1ncmF2aXRlZWlvX2FtLS1iZ2MsICM4NmMzZDApO1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoOm5vdChbbGlua10pKSB7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5naXRodWIge1xuICAgICAgICAgIC0tZ3YtYnV0dG9uLS1iZ2M6IHZhcigtLWdpdGh1Yi0tYyk7XG4gICAgICAgIH1cblxuICAgICAgICAuZ29vZ2xlIHtcbiAgICAgICAgICAtLWd2LWJ1dHRvbi0tYmdjOiB2YXIoLS1nb29nbGUtLWMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9pZGMge1xuICAgICAgICAgIC0tZ3YtYnV0dG9uLS1iZ2M6IHZhcigtLW9pZGMtLWMpO1xuICAgICAgICAgIC0tZ3YtYnV0dG9uLWljb24tLWM6ICNmZmY7XG4gICAgICAgIH1cblxuICAgICAgICAub2lkYy5vdXRsaW5lZCB7XG4gICAgICAgICAgLS1ndi1idXR0b24taWNvbi0tYzogdmFyKC0tb2lkYy0tYyk7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLmdyYXZpdGVlaW9fYW0ge1xuICAgICAgICAgIC0tZ3YtYnV0dG9uLS1iZ2M6IHZhcigtLWdyYXZpdGVlLS1jKTtcbiAgICAgICAgICBjb2xvcjogIzM4M2UzZjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFJFU0VUICovXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LWJ1dHRvbi0tZnosIHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1tLCAxNHB4KSk7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24uc21hbGwge1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24uc21hbGw6bm90KC5saW5rKSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMjVweDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIG1pbi13aWR0aDogMjVweDtcbiAgICAgICAgICAtLWd2LWJ1dHRvbi0tcDogMXB4IDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIEJBU0UgKi9cbiAgICAgICAgLmJ1dHRvbjpub3QoLmxpbmspIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ndi1idXR0b24tLWJkcnMsIDAuMTVyZW0pO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzOXB4O1xuICAgICAgICAgIG1pbi13aWR0aDogMzlweDtcbiAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1ndi1idXR0b24tLXAsIDdweCAxNHB4KTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi5pY29uTGVmdDpub3QoLm5vQ29udGVudCkgc2xvdCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24uaWNvblJpZ2h0Om5vdCgubm9Db250ZW50KSBzbG90IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIENPTE9SUyAqL1xuICAgICAgICAuZGVmYXVsdCB7XG4gICAgICAgICAgLS1jOiB2YXIoLS1ndi1idXR0b24tLWMsIHZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItbGlnaHQsICNmZmZmZmYpKTtcbiAgICAgICAgICAtLWJnYzogdmFyKC0tZ3YtYnV0dG9uLS1iZ2MsIHZhcigtLWd2LXRoZW1lLWNvbG9yLWRhcmssICMyODQ0NGYpKTtcbiAgICAgICAgICAtLWljb24tLWM6IHZhcigtLWd2LWJ1dHRvbi0tYywgdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1saWdodCwgI2ZmZmZmZikpO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tYzogdmFyKC0taWNvbi0tYyk7XG4gICAgICAgICAgLS1ndi1pY29uLW9wYWNpdHktLWM6IHZhcigtLWljb24tLWMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaW1hcnkge1xuICAgICAgICAgIC0tYzogdmFyKC0tZ3YtYnV0dG9uLXByaW1hcnktLWMsIHZhcigtLWd2LXRoZW1lLWZvbnQtY29sb3ItbGlnaHQsICNmZmZmZmYpKTtcbiAgICAgICAgICAtLWJnYzogdmFyKC0tZ3YtYnV0dG9uLXByaW1hcnktLWJnYywgdmFyKC0tZ3YtdGhlbWUtY29sb3IsICM1YTc2ODQpKTtcbiAgICAgICAgICAtLWljb24tLWM6IHZhcigtLWd2LWJ1dHRvbi1wcmltYXJ5LS1jLCB2YXIoLS1ndi10aGVtZS1mb250LWNvbG9yLWxpZ2h0LCAjZmZmZmZmKSk7XG4gICAgICAgICAgLS1ndi1pY29uLS1jOiB2YXIoLS1pY29uLS1jKTtcbiAgICAgICAgICAtLWd2LWljb24tb3BhY2l0eS0tYzogdmFyKC0taWNvbi0tYyk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kYW5nZXIge1xuICAgICAgICAgIC0tYzogdmFyKC0tZ3YtYnV0dG9uLWRhbmdlci0tYywgdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1saWdodCwgI2ZmZmZmZikpO1xuICAgICAgICAgIC0tYmdjOiB2YXIoLS1ndi1idXR0b24tZGFuZ2VyLS1iZ2MsIHZhcigtLWd2LXRoZW1lLWNvbG9yLWRhbmdlciwgI2ZmNTcyMikpO1xuICAgICAgICAgIC0taWNvbi0tYzogdmFyKC0tZ3YtYnV0dG9uLWRhbmdlci0tYywgdmFyKC0tZ3YtdGhlbWUtZm9udC1jb2xvci1saWdodCwgI2ZmZmZmZikpO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tYzogdmFyKC0taWNvbi0tYyk7XG4gICAgICAgICAgLS1ndi1pY29uLW9wYWNpdHktLWM6IHZhcigtLWljb24tLWMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogTU9ERVMgKi9cbiAgICAgICAgOmhvc3QoW3NrZWxldG9uXSkgLmJ1dHRvbjpub3QoLmxpbmspIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWd2LXRoZW1lLXNrZWxldG9uLWNvbG9yLCAjYmZiZmJmKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b246bm90KC5saW5rKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmdjKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJnYyk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi5vdXRsaW5lZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYyk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWJnYyk7XG4gICAgICAgICAgLS1ndi1pY29uLS1jOiB2YXIoLS1iZ2MpO1xuICAgICAgICAgIC0tZ3YtaWNvbi1vcGFjaXR5LS1jOiB2YXIoLS1iZ2MpO1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoOmZvY3VzKSAuYnV0dG9uOm5vdCgubGluayk6bm90KC5kaXNhYmxlZCksXG4gICAgICAgIDpob3N0KDpob3ZlcikgLmJ1dHRvbjpub3QoLmxpbmspOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggdmFyKC0tZ3YtdGhlbWUtY29sb3ItZGFya2VyLCAjMzgzZTNmKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDpob3N0KDphY3RpdmUpIC5idXR0b24ge1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLmRpc2FibGVkIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi5za2VsZXRvbiA+IGd2LWljb24ge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBUUkFOU0lUSU9OUyAqL1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDc1bXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBXZSBjYW4gZG8gdGhpcyBiZWNhdXNlIHdlIHNldCBhIHZpc2libGUgZm9jdXMgc3RhdGUgKi9cbiAgICAgICAgLmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiBzbG90IHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ubm9Db250ZW50IHNsb3Qge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubG9hZGluZyBndi1pY29uIHtcbiAgICAgICAgICBhbmltYXRpb246IHNwaW5uZXIgMS42cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvYWRpbmcuc21hbGwgZ3YtaWNvbiB7XG4gICAgICAgICAgLS1ndi1pY29uLS1zOiAxOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGtleWZyYW1lcyBzcGlubmVyIHtcbiAgICAgICAgICB0byB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5rIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uLmxpbmsge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoW3NrZWxldG9uXSkgLmxpbmsge1xuICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICAgIHNrZWxldG9uLFxuICAgICAgbGluayxcbiAgICBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnRhYmluZGV4ID0gMDtcbiAgICB0aGlzLnR5cGUgPSAnYnV0dG9uJztcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fb25DbGljay5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIF9vbktleURvd24oZSkge1xuICAgIGlmIChlLmtleUNvZGUgPT09IDMyIHx8IGUua2V5Q29kZSA9PT0gMTMpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuX29uQ2xpY2soZSk7XG4gICAgfVxuICB9XG5cbiAgX29uQ2xpY2soZSkge1xuICAgIGlmICh0aGlzLmhyZWYpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLmxvYWRpbmcgJiYgIXRoaXMuc2tlbGV0b24pIHtcbiAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLmNsb3Nlc3QoJ2Zvcm0nKTtcbiAgICAgIGlmIChmb3JtICYmIHRoaXMudHlwZSA9PT0gJ3N1Ym1pdCcpIHtcbiAgICAgICAgZm9ybS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnc3VibWl0JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcbiAgICAgIH1cbiAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2NsaWNrJyk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcGVyZm9ybVVwZGF0ZSgpIHtcbiAgICBzdXBlci5wZXJmb3JtVXBkYXRlKCk7XG4gICAgY29uc3QgaWNvbiA9IHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCdndi1pY29uJyk7XG4gICAgaWYgKGljb24pIHtcbiAgICAgIGljb24ucGVyZm9ybVVwZGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgYnV0dG9uOiB0cnVlLFxuICAgICAgcHJpbWFyeTogdGhpcy5wcmltYXJ5ICYmICF0aGlzLmRhbmdlcixcbiAgICAgIGRhbmdlcjogdGhpcy5kYW5nZXIsXG4gICAgICBza2VsZXRvbjogdGhpcy5za2VsZXRvbiAmJiAhdGhpcy5saW5rLFxuICAgICAgZGVmYXVsdDogIXRoaXMucHJpbWFyeSAmJiAhdGhpcy5kYW5nZXIgJiYgIXRoaXMubGluayxcbiAgICAgIG91dGxpbmVkOiB0aGlzLm91dGxpbmVkLFxuICAgICAgaWNvbjogdGhpcy5pY29uIHx8IHRoaXMuaWNvblJpZ2h0LFxuICAgICAgaWNvbkxlZnQ6IHRoaXMuX2hhc0ljb25MZWZ0KCksXG4gICAgICBpY29uUmlnaHQ6IHRoaXMuaWNvblJpZ2h0LFxuICAgICAgbG9hZGluZzogdGhpcy5sb2FkaW5nICYmICF0aGlzLmxpbmssXG4gICAgICBsaW5rOiB0aGlzLmxpbmsgJiYgIXRoaXMucHJpbWFyeSAmJiAhdGhpcy5kYW5nZXIsXG4gICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICAgIHNtYWxsOiB0aGlzLnNtYWxsLFxuICAgICAgbm9Db250ZW50OiAhdGhpcy5faGFzQ29udGVudCxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMucHJvdmlkZXIpIHtcbiAgICAgIGNsYXNzZXNbdGhpcy5wcm92aWRlcl0gPSB0cnVlO1xuICAgICAgdGhpcy5pY29uID0gYHRoaXJkcGFydHk6JHt0aGlzLnByb3ZpZGVyfWA7XG4gICAgICBjbGFzc2VzLmljb24gPSB0cnVlO1xuICAgICAgY2xhc3Nlcy5pY29uTGVmdCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaHJlZikge1xuICAgICAgcmV0dXJuIGh0bWxgPGEgdGFiaW5kZXg9XCItMVwiIC5ocmVmPVwiJHt0aGlzLmhyZWZ9XCIgLnRpdGxlPVwiJHtpZkRlZmluZWQodGhpcy50aXRsZSl9XCIgY2xhc3M9JHtjbGFzc01hcChjbGFzc2VzKX0+XG4gICAgICAgICR7dGhpcy5fZ2V0SWNvbkxlZnQoKX1cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICAke3RoaXMuX2dldEljb25SaWdodCgpfVxuICAgICAgPC9hPmA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBodG1sYDxidXR0b25cbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgIHR5cGU9JHt0aGlzLnR5cGUgfHwgJ2J1dHRvbid9XG4gICAgICAgIC50aXRsZT1cIiR7aWZEZWZpbmVkKHRoaXMudGl0bGUpfVwiXG4gICAgICAgIGNsYXNzPSR7Y2xhc3NNYXAoY2xhc3Nlcyl9XG4gICAgICAgIC5kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWQgfHwgdGhpcy5za2VsZXRvbn1cbiAgICAgID5cbiAgICAgICAgJHt0aGlzLl9nZXRJY29uTGVmdCgpfVxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICR7dGhpcy5fZ2V0SWNvblJpZ2h0KCl9XG4gICAgICA8L2J1dHRvbj5gO1xuICAgIH1cbiAgfVxuXG4gIF9nZXRJY29uUmlnaHQoKSB7XG4gICAgaWYgKHRoaXMuaWNvblJpZ2h0KSB7XG4gICAgICBpZiAodGhpcy5sb2FkaW5nICYmICF0aGlzLmljb24gJiYgIXRoaXMubGluaykge1xuICAgICAgICByZXR1cm4gaHRtbGA8Z3YtaWNvbiBzaGFwZT1cIm5hdmlnYXRpb246d2FpdGluZ1wiIC50aXRsZT1cIiR7aWZEZWZpbmVkKHRoaXMudGl0bGUpfVwiPjwvZ3YtaWNvbj5gO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGh0bWxgPGd2LWljb24gc2hhcGU9XCIke3RoaXMuaWNvblJpZ2h0fVwiIC50aXRsZT1cIiR7aWZEZWZpbmVkKHRoaXMudGl0bGUpfVwiPjwvZ3YtaWNvbj5gO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBfaGFzSWNvbkxlZnQoKSB7XG4gICAgcmV0dXJuICh0aGlzLmljb24gfHwgdGhpcy5sb2FkaW5nKSAmJiAhdGhpcy5pY29uUmlnaHQ7XG4gIH1cblxuICBfZ2V0SWNvbkxlZnQoKSB7XG4gICAgaWYgKHRoaXMuX2hhc0ljb25MZWZ0KCkpIHtcbiAgICAgIGlmICh0aGlzLmxvYWRpbmcgJiYgIXRoaXMubGluaykge1xuICAgICAgICByZXR1cm4gaHRtbGA8Z3YtaWNvbiBzaGFwZT1cIm5hdmlnYXRpb246d2FpdGluZ1wiIC50aXRsZT1cIiR7aWZEZWZpbmVkKHRoaXMudGl0bGUpfVwiPjwvZ3YtaWNvbj5gO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGh0bWxgPGd2LWljb24gc2hhcGU9XCIke3RoaXMuaWNvbn1cIiAudGl0bGU9XCIke2lmRGVmaW5lZCh0aGlzLnRpdGxlKX1cIj48L2d2LWljb24+YDtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZmlyc3RVcGRhdGVkKCkge1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX29uS2V5RG93bik7XG4gIH1cblxuICB1cGRhdGVkKF9jaGFuZ2VkUHJvcGVydGllcykge1xuICAgIHN1cGVyLnVwZGF0ZWQoX2NoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICBjb25zdCBzbG90ID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ3Nsb3QnKTtcbiAgICB0aGlzLl9oYXNDb250ZW50ID1cbiAgICAgIHNsb3RcbiAgICAgICAgLmFzc2lnbmVkTm9kZXMoKVxuICAgICAgICAubWFwKChub2RlKSA9PiBub2RlLnRleHRDb250ZW50KVxuICAgICAgICAuZmlsdGVyKCh0ZXh0KSA9PiB0ZXh0LnRyaW0oKSAhPT0gJycpLmxlbmd0aCA+IDA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtYnV0dG9uJywgR3ZCdXR0b24pO1xuIl19
|
package/src/atoms/gv-checkbox.js
CHANGED
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { classMap } from 'lit
|
|
17
|
-
import { LitElement, html, css } from 'lit
|
|
16
|
+
import { classMap } from 'lit/directives/class-map';
|
|
17
|
+
import { LitElement, html, css } from 'lit';
|
|
18
18
|
import { skeleton } from '../styles/skeleton';
|
|
19
19
|
import { dispatchCustomEvent } from '../lib/events';
|
|
20
20
|
import { InputElement } from '../mixins/input-element';
|
|
@@ -126,4 +126,4 @@ export class GvCheckbox extends InputElement(LitElement) {
|
|
|
126
126
|
|
|
127
127
|
}
|
|
128
128
|
window.customElements.define('gv-checkbox', GvCheckbox);
|
|
129
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWNoZWNrYm94LmpzIl0sIm5hbWVzIjpbImNsYXNzTWFwIiwiTGl0RWxlbWVudCIsImh0bWwiLCJjc3MiLCJza2VsZXRvbiIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJJbnB1dEVsZW1lbnQiLCJHdkNoZWNrYm94IiwicHJvcGVydGllcyIsImRpc2FibGVkIiwidHlwZSIsIkJvb2xlYW4iLCJ2YWx1ZSIsIlN0cmluZyIsInJlZmxlY3QiLCJjaGVja2VkIiwibGFiZWwiLCJ0aXRsZSIsInN0eWxlcyIsImNvbnN0cnVjdG9yIiwiX3R5cGUiLCJfcmVuZGVyTGFiZWwiLCJfb25JbnB1dCIsInNldFRpbWVvdXQiLCJkaXNwYXRjaEV2ZW50IiwiRXZlbnQiLCJidWJibGVzIiwiY2FuY2VsYWJsZSIsInVwZGF0ZWQiLCJoYXMiLCJyZW5kZXIiLCJjbGFzc2VzIiwicmVxdWlyZWQiLCJjb250YWluZXIiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsUUFBVCxRQUF5QiwrQkFBekI7QUFFQSxTQUFTQyxVQUFULEVBQXFCQyxJQUFyQixFQUEyQkMsR0FBM0IsUUFBc0MsYUFBdEM7QUFDQSxTQUFTQyxRQUFULFFBQXlCLG9CQUF6QjtBQUNBLFNBQVNDLG1CQUFULFFBQW9DLGVBQXBDO0FBQ0EsU0FBU0MsWUFBVCxRQUE2Qix5QkFBN0I7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLE1BQU1DLFVBQU4sU0FBeUJELFlBQVksQ0FBQ0wsVUFBRCxDQUFyQyxDQUFrRDtBQUNsQyxhQUFWTyxVQUFVLEdBQUc7QUFDdEIsV0FBTztBQUNMQyxNQUFBQSxRQUFRLEVBQUU7QUFBRUMsUUFBQUEsSUFBSSxFQUFFQztBQUFSLE9BREw7QUFFTFAsTUFBQUEsUUFBUSxFQUFFO0FBQUVNLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQUZMO0FBR0xDLE1BQUFBLEtBQUssRUFBRTtBQUFFRixRQUFBQSxJQUFJLEVBQUVHLE1BQVI7QUFBZ0JDLFFBQUFBLE9BQU8sRUFBRTtBQUF6QixPQUhGO0FBSUxDLE1BQUFBLE9BQU8sRUFBRTtBQUFFTCxRQUFBQSxJQUFJLEVBQUVDLE9BQVI7QUFBaUJHLFFBQUFBLE9BQU8sRUFBRTtBQUExQixPQUpKO0FBS0xFLE1BQUFBLEtBQUssRUFBRTtBQUFFTixRQUFBQSxJQUFJLEVBQUVHO0FBQVIsT0FMRjtBQU1MSSxNQUFBQSxLQUFLLEVBQUU7QUFBRVAsUUFBQUEsSUFBSSxFQUFFRztBQUFSO0FBTkYsS0FBUDtBQVFEOztBQUVnQixhQUFOSyxNQUFNLEdBQUc7QUFDbEIsV0FBTyxDQUNMZCxRQURLLEVBRUw7QUFDQUQsSUFBQUEsR0FBRyxzeEJBSEUsQ0FBUDtBQXdFRDs7QUFFRGdCLEVBQUFBLFdBQVcsR0FBRztBQUNaO0FBQ0EsU0FBS0MsS0FBTCxHQUFhLFVBQWI7QUFDQSxTQUFLTCxPQUFMLEdBQWUsS0FBZjtBQUNBLFNBQUtILEtBQUwsR0FBYSxLQUFiO0FBQ0Q7O0FBRURTLEVBQUFBLFlBQVksR0FBRztBQUNiLFFBQUksS0FBS0wsS0FBVCxFQUFnQjtBQUNkLGFBQU9kLElBQUksaUJBQ0FGLFFBQVEsQ0FBQztBQUNoQlMsUUFBQUEsUUFBUSxFQUFFLEtBQUtBLFFBREM7QUFFaEJMLFFBQUFBLFFBQVEsRUFBRSxLQUFLQSxRQUZDO0FBR2hCLDBCQUFrQjtBQUhGLE9BQUQsQ0FEUixZQU1BLEtBQUtZLEtBTkwsTUFRUCxLQUFLQSxLQVJFLFlBQVg7QUFVRDs7QUFDRCxXQUFPLEVBQVA7QUFDRDs7QUFFRE0sRUFBQUEsUUFBUSxHQUFHO0FBQ1QsUUFBSSxFQUFFLEtBQUtiLFFBQUwsSUFBaUIsS0FBS0wsUUFBeEIsQ0FBSixFQUF1QztBQUNyQyxXQUFLVyxPQUFMLEdBQWUsQ0FBQyxLQUFLQSxPQUFyQixDQURxQyxDQUVyQzs7QUFDQVEsTUFBQUEsVUFBVSxDQUFDLE1BQU07QUFDZmxCLFFBQUFBLG1CQUFtQixDQUFDLElBQUQsRUFBTyxPQUFQLEVBQWdCLEtBQUtVLE9BQXJCLENBQW5CO0FBQ0EsYUFBS1MsYUFBTCxDQUFtQixJQUFJQyxLQUFKLENBQVUsT0FBVixFQUFtQjtBQUFFQyxVQUFBQSxPQUFPLEVBQUUsSUFBWDtBQUFpQkMsVUFBQUEsVUFBVSxFQUFFO0FBQTdCLFNBQW5CLENBQW5CO0FBQ0EsYUFBS0gsYUFBTCxDQUFtQixJQUFJQyxLQUFKLENBQVUsUUFBVixFQUFvQjtBQUFFQyxVQUFBQSxPQUFPLEVBQUUsSUFBWDtBQUFpQkMsVUFBQUEsVUFBVSxFQUFFO0FBQTdCLFNBQXBCLENBQW5CO0FBQ0QsT0FKUyxFQUlQLENBSk8sQ0FBVjtBQUtEO0FBQ0Y7O0FBRURDLEVBQUFBLE9BQU8sQ0FBQ3BCLFVBQUQsRUFBYTtBQUNsQixRQUFJQSxVQUFVLENBQUNxQixHQUFYLENBQWUsU0FBZixNQUE4QixLQUFLakIsS0FBTCxLQUFlLEtBQWYsSUFBd0IsS0FBS0EsS0FBTCxLQUFlLElBQXJFLENBQUosRUFBZ0Y7QUFDOUUsV0FBS0EsS0FBTCxHQUFhLEtBQUtHLE9BQUwsR0FBZSxJQUFmLEdBQXNCLEtBQW5DO0FBQ0Q7QUFDRjs7QUFFRGUsRUFBQUEsTUFBTSxHQUFHO0FBQ1AsVUFBTUMsT0FBTyxHQUFHO0FBQ2QzQixNQUFBQSxRQUFRLEVBQUUsS0FBS0EsUUFERDtBQUVkSyxNQUFBQSxRQUFRLEVBQUUsS0FBS0EsUUFGRDtBQUdkdUIsTUFBQUEsUUFBUSxFQUFFLEtBQUtBLFFBSEQ7QUFJZEMsTUFBQUEsU0FBUyxFQUFFO0FBSkcsS0FBaEI7QUFNQSxXQUFPL0IsSUFBSSxnQkFDSUYsUUFBUSxDQUFDK0IsT0FBRCxDQURaLDZDQUVpQyxLQUFLVCxRQUZ0QyxzREFHa0MsS0FBS0EsUUFIdkMsWUFHeUR0QixRQUFRLENBQUM7QUFBRWUsTUFBQUEsT0FBTyxFQUFFLEtBQUtBO0FBQWhCLEtBQUQsQ0FIakUsa0RBSVMsS0FBS08sUUFKZCxLQUkwQixLQUFLRCxZQUFMLEVBSjFCLGtCQUFYO0FBT0Q7O0FBOUlzRDtBQWlKekRhLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsYUFBN0IsRUFBNEM3QixVQUE1QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjbGFzc01hcCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcblxuaW1wb3J0IHsgTGl0RWxlbWVudCwgaHRtbCwgY3NzIH0gZnJvbSAnbGl0LWVsZW1lbnQnO1xuaW1wb3J0IHsgc2tlbGV0b24gfSBmcm9tICcuLi9zdHlsZXMvc2tlbGV0b24nO1xuaW1wb3J0IHsgZGlzcGF0Y2hDdXN0b21FdmVudCB9IGZyb20gJy4uL2xpYi9ldmVudHMnO1xuaW1wb3J0IHsgSW5wdXRFbGVtZW50IH0gZnJvbSAnLi4vbWl4aW5zL2lucHV0LWVsZW1lbnQnO1xuXG4vKipcbiAqIEEgd3JhcHBlciBvZiBhIDxjaGVja2JveD4gY29tcG9uZW50LlxuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBmaXJlcyBndi1jaGVja2JveDppbnB1dCAtIG1pcnJvcnMgbmF0aXZlIGlucHV0IGV2ZW50cyB3aXRoIHRoZSBgdmFsdWVgIG9uIGBkZXRhaWxgXG4gKiBAZmlyZXMgaW5wdXQgLSBuYXRpdmUgaW5wdXQgZXZlbnRcbiAqIEBmaXJlcyBjaGFuZ2UgLSBuYXRpdmUgY2hhbmdlIGV2ZW50XG4gKlxuICogQGF0dHIge0Jvb2xlYW59IGRpc2FibGVkIC0gc2FtZSBhcyBuYXRpdmUgY2hlY2tib3ggZWxlbWVudCBgZGlzYWJsZWRgIGF0dHJpYnV0ZVxuICogQGF0dHIge0Jvb2xlYW59IHNrZWxldG9uIC0gZW5hYmxlIHNrZWxldG9uIHNjcmVlbiBVSSBwYXR0ZXJuIChsb2FkaW5nIGhpbnQpXG4gKiBAYXR0ciB7U3RyaW5nfSB2YWx1ZSAtIFRoZSBzdHJpbmcgdG8gdXNlIGFzIHRoZSB2YWx1ZSBvZiB0aGUgY2hlY2tib3ggd2hlbiBzdWJtaXR0aW5nIHRoZSBmb3JtLCBpZiB0aGUgY2hlY2tib3ggaXMgY3VycmVudGx5IHRvZ2dsZWQgb25cbiAqIEBhdHRyIHtCb29sZWFufSBjaGVja2VkIC0gdHJ1ZSBpZiB0aGUgY2hlY2tib3ggaXMgY2hlY2tlZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gKiBAYXR0ciB7U3RyaW5nfSBsYWJlbCAtIGxhYmVsIG9mIHRoZSBjaGVja2JveFxuICogQGF0dHIge1N0cmluZ30gdGl0bGUgLSB0aXRsZSBvZiB0aGUgY2hlY2tib3hcbiAqXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LWNoZWNrYm94LS1iZ2M9dmFyKC0tZ3YtdGhlbWUtY29sb3IsICM1YTc2ODQpXSAtIENoZWNrZWQgYmFja2dyb3VuZCBjb2xvclxuICovXG5leHBvcnQgY2xhc3MgR3ZDaGVja2JveCBleHRlbmRzIElucHV0RWxlbWVudChMaXRFbGVtZW50KSB7XG4gIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZGlzYWJsZWQ6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgc2tlbGV0b246IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgdmFsdWU6IHsgdHlwZTogU3RyaW5nLCByZWZsZWN0OiB0cnVlIH0sXG4gICAgICBjaGVja2VkOiB7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIGxhYmVsOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgdGl0bGU6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiBbXG4gICAgICBza2VsZXRvbixcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tYzogdmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvci1kYXJrLCAjZDlkOWQ5KTtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogQkFTRSAqL1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvci1kYXJrLCAjZDlkOWQ5KTtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQ6ZGlzYWJsZWQge1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXF1aXJlZCA+IGxhYmVsOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyonO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1ndi10aGVtZS1jb2xvci1kYW5nZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaWNvbiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaWNvbi5jaGVja2VkIHtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IDIwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3YtY2hlY2tib3gtLWJnYywgdmFyKC0tZ3YtdGhlbWUtY29sb3IsICM1YTc2ODQpKTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGd2LWljb246ZGlzYWJsZWQge1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cblxuICAgICAgICAuZGlzYWJsZWQsXG4gICAgICAgIC5za2VsZXRvbiB7XG4gICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwgYWJiciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fdHlwZSA9ICdjaGVja2JveCc7XG4gICAgdGhpcy5jaGVja2VkID0gZmFsc2U7XG4gICAgdGhpcy52YWx1ZSA9ICdvZmYnO1xuICB9XG5cbiAgX3JlbmRlckxhYmVsKCkge1xuICAgIGlmICh0aGlzLmxhYmVsKSB7XG4gICAgICByZXR1cm4gaHRtbGA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCIke2NsYXNzTWFwKHtcbiAgICAgICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICAgICAgICBza2VsZXRvbjogdGhpcy5za2VsZXRvbixcbiAgICAgICAgICAnY2hlY2tib3gtbGFiZWwnOiB0cnVlLFxuICAgICAgICB9KX1cIlxuICAgICAgICB0aXRsZT1cIiR7dGhpcy5sYWJlbH1cIlxuICAgICAgPlxuICAgICAgICAke3RoaXMubGFiZWx9XG4gICAgICA8L2xhYmVsPiBgO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBfb25JbnB1dCgpIHtcbiAgICBpZiAoISh0aGlzLmRpc2FibGVkIHx8IHRoaXMuc2tlbGV0b24pKSB7XG4gICAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgICAgLy8gTXVzdCBkaXNwYXRjaCBldmVudHMgYWZ0ZXIgYWxsIHByb3BlcnRpZXMgYXJlIHVwZGF0ZWRcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdpbnB1dCcsIHRoaXMuY2hlY2tlZCk7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcbiAgICAgIH0sIDApO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZWQocHJvcGVydGllcykge1xuICAgIGlmIChwcm9wZXJ0aWVzLmhhcygnY2hlY2tlZCcpICYmICh0aGlzLnZhbHVlID09PSAnb2ZmJyB8fCB0aGlzLnZhbHVlID09PSAnb24nKSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuY2hlY2tlZCA/ICdvbicgOiAnb2ZmJztcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICAgIHNrZWxldG9uOiB0aGlzLnNrZWxldG9uLFxuICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICByZXF1aXJlZDogdGhpcy5yZXF1aXJlZCxcbiAgICAgIGNvbnRhaW5lcjogdHJ1ZSxcbiAgICB9O1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz0ke2NsYXNzTWFwKGNsYXNzZXMpfT5cbiAgICAgICAgPGd2LWljb24gc2hhcGU9XCJkZXNpZ246Ym9yZGVyXCIgQGNsaWNrPSR7dGhpcy5fb25JbnB1dH0+PC9ndi1pY29uPlxuICAgICAgICA8Z3YtaWNvbiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgQGNsaWNrPSR7dGhpcy5fb25JbnB1dH0gY2xhc3M9JHtjbGFzc01hcCh7IGNoZWNrZWQ6IHRoaXMuY2hlY2tlZCB9KX0gc2hhcGU9XCJjb2RlOmNoZWNrXCI+PC9ndi1pY29uPlxuICAgICAgICA8bGFiZWwgQGNsaWNrPSR7dGhpcy5fb25JbnB1dH0+JHt0aGlzLl9yZW5kZXJMYWJlbCgpfTwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LWNoZWNrYm94JywgR3ZDaGVja2JveCk7XG4iXX0=
|
|
129
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL2F0b21zL2d2LWNoZWNrYm94LmpzIl0sIm5hbWVzIjpbImNsYXNzTWFwIiwiTGl0RWxlbWVudCIsImh0bWwiLCJjc3MiLCJza2VsZXRvbiIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJJbnB1dEVsZW1lbnQiLCJHdkNoZWNrYm94IiwicHJvcGVydGllcyIsImRpc2FibGVkIiwidHlwZSIsIkJvb2xlYW4iLCJ2YWx1ZSIsIlN0cmluZyIsInJlZmxlY3QiLCJjaGVja2VkIiwibGFiZWwiLCJ0aXRsZSIsInN0eWxlcyIsImNvbnN0cnVjdG9yIiwiX3R5cGUiLCJfcmVuZGVyTGFiZWwiLCJfb25JbnB1dCIsInNldFRpbWVvdXQiLCJkaXNwYXRjaEV2ZW50IiwiRXZlbnQiLCJidWJibGVzIiwiY2FuY2VsYWJsZSIsInVwZGF0ZWQiLCJoYXMiLCJyZW5kZXIiLCJjbGFzc2VzIiwicmVxdWlyZWQiLCJjb250YWluZXIiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsUUFBVCxRQUF5QiwwQkFBekI7QUFFQSxTQUFTQyxVQUFULEVBQXFCQyxJQUFyQixFQUEyQkMsR0FBM0IsUUFBc0MsS0FBdEM7QUFDQSxTQUFTQyxRQUFULFFBQXlCLG9CQUF6QjtBQUNBLFNBQVNDLG1CQUFULFFBQW9DLGVBQXBDO0FBQ0EsU0FBU0MsWUFBVCxRQUE2Qix5QkFBN0I7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLE1BQU1DLFVBQU4sU0FBeUJELFlBQVksQ0FBQ0wsVUFBRCxDQUFy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QUVpQyxLQUFLVCxRQUZ0QyxzREFHa0MsS0FBS0EsUUFIdkMsWUFHeUR0QixRQUFRLENBQUM7QUFBRWUsTUFBQUEsT0FBTyxFQUFFLEtBQUtBO0FBQWhCLEtBQUQsQ0FIakUsa0RBSVMsS0FBS08sUUFKZCxLQUkwQixLQUFLRCxZQUFMLEVBSjFCLGtCQUFYO0FBT0Q7O0FBOUlzRDtBQWlKekRhLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsYUFBN0IsRUFBNEM3QixVQUE1QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjbGFzc01hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL2NsYXNzLW1hcCc7XG5cbmltcG9ydCB7IExpdEVsZW1lbnQsIGh0bWwsIGNzcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBza2VsZXRvbiB9IGZyb20gJy4uL3N0eWxlcy9za2VsZXRvbic7XG5pbXBvcnQgeyBkaXNwYXRjaEN1c3RvbUV2ZW50IH0gZnJvbSAnLi4vbGliL2V2ZW50cyc7XG5pbXBvcnQgeyBJbnB1dEVsZW1lbnQgfSBmcm9tICcuLi9taXhpbnMvaW5wdXQtZWxlbWVudCc7XG5cbi8qKlxuICogQSB3cmFwcGVyIG9mIGEgPGNoZWNrYm94PiBjb21wb25lbnQuXG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQGZpcmVzIGd2LWNoZWNrYm94OmlucHV0IC0gbWlycm9ycyBuYXRpdmUgaW5wdXQgZXZlbnRzIHdpdGggdGhlIGB2YWx1ZWAgb24gYGRldGFpbGBcbiAqIEBmaXJlcyBpbnB1dCAtIG5hdGl2ZSBpbnB1dCBldmVudFxuICogQGZpcmVzIGNoYW5nZSAtIG5hdGl2ZSBjaGFuZ2UgZXZlbnRcbiAqXG4gKiBAYXR0ciB7Qm9vbGVhbn0gZGlzYWJsZWQgLSBzYW1lIGFzIG5hdGl2ZSBjaGVja2JveCBlbGVtZW50IGBkaXNhYmxlZGAgYXR0cmlidXRlXG4gKiBAYXR0ciB7Qm9vbGVhbn0gc2tlbGV0b24gLSBlbmFibGUgc2tlbGV0b24gc2NyZWVuIFVJIHBhdHRlcm4gKGxvYWRpbmcgaGludClcbiAqIEBhdHRyIHtTdHJpbmd9IHZhbHVlIC0gVGhlIHN0cmluZyB0byB1c2UgYXMgdGhlIHZhbHVlIG9mIHRoZSBjaGVja2JveCB3aGVuIHN1Ym1pdHRpbmcgdGhlIGZvcm0sIGlmIHRoZSBjaGVja2JveCBpcyBjdXJyZW50bHkgdG9nZ2xlZCBvblxuICogQGF0dHIge0Jvb2xlYW59IGNoZWNrZWQgLSB0cnVlIGlmIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLCBmYWxzZSBvdGhlcndpc2VcbiAqIEBhdHRyIHtTdHJpbmd9IGxhYmVsIC0gbGFiZWwgb2YgdGhlIGNoZWNrYm94XG4gKiBAYXR0ciB7U3RyaW5nfSB0aXRsZSAtIHRpdGxlIG9mIHRoZSBjaGVja2JveFxuICpcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtY2hlY2tib3gtLWJnYz12YXIoLS1ndi10aGVtZS1jb2xvciwgIzVhNzY4NCldIC0gQ2hlY2tlZCBiYWNrZ3JvdW5kIGNvbG9yXG4gKi9cbmV4cG9ydCBjbGFzcyBHdkNoZWNrYm94IGV4dGVuZHMgSW5wdXRFbGVtZW50KExpdEVsZW1lbnQpIHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBkaXNhYmxlZDogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICBza2VsZXRvbjogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICB2YWx1ZTogeyB0eXBlOiBTdHJpbmcsIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIGNoZWNrZWQ6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgbGFiZWw6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICB0aXRsZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHNrZWxldG9uLFxuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgLS1ndi1pY29uLS1jOiB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNkOWQ5ZDkpO1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBCQVNFICovXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWRhcmssICNkOWQ5ZDkpO1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dDpkaXNhYmxlZCB7XG4gICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlcXVpcmVkID4gbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnKic7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWd2LXRoZW1lLWNvbG9yLWRhbmdlcik7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pY29uIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pY29uLmNoZWNrZWQge1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogMjBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi1jaGVja2JveC0tYmdjLCB2YXIoLS1ndi10aGVtZS1jb2xvciwgIzVhNzY4NCkpO1xuICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW46IDVweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaWNvbjpkaXNhYmxlZCB7XG4gICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kaXNhYmxlZCxcbiAgICAgICAgLnNrZWxldG9uIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCBhYmJyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICAgIGZvbnQtdmFyaWFudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl90eXBlID0gJ2NoZWNrYm94JztcbiAgICB0aGlzLmNoZWNrZWQgPSBmYWxzZTtcbiAgICB0aGlzLnZhbHVlID0gJ29mZic7XG4gIH1cblxuICBfcmVuZGVyTGFiZWwoKSB7XG4gICAgaWYgKHRoaXMubGFiZWwpIHtcbiAgICAgIHJldHVybiBodG1sYDxsYWJlbFxuICAgICAgICBjbGFzcz1cIiR7Y2xhc3NNYXAoe1xuICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxuICAgICAgICAgIHNrZWxldG9uOiB0aGlzLnNrZWxldG9uLFxuICAgICAgICAgICdjaGVja2JveC1sYWJlbCc6IHRydWUsXG4gICAgICAgIH0pfVwiXG4gICAgICAgIHRpdGxlPVwiJHt0aGlzLmxhYmVsfVwiXG4gICAgICA+XG4gICAgICAgICR7dGhpcy5sYWJlbH1cbiAgICAgIDwvbGFiZWw+IGA7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIF9vbklucHV0KCkge1xuICAgIGlmICghKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5za2VsZXRvbikpIHtcbiAgICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gICAgICAvLyBNdXN0IGRpc3BhdGNoIGV2ZW50cyBhZnRlciBhbGwgcHJvcGVydGllcyBhcmUgdXBkYXRlZFxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2lucHV0JywgdGhpcy5jaGVja2VkKTtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICAgICAgfSwgMCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlZChwcm9wZXJ0aWVzKSB7XG4gICAgaWYgKHByb3BlcnRpZXMuaGFzKCdjaGVja2VkJykgJiYgKHRoaXMudmFsdWUgPT09ICdvZmYnIHx8IHRoaXMudmFsdWUgPT09ICdvbicpKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5jaGVja2VkID8gJ29uJyA6ICdvZmYnO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgc2tlbGV0b246IHRoaXMuc2tlbGV0b24sXG4gICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICAgIHJlcXVpcmVkOiB0aGlzLnJlcXVpcmVkLFxuICAgICAgY29udGFpbmVyOiB0cnVlLFxuICAgIH07XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPSR7Y2xhc3NNYXAoY2xhc3Nlcyl9PlxuICAgICAgICA8Z3YtaWNvbiBzaGFwZT1cImRlc2lnbjpib3JkZXJcIiBAY2xpY2s9JHt0aGlzLl9vbklucHV0fT48L2d2LWljb24+XG4gICAgICAgIDxndi1pY29uIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIiBAY2xpY2s9JHt0aGlzLl9vbklucHV0fSBjbGFzcz0ke2NsYXNzTWFwKHsgY2hlY2tlZDogdGhpcy5jaGVja2VkIH0pfSBzaGFwZT1cImNvZGU6Y2hlY2tcIj48L2d2LWljb24+XG4gICAgICAgIDxsYWJlbCBAY2xpY2s9JHt0aGlzLl9vbklucHV0fT4ke3RoaXMuX3JlbmRlckxhYmVsKCl9PC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtY2hlY2tib3gnLCBHdkNoZWNrYm94KTtcbiJdfQ==
|