kepler.gl 3.1.0-alpha.6 → 3.1.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/dist/src/actions/src/action-types.d.ts +2 -0
- package/dist/src/actions/src/ui-state-actions.d.ts +16 -0
- package/dist/src/ai-assistant/src/actions.d.ts +1 -1
- package/dist/src/ai-assistant/src/components/ai-assistant-component.d.ts +2 -1
- package/dist/src/ai-assistant/src/constants.d.ts +3 -3
- package/dist/src/ai-assistant/src/reducers/index.d.ts +1 -1
- package/dist/src/ai-assistant/src/tools/basemap-functions.d.ts +1 -1
- package/dist/src/ai-assistant/src/tools/filter-function.d.ts +1 -1
- package/dist/src/ai-assistant/src/tools/layer-creation-function.d.ts +1 -1
- package/dist/src/ai-assistant/src/tools/layer-style-function.d.ts +1 -1
- package/dist/src/ai-assistant/src/tools/loadurl-function.d.ts +1 -1
- package/dist/src/ai-assistant/src/tools/utils.d.ts +73 -0
- package/dist/src/components/src/common/data-table/index.d.ts +1 -1
- package/dist/src/components/src/common/data-table/option-dropdown.d.ts +3 -3
- package/dist/src/components/src/common/file-uploader/file-drop.d.ts +2 -2
- package/dist/src/components/src/kepler-gl.d.ts +5 -0
- package/dist/src/components/src/loading-indicator.d.ts +13 -0
- package/dist/src/components/src/map-container.d.ts +3 -0
- package/dist/src/constants/src/default-settings.d.ts +1 -0
- package/dist/src/duckdb/src/plugin.d.ts +1 -0
- package/dist/src/duckdb/src/table/duckdb-table-utils.d.ts +13 -0
- package/dist/src/duckdb/src/table/duckdb-table.d.ts +7 -2
- package/dist/src/reducers/src/ui-state-updaters.d.ts +10 -0
- package/dist/src/reducers/src/vis-state-updaters.d.ts +1 -0
- package/dist/src/reducers/src/vis-state.d.ts +4 -0
- package/dist/src/utils/src/application-config.d.ts +2 -0
- package/dist/src/utils/src/observe-dimensions.d.ts +2 -1
- package/package.json +5 -3
- package/src/actions/dist/action-types.d.ts +2 -0
- package/src/actions/dist/action-types.js +2 -1
- package/src/actions/dist/ui-state-actions.d.ts +16 -0
- package/src/actions/dist/ui-state-actions.js +17 -2
- package/src/actions/package.json +8 -8
- package/src/actions/src/action-types.ts +1 -0
- package/src/actions/src/ui-state-actions.ts +22 -0
- package/src/ai-assistant/README.md +76 -0
- package/src/ai-assistant/dist/actions.d.ts +1 -1
- package/src/ai-assistant/dist/actions.js +2 -2
- package/src/ai-assistant/dist/components/ai-assistant-component.d.ts +2 -1
- package/src/ai-assistant/dist/components/ai-assistant-component.js +64 -23
- package/src/ai-assistant/dist/components/ai-assistant-config.js +67 -54
- package/src/ai-assistant/dist/constants.d.ts +3 -3
- package/src/ai-assistant/dist/constants.js +4 -4
- package/src/ai-assistant/dist/reducers/index.d.ts +1 -1
- package/src/ai-assistant/dist/reducers/index.js +2 -2
- package/src/ai-assistant/dist/tools/basemap-functions.d.ts +1 -1
- package/src/ai-assistant/dist/tools/basemap-functions.js +1 -1
- package/src/ai-assistant/dist/tools/filter-function.d.ts +1 -1
- package/src/ai-assistant/dist/tools/filter-function.js +9 -6
- package/src/ai-assistant/dist/tools/layer-creation-function.d.ts +1 -1
- package/src/ai-assistant/dist/tools/layer-creation-function.js +1 -1
- package/src/ai-assistant/dist/tools/layer-style-function.d.ts +1 -1
- package/src/ai-assistant/dist/tools/layer-style-function.js +1 -1
- package/src/ai-assistant/dist/tools/loadurl-function.d.ts +1 -1
- package/src/ai-assistant/dist/tools/loadurl-function.js +1 -1
- package/src/ai-assistant/dist/tools/utils.d.ts +73 -0
- package/src/ai-assistant/dist/tools/utils.js +211 -3
- package/src/ai-assistant/package.json +13 -9
- package/src/ai-assistant/src/actions.ts +2 -2
- package/src/ai-assistant/src/components/ai-assistant-component.tsx +56 -23
- package/src/ai-assistant/src/components/ai-assistant-config.tsx +63 -46
- package/src/ai-assistant/src/config/models.json +32 -0
- package/src/ai-assistant/src/constants.ts +7 -2
- package/src/ai-assistant/src/reducers/index.ts +2 -2
- package/src/ai-assistant/src/tools/basemap-functions.tsx +1 -1
- package/src/ai-assistant/src/tools/filter-function.tsx +11 -7
- package/src/ai-assistant/src/tools/layer-creation-function.tsx +1 -1
- package/src/ai-assistant/src/tools/layer-style-function.tsx +1 -1
- package/src/ai-assistant/src/tools/loadurl-function.tsx +1 -1
- package/src/ai-assistant/src/tools/utils.ts +212 -2
- package/src/cloud-providers/package.json +2 -2
- package/src/common-utils/package.json +3 -3
- package/src/components/dist/common/data-table/header-cell.js +10 -10
- package/src/components/dist/common/data-table/index.d.ts +1 -1
- package/src/components/dist/common/data-table/index.js +1 -1
- package/src/components/dist/common/data-table/option-dropdown.d.ts +3 -3
- package/src/components/dist/common/data-table/option-dropdown.js +5 -5
- package/src/components/dist/common/file-uploader/file-drop.d.ts +2 -2
- package/src/components/dist/common/file-uploader/file-drop.js +1 -1
- package/src/components/dist/common/portaled.js +1 -1
- package/src/components/dist/editor/editor.js +1 -1
- package/src/components/dist/kepler-gl.d.ts +5 -0
- package/src/components/dist/kepler-gl.js +7 -2
- package/src/components/dist/loading-indicator.d.ts +13 -0
- package/src/components/dist/loading-indicator.js +40 -0
- package/src/components/dist/map-container.d.ts +3 -0
- package/src/components/dist/map-container.js +11 -3
- package/src/components/dist/modals/save-map-modal.js +4 -3
- package/src/components/package.json +15 -15
- package/src/components/src/common/data-table/header-cell.tsx +5 -3
- package/src/components/src/common/data-table/index.tsx +1 -1
- package/src/components/src/common/data-table/option-dropdown.tsx +7 -7
- package/src/components/src/common/file-uploader/file-drop.tsx +11 -11
- package/src/components/src/common/portaled.tsx +12 -12
- package/src/components/src/editor/editor.tsx +3 -3
- package/src/components/src/kepler-gl.tsx +7 -2
- package/src/components/src/loading-indicator.tsx +49 -0
- package/src/components/src/map-container.tsx +19 -1
- package/src/components/src/modals/save-map-modal.tsx +6 -2
- package/src/constants/dist/default-settings.d.ts +1 -0
- package/src/constants/dist/default-settings.js +13 -9
- package/src/constants/dist/keyevent.js +1 -1
- package/src/constants/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/72/80/7a7c561d7985e92aab7b9683e7baf5a0286b353a8f2609c4c71099f668d012be027929e4bbac937f9aa0c9a61be3bd4405136f582895f05aa0313c8efa42 +1 -0
- package/src/constants/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/8f/f6/b66955867599392dc69ff1db64419e83c087a82c2e3d4b6418d49ac6bc80e3200dd6c86cdfd4a2cf98ce573f71a5281b86ba3df8a7210e02544f63054191 +1 -0
- package/src/constants/node_modules/.cache/terser-webpack-plugin/index-v5/bd/ba/47ea8fcb11ecd5cd47ad867052e58b1f7e0c8dc5f8918a36fe90eaf45981 +2 -0
- package/src/constants/node_modules/.cache/terser-webpack-plugin/index-v5/f0/6e/aadf3c48345aa72e7b2fb92e8c9788d04986b55caf83daa3fbd749c37c44 +2 -0
- package/src/constants/package.json +2 -2
- package/src/constants/src/default-settings.ts +11 -5
- package/src/constants/src/keyevent.ts +2 -2
- package/src/constants/umd/keplergl.min.js +1 -1
- package/src/deckgl-arrow-layers/package.json +1 -1
- package/src/deckgl-layers/package.json +4 -4
- package/src/duckdb/dist/components/preview-data-panel.js +2 -11
- package/src/duckdb/dist/components/sql-panel.js +7 -3
- package/src/duckdb/dist/components/tree.js +5 -4
- package/src/duckdb/dist/plugin.d.ts +1 -0
- package/src/duckdb/dist/plugin.js +9 -2
- package/src/duckdb/dist/processors/data-processor.js +4 -5
- package/src/duckdb/dist/table/duckdb-table-utils.d.ts +13 -0
- package/src/duckdb/dist/table/duckdb-table-utils.js +110 -0
- package/src/duckdb/dist/table/duckdb-table.d.ts +7 -2
- package/src/duckdb/dist/table/duckdb-table.js +189 -44
- package/src/duckdb/package.json +6 -6
- package/src/duckdb/src/components/preview-data-panel.tsx +0 -5
- package/src/duckdb/src/components/sql-panel.tsx +4 -2
- package/src/duckdb/src/components/tree.tsx +5 -1
- package/src/duckdb/src/plugin.ts +8 -1
- package/src/duckdb/src/processors/data-processor.ts +3 -4
- package/src/duckdb/src/table/duckdb-table-utils.ts +106 -0
- package/src/duckdb/src/table/duckdb-table.ts +134 -33
- package/src/effects/package.json +5 -5
- package/src/layers/dist/icon-layer/icon-layer.js +1 -1
- package/src/layers/dist/index.d.ts +3 -0
- package/src/layers/dist/index.js +6 -7
- package/src/layers/dist/point-layer/point-layer.d.ts +1 -1
- package/src/layers/dist/point-layer/point-layer.js +8 -2
- package/src/layers/package.json +9 -9
- package/src/layers/src/icon-layer/icon-layer.ts +8 -10
- package/src/layers/src/index.ts +5 -5
- package/src/layers/src/point-layer/point-layer.ts +6 -1
- package/src/localization/package.json +1 -1
- package/src/processors/dist/data-processor.js +2 -4
- package/src/processors/package.json +7 -7
- package/src/processors/src/data-processor.ts +1 -3
- package/src/reducers/dist/ui-state-updaters.d.ts +10 -0
- package/src/reducers/dist/ui-state-updaters.js +22 -2
- package/src/reducers/dist/ui-state.js +2 -2
- package/src/reducers/dist/vis-state-updaters.d.ts +1 -0
- package/src/reducers/dist/vis-state-updaters.js +21 -5
- package/src/reducers/dist/vis-state.d.ts +4 -0
- package/src/reducers/package.json +16 -16
- package/src/reducers/src/ui-state-updaters.ts +24 -0
- package/src/reducers/src/ui-state.ts +3 -1
- package/src/reducers/src/vis-state-updaters.ts +24 -5
- package/src/schemas/dist/dataset-schema.js +38 -2
- package/src/schemas/package.json +8 -7
- package/src/schemas/src/dataset-schema.ts +43 -1
- package/src/styles/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/5f/aa/96c67b383dbcd2b95625113a5389c6078fd8a53e6fc73a054229709f2dac1e0a409e7117049485a569fbebf8434a319451842671398904bfe1a7f7b5991c +1 -0
- package/src/styles/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/af/aa/228fbff58007b23eea5eb6cc7d2da1f0af1d8a7024129a416ea88b4df0ad7afc7aec93b09f3dd42a98f1d6a6f4dce6b53204818da85ef5becc42f928a64d +1 -0
- package/src/styles/node_modules/.cache/terser-webpack-plugin/index-v5/40/72/cac221d8459e6b743bc62ecdb370ed854b21ec30d3f7f4c06c7d1d7ffde2 +2 -0
- package/src/styles/node_modules/.cache/terser-webpack-plugin/index-v5/c1/39/f7cd1d5947ec6e5d82bfa07041271344eb02f9e67bf5823acf2f22c2d01f +2 -0
- package/src/styles/package.json +2 -2
- package/src/styles/umd/keplergl.min.js +1 -1
- package/src/table/dist/dataset-utils.js +10 -4
- package/src/table/package.json +5 -5
- package/src/table/src/dataset-utils.ts +7 -1
- package/src/tasks/package.json +2 -2
- package/src/types/package.json +1 -1
- package/src/types/reducers.d.ts +2 -0
- package/src/utils/dist/application-config.d.ts +2 -0
- package/src/utils/dist/application-config.js +4 -2
- package/src/utils/dist/data-utils.js +14 -2
- package/src/utils/dist/dataset-utils.js +5 -3
- package/src/utils/dist/dom-to-image.js +1 -1
- package/src/utils/dist/dom-utils.js +1 -1
- package/src/utils/dist/map-style-utils/mapbox-gl-style-editor.js +7 -1
- package/src/utils/dist/observe-dimensions.d.ts +2 -1
- package/src/utils/dist/observe-dimensions.js +10 -4
- package/src/utils/dist/utils.js +1 -1
- package/src/utils/package.json +4 -4
- package/src/utils/src/application-config.ts +9 -1
- package/src/utils/src/data-utils.ts +13 -1
- package/src/utils/src/dataset-utils.ts +1 -1
- package/src/utils/src/dom-to-image.ts +5 -6
- package/src/utils/src/dom-utils.ts +15 -15
- package/src/utils/src/map-style-utils/mapbox-gl-style-editor.ts +6 -0
- package/src/utils/src/observe-dimensions.ts +9 -4
- package/src/utils/src/utils.ts +8 -8
- package/umd/keplergl.min.css +1 -1
- package/umd/keplergl.min.js +1499 -1428
|
@@ -49,7 +49,7 @@ var HeaderCellFactory = function HeaderCellFactory(FieldToken) {
|
|
|
49
49
|
style = cellInfo.style;
|
|
50
50
|
var colMeta = props.colMeta,
|
|
51
51
|
sortColumn = props.sortColumn,
|
|
52
|
-
|
|
52
|
+
sortTableColumn = props.sortTableColumn,
|
|
53
53
|
pinTableColumn = props.pinTableColumn,
|
|
54
54
|
copyTableColumn = props.copyTableColumn,
|
|
55
55
|
setColumnDisplayFormat = props.setColumnDisplayFormat;
|
|
@@ -64,8 +64,8 @@ var HeaderCellFactory = function HeaderCellFactory(FieldToken) {
|
|
|
64
64
|
var isFormatted = Boolean((_colMeta$column = colMeta[column]) === null || _colMeta$column === void 0 ? void 0 : _colMeta$column.displayFormat);
|
|
65
65
|
var formatLabels = isFormatted ? (0, _utils.getFieldFormatLabels)(colMeta[column].type) : [];
|
|
66
66
|
var onSortTable = (0, _react.useCallback)(function () {
|
|
67
|
-
return
|
|
68
|
-
}, [
|
|
67
|
+
return sortTableColumn(column);
|
|
68
|
+
}, [sortTableColumn, column]);
|
|
69
69
|
var onToggleOptionMenu = (0, _react.useCallback)(function () {
|
|
70
70
|
return toggleMoreOptions(column);
|
|
71
71
|
}, [toggleMoreOptions, column]);
|
|
@@ -76,7 +76,7 @@ var HeaderCellFactory = function HeaderCellFactory(FieldToken) {
|
|
|
76
76
|
return copyTableColumn(column);
|
|
77
77
|
}, [copyTableColumn, column]);
|
|
78
78
|
var onSetDisplayFormat = (0, _react.useCallback)(function (displayFormat) {
|
|
79
|
-
setColumnDisplayFormat((0, _defineProperty2["default"])({}, column, displayFormat.format));
|
|
79
|
+
setColumnDisplayFormat === null || setColumnDisplayFormat === void 0 || setColumnDisplayFormat((0, _defineProperty2["default"])({}, column, displayFormat.format));
|
|
80
80
|
}, [column, setColumnDisplayFormat]);
|
|
81
81
|
var onToggleDisplayFormat = (0, _react.useCallback)(function () {
|
|
82
82
|
setShowFormatter(!showFormatter);
|
|
@@ -86,7 +86,7 @@ var HeaderCellFactory = function HeaderCellFactory(FieldToken) {
|
|
|
86
86
|
key: key,
|
|
87
87
|
style: style,
|
|
88
88
|
onClick: function onClick(e) {
|
|
89
|
-
e.shiftKey ?
|
|
89
|
+
e.shiftKey ? sortTableColumn(column) : null;
|
|
90
90
|
},
|
|
91
91
|
onDoubleClick: onSortTable,
|
|
92
92
|
title: column
|
|
@@ -134,16 +134,16 @@ var HeaderCellFactory = function HeaderCellFactory(FieldToken) {
|
|
|
134
134
|
column: column,
|
|
135
135
|
colMeta: colMeta,
|
|
136
136
|
toggleMoreOptions: toggleMoreOptions,
|
|
137
|
-
sortTableColumn: function
|
|
138
|
-
return
|
|
139
|
-
},
|
|
137
|
+
sortTableColumn: sortTableColumn ? function (mode) {
|
|
138
|
+
return sortTableColumn(column, mode);
|
|
139
|
+
} : undefined,
|
|
140
140
|
pinTableColumn: onPin,
|
|
141
141
|
copyTableColumn: onCopy,
|
|
142
|
-
setDisplayFormat: onSetDisplayFormat
|
|
142
|
+
setDisplayFormat: setColumnDisplayFormat ? onSetDisplayFormat : undefined
|
|
143
143
|
}))));
|
|
144
144
|
};
|
|
145
145
|
return HeaderCell;
|
|
146
146
|
};
|
|
147
147
|
HeaderCellFactory.deps = [_fieldToken["default"]];
|
|
148
148
|
var _default = exports["default"] = HeaderCellFactory;
|
|
149
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lczIiLCJfYnV0dG9uIiwiX2ljb25zIiwiX2NvbnN0YW50cyIsIl9vcHRpb25Ecm9wZG93biIsIl91dGlscyIsIl9maWVsZFRva2VuIiwiX3RlbXBsYXRlT2JqZWN0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiU3R5bGVkSGVhZGVyQ2VsbCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsImhlYWRlckNlbGxCb3JkZXJDb2xvciIsImhlYWRlclBhZGRpbmdUb3AiLCJoZWFkZXJQYWRkaW5nQm90dG9tIiwiY2VsbFBhZGRpbmdTaWRlIiwiaGVhZGVyQ2VsbEJhY2tncm91bmQiLCJIZWFkZXJDZWxsRmFjdG9yeSIsIkZpZWxkVG9rZW4iLCJIZWFkZXJDZWxsIiwiX3JlZiIsIl9jb2xNZXRhJGNvbHVtbiIsImNlbGxJbmZvIiwiY29sdW1ucyIsImlzUGlubmVkIiwidG9nZ2xlTW9yZU9wdGlvbnMiLCJtb3JlT3B0aW9uc0NvbHVtbiIsImNvbHVtbkluZGV4Iiwia2V5Iiwic3R5bGUiLCJjb2xNZXRhIiwic29ydENvbHVtbiIsInNvcnRUYWJsZUNvbHVtbiIsInBpblRhYmxlQ29sdW1uIiwiY29weVRhYmxlQ29sdW1uIiwic2V0Q29sdW1uRGlzcGxheUZvcm1hdCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNob3dGb3JtYXR0ZXIiLCJzZXRTaG93Rm9ybWF0dGVyIiwiY29sdW1uIiwiaXNHaG9zdCIsImdob3N0IiwiaXNTb3J0ZWQiLCJmaXJzdENlbGwiLCJpc0Zvcm1hdHRlZCIsIkJvb2xlYW4iLCJkaXNwbGF5Rm9ybWF0IiwiZm9ybWF0TGFiZWxzIiwiZ2V0RmllbGRGb3JtYXRMYWJlbHMiLCJ0eXBlIiwib25Tb3J0VGFibGUiLCJ1c2VDYWxsYmFjayIsIm9uVG9nZ2xlT3B0aW9uTWVudSIsIm9uUGluIiwib25Db3B5Iiwib25TZXREaXNwbGF5Rm9ybWF0IiwiX2RlZmluZVByb3BlcnR5MiIsImZvcm1hdCIsIm9uVG9nZ2xlRGlzcGxheUZvcm1hdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJjbGFzc25hbWVzIiwiY29uY2F0Iiwib25DbGljayIsInNoaWZ0S2V5Iiwib25Eb3VibGVDbGljayIsInRpdGxlIiwiRnJhZ21lbnQiLCJuYW1lIiwiU09SVF9PUkRFUiIsIkFTQ0VORElORyIsIkFycm93VXAiLCJoZWlnaHQiLCJBcnJvd0Rvd24iLCJIYXNoIiwiRm9ybWF0dGVyRHJvcGRvd24iLCJsZWZ0IiwidG9wIiwiaXNPcGVuZWQiLCJzZXREaXNwbGF5Rm9ybWF0Iiwib25DbG9zZSIsIlZlcnRUaHJlZURvdHMiLCJtb2RlIiwiZGVwcyIsIkZpZWxkVG9rZW5GYWN0b3J5IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1vbi9kYXRhLXRhYmxlL2hlYWRlci1jZWxsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtDU1NQcm9wZXJ0aWVzLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2t9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJy4vYnV0dG9uJztcbmltcG9ydCB7QXJyb3dVcCwgQXJyb3dEb3duLCBWZXJ0VGhyZWVEb3RzLCBIYXNofSBmcm9tICcuLi8uLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtTT1JUX09SREVSfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQgT3B0aW9uRHJvcGRvd24sIHtGb3JtYXR0ZXJEcm9wZG93bn0gZnJvbSAnLi9vcHRpb24tZHJvcGRvd24nO1xuaW1wb3J0IHtnZXRGaWVsZEZvcm1hdExhYmVsc30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0NvbE1ldGF9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IEZpZWxkVG9rZW5GYWN0b3J5LCB7RmllbGRUb2tlblByb3BzfSBmcm9tICcuLi8uLi9jb21tb24vZmllbGQtdG9rZW4nO1xuaW1wb3J0IHtEYXRhVGFibGVQcm9wc30gZnJvbSAnLi9pbmRleCc7XG5cbmNvbnN0IFN0eWxlZEhlYWRlckNlbGwgPSBzdHlsZWQuZGl2YFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5oZWFkZXJDZWxsQm9yZGVyQ29sb3J9O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5oZWFkZXJDZWxsQm9yZGVyQ29sb3J9O1xuICBwYWRkaW5nLXRvcDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5oZWFkZXJQYWRkaW5nVG9wfXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5oZWFkZXJQYWRkaW5nQm90dG9tfXB4O1xuICBwYWRkaW5nLWxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuY2VsbFBhZGRpbmdTaWRlfXB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaGVhZGVyQ2VsbEJhY2tncm91bmR9O1xuXG4gIC5uLXNvcnQtaWR4IHtcbiAgICBmb250LXNpemU6IDlweDtcbiAgfVxuICAuZGV0YWlscyB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgIC5jb2wtbmFtZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgLmNvbC1uYW1lX19sZWZ0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb2wtbmFtZV9fbmFtZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG5cbiAgLmNvbC1uYW1lX19mb3JtYXQgc3ZnIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgc3Ryb2tlLXdpZHRoOiAxO1xuICB9XG5gO1xuXG50eXBlIENlbGxJbmZvID0ge1xuICBjb2x1bW5JbmRleDogbnVtYmVyO1xuICBpc1Njcm9sbGluZzogYm9vbGVhbjtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBrZXk6IHN0cmluZztcbiAgcGFyZW50OiBhbnk7XG4gIHJvd0luZGV4OiBudW1iZXI7XG4gIHN0eWxlOiBDU1NQcm9wZXJ0aWVzO1xufTtcblxudHlwZSBIZWFkZXJDZWxsUHJvcHMgPSB7XG4gIC8vIHBhc3NlZCBkb3duIGZyb20gcmVhY3QgdmlydHVhbGl6ZWQgR3JpZFxuICBjZWxsSW5mbzogQ2VsbEluZm87XG4gIGNvbHVtbnM6IERhdGFUYWJsZVByb3BzWydjb2x1bW5zJ107XG4gIGNvbE1ldGE/OiBDb2xNZXRhO1xuICBpc1Bpbm5lZD86IGJvb2xlYW47XG4gIHNob3dTdGF0cz86IGJvb2xlYW47XG4gIHByb3BzOiBEYXRhVGFibGVQcm9wcztcbiAgdG9nZ2xlTW9yZU9wdGlvbnM6IChtb3JlT3B0aW9uc0NvbHVtbjogc3RyaW5nKSA9PiB2b2lkO1xuICBtb3JlT3B0aW9uc0NvbHVtbjogbnVsbCB8IHN0cmluZztcbn07XG5cbmNvbnN0IEhlYWRlckNlbGxGYWN0b3J5ID0gKEZpZWxkVG9rZW46IFJlYWN0LkZDPEZpZWxkVG9rZW5Qcm9wcz4pID0+IHtcbiAgY29uc3QgSGVhZGVyQ2VsbCA9ICh7XG4gICAgY2VsbEluZm8sXG4gICAgY29sdW1ucyxcbiAgICBpc1Bpbm5lZCxcbiAgICBwcm9wcyxcbiAgICB0b2dnbGVNb3JlT3B0aW9ucyxcbiAgICBtb3JlT3B0aW9uc0NvbHVtblxuICB9OiBIZWFkZXJDZWxsUHJvcHMpID0+IHtcbiAgICBjb25zdCB7Y29sdW1uSW5kZXgsIGtleSwgc3R5bGV9ID0gY2VsbEluZm87XG4gICAgY29uc3Qge1xuICAgICAgY29sTWV0YSxcbiAgICAgIHNvcnRDb2x1bW4sXG4gICAgICBzb3J0VGFibGVDb2x1bW4sXG4gICAgICBwaW5UYWJsZUNvbHVtbixcbiAgICAgIGNvcHlUYWJsZUNvbHVtbixcbiAgICAgIHNldENvbHVtbkRpc3BsYXlGb3JtYXRcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgW3Nob3dGb3JtYXR0ZXIsIHNldFNob3dGb3JtYXR0ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IGNvbHVtbiA9IGNvbHVtbnNbY29sdW1uSW5kZXhdO1xuXG4gICAgY29uc3QgaXNHaG9zdCA9IGNvbHVtbi5naG9zdDtcbiAgICBjb25zdCBpc1NvcnRlZCA9IHNvcnRDb2x1bW5bY29sdW1uXTtcbiAgICBjb25zdCBmaXJzdENlbGwgPSBjb2x1bW5JbmRleCA9PT0gMDtcbiAgICBjb25zdCBpc0Zvcm1hdHRlZCA9IEJvb2xlYW4oY29sTWV0YVtjb2x1bW5dPy5kaXNwbGF5Rm9ybWF0KTtcbiAgICBjb25zdCBmb3JtYXRMYWJlbHMgPSBpc0Zvcm1hdHRlZCA/IGdldEZpZWxkRm9ybWF0TGFiZWxzKGNvbE1ldGFbY29sdW1uXS50eXBlKSA6IFtdO1xuICAgIGNvbnN0IG9uU29ydFRhYmxlID0gdXNlQ2FsbGJhY2soKCkgPT4gc29ydFRhYmxlQ29sdW1uKGNvbHVtbiksIFtzb3J0VGFibGVDb2x1bW4sIGNvbHVtbl0pO1xuICAgIGNvbnN0IG9uVG9nZ2xlT3B0aW9uTWVudSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gdG9nZ2xlTW9yZU9wdGlvbnMoY29sdW1uKSxcbiAgICAgIFt0b2dnbGVNb3JlT3B0aW9ucywgY29sdW1uXVxuICAgICk7XG4gICAgY29uc3Qgb25QaW4gPSB1c2VDYWxsYmFjaygoKSA9PiBwaW5UYWJsZUNvbHVtbihjb2x1bW4pLCBbcGluVGFibGVDb2x1bW4sIGNvbHVtbl0pO1xuICAgIGNvbnN0IG9uQ29weSA9IHVzZUNhbGxiYWNrKCgpID0+IGNvcHlUYWJsZUNvbHVtbihjb2x1bW4pLCBbY29weVRhYmxlQ29sdW1uLCBjb2x1bW5dKTtcbiAgICBjb25zdCBvblNldERpc3BsYXlGb3JtYXQgPSB1c2VDYWxsYmFjayhcbiAgICAgIGRpc3BsYXlGb3JtYXQgPT4ge1xuICAgICAgICBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0KHtbY29sdW1uXTogZGlzcGxheUZvcm1hdC5mb3JtYXR9KTtcbiAgICAgIH0sXG4gICAgICBbY29sdW1uLCBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0XVxuICAgICk7XG5cbiAgICBjb25zdCBvblRvZ2dsZURpc3BsYXlGb3JtYXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRTaG93Rm9ybWF0dGVyKCFzaG93Rm9ybWF0dGVyKTtcbiAgICB9LCBbc2hvd0Zvcm1hdHRlcl0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRIZWFkZXJDZWxsXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnaGVhZGVyLWNlbGwnLCB7XG4gICAgICAgICAgW2Bjb2x1bW4tJHtjb2x1bW5JbmRleH1gXTogdHJ1ZSxcbiAgICAgICAgICAncGlubmVkLWhlYWRlci1jZWxsJzogaXNQaW5uZWQsXG4gICAgICAgICAgJ2ZpcnN0LWNlbGwnOiBmaXJzdENlbGxcbiAgICAgICAgfSl9XG4gICAgICAgIGtleT17a2V5fVxuICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgIG9uQ2xpY2s9e2UgPT4ge1xuICAgICAgICAgIGUuc2hpZnRLZXkgPyBzb3J0VGFibGVDb2x1bW4oY29sdW1uKSA6IG51bGw7XG4gICAgICAgIH19XG4gICAgICAgIG9uRG91YmxlQ2xpY2s9e29uU29ydFRhYmxlfVxuICAgICAgICB0aXRsZT17Y29sdW1ufVxuICAgICAgPlxuICAgICAgICB7aXNHaG9zdCA/IChcbiAgICAgICAgICA8ZGl2IC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cImRldGFpbHNcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtbmFtZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLW5hbWVfX2xlZnRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLW5hbWVfX25hbWVcIj57Y29sTWV0YVtjb2x1bW5dLm5hbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT1cImNvbC1uYW1lX19zb3J0XCIgb25DbGljaz17b25Tb3J0VGFibGV9PlxuICAgICAgICAgICAgICAgICAgICB7aXNTb3J0ZWQgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgaXNTb3J0ZWQgPT09IFNPUlRfT1JERVIuQVNDRU5ESU5HID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEFycm93VXAgaGVpZ2h0PVwiMTRweFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxBcnJvd0Rvd24gaGVpZ2h0PVwiMTRweFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJjb2wtbmFtZV9fZm9ybWF0XCIgb25DbGljaz17b25Ub2dnbGVEaXNwbGF5Rm9ybWF0fT5cbiAgICAgICAgICAgICAgICAgICAge2lzRm9ybWF0dGVkID8gPEhhc2ggaGVpZ2h0PVwiMTRweFwiIC8+IDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlckRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgICAgbGVmdD17MH1cbiAgICAgICAgICAgICAgICAgICAgICB0b3A9ezB9XG4gICAgICAgICAgICAgICAgICAgICAgaXNPcGVuZWQ9e2lzRm9ybWF0dGVkICYmIHNob3dGb3JtYXR0ZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheUZvcm1hdD17Y29sTWV0YVtjb2x1bW5dLmRpc3BsYXlGb3JtYXR9XG4gICAgICAgICAgICAgICAgICAgICAgc2V0RGlzcGxheUZvcm1hdD17b25TZXREaXNwbGF5Rm9ybWF0fVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldFNob3dGb3JtYXR0ZXIoZmFsc2UpfVxuICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdExhYmVscz17Zm9ybWF0TGFiZWxzfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJtb3JlXCIgb25DbGljaz17b25Ub2dnbGVPcHRpb25NZW51fT5cbiAgICAgICAgICAgICAgICAgIDxWZXJ0VGhyZWVEb3RzIGhlaWdodD1cIjE0cHhcIiAvPlxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPEZpZWxkVG9rZW4gdHlwZT17Y29sTWV0YVtjb2x1bW5dLnR5cGV9IC8+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cIm9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgPE9wdGlvbkRyb3Bkb3duXG4gICAgICAgICAgICAgICAgaXNPcGVuZWQ9e21vcmVPcHRpb25zQ29sdW1uID09PSBjb2x1bW59XG4gICAgICAgICAgICAgICAgY29sdW1uPXtjb2x1bW59XG4gICAgICAgICAgICAgICAgY29sTWV0YT17Y29sTWV0YX1cbiAgICAgICAgICAgICAgICB0b2dnbGVNb3JlT3B0aW9ucz17dG9nZ2xlTW9yZU9wdGlvbnN9XG4gICAgICAgICAgICAgICAgc29ydFRhYmxlQ29sdW1uPXttb2RlID0+IHNvcnRUYWJsZUNvbHVtbihjb2x1bW4sIG1vZGUpfVxuICAgICAgICAgICAgICAgIHBpblRhYmxlQ29sdW1uPXtvblBpbn1cbiAgICAgICAgICAgICAgICBjb3B5VGFibGVDb2x1bW49e29uQ29weX1cbiAgICAgICAgICAgICAgICBzZXREaXNwbGF5Rm9ybWF0PXtvblNldERpc3BsYXlGb3JtYXR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZEhlYWRlckNlbGw+XG4gICAgKTtcbiAgfTtcbiAgcmV0dXJuIEhlYWRlckNlbGw7XG59O1xuSGVhZGVyQ2VsbEZhY3RvcnkuZGVwcyA9IFtGaWVsZFRva2VuRmFjdG9yeV07XG5leHBvcnQgZGVmYXVsdCBIZWFkZXJDZWxsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsWUFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sVUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sZUFBQSxHQUFBUix1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVEsTUFBQSxHQUFBUixPQUFBO0FBRUEsSUFBQVMsV0FBQSxHQUFBUCxzQkFBQSxDQUFBRixPQUFBO0FBQTRFLElBQUFVLGVBQUEsRUFaNUU7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBYix3QkFBQWEsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQWMsQ0FBQSxVQUFBRyxDQUFBLEtBQUFBLENBQUEsQ0FBQVYsR0FBQSxJQUFBVSxDQUFBLENBQUFDLEdBQUEsSUFBQVAsTUFBQSxDQUFBQyxjQUFBLENBQUFKLENBQUEsRUFBQU0sQ0FBQSxFQUFBRyxDQUFBLElBQUFULENBQUEsQ0FBQU0sQ0FBQSxJQUFBZCxDQUFBLENBQUFjLENBQUEsWUFBQU4sQ0FBQSxjQUFBUixDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBZSxHQUFBLENBQUFsQixDQUFBLEVBQUFRLENBQUEsR0FBQUEsQ0FBQTtBQWNBLElBQU1XLGdCQUFnQixHQUFHQyw0QkFBTSxDQUFDQyxHQUFHLENBQUF2QixlQUFBLEtBQUFBLGVBQUEsT0FBQXdCLHVCQUFBLG9rQ0FDTixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLHFCQUFxQjtBQUFBLEdBQzdDLFVBQUFGLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0MscUJBQXFCO0FBQUEsR0FDbkQsVUFBQUYsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDRSxnQkFBZ0I7QUFBQSxHQUVsQyxVQUFBSCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNHLG1CQUFtQjtBQUFBLEdBQzFDLFVBQUFKLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0ksZUFBZTtBQUFBLEdBS2hDLFVBQUFMLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0ssb0JBQW9CO0FBQUEsRUE2QzlEO0FBd0JELElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUlDLFVBQXFDLEVBQUs7RUFDbkUsSUFBTUMsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUFDLElBQUEsRUFPTztJQUFBLElBQUFDLGVBQUE7SUFBQSxJQU5yQkMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7TUFDUkMsT0FBTyxHQUFBSCxJQUFBLENBQVBHLE9BQU87TUFDUEMsUUFBUSxHQUFBSixJQUFBLENBQVJJLFFBQVE7TUFDUmQsS0FBSyxHQUFBVSxJQUFBLENBQUxWLEtBQUs7TUFDTGUsaUJBQWlCLEdBQUFMLElBQUEsQ0FBakJLLGlCQUFpQjtNQUNqQkMsaUJBQWlCLEdBQUFOLElBQUEsQ0FBakJNLGlCQUFpQjtJQUVqQixJQUFPQyxXQUFXLEdBQWdCTCxRQUFRLENBQW5DSyxXQUFXO01BQUVDLEdBQUcsR0FBV04sUUFBUSxDQUF0Qk0sR0FBRztNQUFFQyxLQUFLLEdBQUlQLFFBQVEsQ0FBakJPLEtBQUs7SUFDOUIsSUFDRUMsT0FBTyxHQU1McEIsS0FBSyxDQU5Qb0IsT0FBTztNQUNQQyxVQUFVLEdBS1JyQixLQUFLLENBTFBxQixVQUFVO01BQ1ZDLGdCQUFlLEdBSWJ0QixLQUFLLENBSlBzQixlQUFlO01BQ2ZDLGNBQWMsR0FHWnZCLEtBQUssQ0FIUHVCLGNBQWM7TUFDZEMsZUFBZSxHQUVieEIsS0FBSyxDQUZQd0IsZUFBZTtNQUNmQyxzQkFBc0IsR0FDcEJ6QixLQUFLLENBRFB5QixzQkFBc0I7SUFFeEIsSUFBQUMsU0FBQSxHQUEwQyxJQUFBQyxlQUFRLEVBQUMsS0FBSyxDQUFDO01BQUFDLFVBQUEsT0FBQUMsZUFBQSxhQUFBSCxTQUFBO01BQWxESSxhQUFhLEdBQUFGLFVBQUE7TUFBRUcsZ0JBQWdCLEdBQUFILFVBQUE7SUFDdEMsSUFBTUksTUFBTSxHQUFHbkIsT0FBTyxDQUFDSSxXQUFXLENBQUM7SUFFbkMsSUFBTWdCLE9BQU8sR0FBR0QsTUFBTSxDQUFDRSxLQUFLO0lBQzVCLElBQU1DLFFBQVEsR0FBR2QsVUFBVSxDQUFDVyxNQUFNLENBQUM7SUFDbkMsSUFBTUksU0FBUyxHQUFHbkIsV0FBVyxLQUFLLENBQUM7SUFDbkMsSUFBTW9CLFdBQVcsR0FBR0MsT0FBTyxFQUFBM0IsZUFBQSxHQUFDUyxPQUFPLENBQUNZLE1BQU0sQ0FBQyxjQUFBckIsZUFBQSx1QkFBZkEsZUFBQSxDQUFpQjRCLGFBQWEsQ0FBQztJQUMzRCxJQUFNQyxZQUFZLEdBQUdILFdBQVcsR0FBRyxJQUFBSSwyQkFBb0IsRUFBQ3JCLE9BQU8sQ0FBQ1ksTUFBTSxDQUFDLENBQUNVLElBQUksQ0FBQyxHQUFHLEVBQUU7SUFDbEYsSUFBTUMsV0FBVyxHQUFHLElBQUFDLGtCQUFXLEVBQUM7TUFBQSxPQUFNdEIsZ0JBQWUsQ0FBQ1UsTUFBTSxDQUFDO0lBQUEsR0FBRSxDQUFDVixnQkFBZSxFQUFFVSxNQUFNLENBQUMsQ0FBQztJQUN6RixJQUFNYSxrQkFBa0IsR0FBRyxJQUFBRCxrQkFBVyxFQUNwQztNQUFBLE9BQU03QixpQkFBaUIsQ0FBQ2lCLE1BQU0sQ0FBQztJQUFBLEdBQy9CLENBQUNqQixpQkFBaUIsRUFBRWlCLE1BQU0sQ0FDNUIsQ0FBQztJQUNELElBQU1jLEtBQUssR0FBRyxJQUFBRixrQkFBVyxFQUFDO01BQUEsT0FBTXJCLGNBQWMsQ0FBQ1MsTUFBTSxDQUFDO0lBQUEsR0FBRSxDQUFDVCxjQUFjLEVBQUVTLE1BQU0sQ0FBQyxDQUFDO0lBQ2pGLElBQU1lLE1BQU0sR0FBRyxJQUFBSCxrQkFBVyxFQUFDO01BQUEsT0FBTXBCLGVBQWUsQ0FBQ1EsTUFBTSxDQUFDO0lBQUEsR0FBRSxDQUFDUixlQUFlLEVBQUVRLE1BQU0sQ0FBQyxDQUFDO0lBQ3BGLElBQU1nQixrQkFBa0IsR0FBRyxJQUFBSixrQkFBVyxFQUNwQyxVQUFBTCxhQUFhLEVBQUk7TUFDZmQsc0JBQXNCLEtBQUF3QixnQkFBQSxpQkFBR2pCLE1BQU0sRUFBR08sYUFBYSxDQUFDVyxNQUFNLENBQUMsQ0FBQztJQUMxRCxDQUFDLEVBQ0QsQ0FBQ2xCLE1BQU0sRUFBRVAsc0JBQXNCLENBQ2pDLENBQUM7SUFFRCxJQUFNMEIscUJBQXFCLEdBQUcsSUFBQVAsa0JBQVcsRUFBQyxZQUFNO01BQzlDYixnQkFBZ0IsQ0FBQyxDQUFDRCxhQUFhLENBQUM7SUFDbEMsQ0FBQyxFQUFFLENBQUNBLGFBQWEsQ0FBQyxDQUFDO0lBRW5CLG9CQUNFbkUsTUFBQSxZQUFBeUYsYUFBQSxDQUFDeEQsZ0JBQWdCO01BQ2Z5RCxTQUFTLEVBQUUsSUFBQUMsdUJBQVUsRUFBQyxhQUFhLE1BQUFMLGdCQUFBLGlCQUFBQSxnQkFBQSxpQkFBQUEsZ0JBQUEsMkJBQUFNLE1BQUEsQ0FDdEJ0QyxXQUFXLEdBQUssSUFBSSxHQUMvQixvQkFBb0IsRUFBRUgsUUFBUSxHQUM5QixZQUFZLEVBQUVzQixTQUFTLENBQ3hCLENBQUU7TUFDSGxCLEdBQUcsRUFBRUEsR0FBSTtNQUNUQyxLQUFLLEVBQUVBLEtBQU07TUFDYnFDLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFFL0UsQ0FBQyxFQUFJO1FBQ1pBLENBQUMsQ0FBQ2dGLFFBQVEsR0FBR25DLGdCQUFlLENBQUNVLE1BQU0sQ0FBQyxHQUFHLElBQUk7TUFDN0MsQ0FBRTtNQUNGMEIsYUFBYSxFQUFFZixXQUFZO01BQzNCZ0IsS0FBSyxFQUFFM0I7SUFBTyxHQUViQyxPQUFPLGdCQUNOdEUsTUFBQSxZQUFBeUYsYUFBQSxZQUFNLENBQUMsZ0JBRVB6RixNQUFBLFlBQUF5RixhQUFBLENBQUF6RixNQUFBLFlBQUFpRyxRQUFBLHFCQUNFakcsTUFBQSxZQUFBeUYsYUFBQTtNQUFTQyxTQUFTLEVBQUM7SUFBUyxnQkFDMUIxRixNQUFBLFlBQUF5RixhQUFBO01BQUtDLFNBQVMsRUFBQztJQUFVLGdCQUN2QjFGLE1BQUEsWUFBQXlGLGFBQUE7TUFBS0MsU0FBUyxFQUFDO0lBQWdCLGdCQUM3QjFGLE1BQUEsWUFBQXlGLGFBQUE7TUFBS0MsU0FBUyxFQUFDO0lBQWdCLEdBQUVqQyxPQUFPLENBQUNZLE1BQU0sQ0FBQyxDQUFDNkIsSUFBVSxDQUFDLGVBQzVEbEcsTUFBQSxZQUFBeUYsYUFBQSxDQUFDbkYsT0FBQSxXQUFNO01BQUNvRixTQUFTLEVBQUMsZ0JBQWdCO01BQUNHLE9BQU8sRUFBRWI7SUFBWSxHQUNyRFIsUUFBUSxHQUNQQSxRQUFRLEtBQUsyQixxQkFBVSxDQUFDQyxTQUFTLGdCQUMvQnBHLE1BQUEsWUFBQXlGLGFBQUEsQ0FBQ2xGLE1BQUEsQ0FBQThGLE9BQU87TUFBQ0MsTUFBTSxFQUFDO0lBQU0sQ0FBRSxDQUFDLGdCQUV6QnRHLE1BQUEsWUFBQXlGLGFBQUEsQ0FBQ2xGLE1BQUEsQ0FBQWdHLFNBQVM7TUFBQ0QsTUFBTSxFQUFDO0lBQU0sQ0FBRSxDQUMzQixHQUNDLElBQ0UsQ0FBQyxlQUNUdEcsTUFBQSxZQUFBeUYsYUFBQSxDQUFDbkYsT0FBQSxXQUFNO01BQUNvRixTQUFTLEVBQUMsa0JBQWtCO01BQUNHLE9BQU8sRUFBRUw7SUFBc0IsR0FDakVkLFdBQVcsZ0JBQUcxRSxNQUFBLFlBQUF5RixhQUFBLENBQUNsRixNQUFBLENBQUFpRyxJQUFJO01BQUNGLE1BQU0sRUFBQztJQUFNLENBQUUsQ0FBQyxHQUFHLElBQUksZUFDNUN0RyxNQUFBLFlBQUF5RixhQUFBLENBQUNoRixlQUFBLENBQUFnRyxpQkFBaUI7TUFDaEJDLElBQUksRUFBRSxDQUFFO01BQ1JDLEdBQUcsRUFBRSxDQUFFO01BQ1BDLFFBQVEsRUFBRWxDLFdBQVcsSUFBSVAsYUFBYztNQUN2Q1MsYUFBYSxFQUFFbkIsT0FBTyxDQUFDWSxNQUFNLENBQUMsQ0FBQ08sYUFBYztNQUM3Q2lDLGdCQUFnQixFQUFFeEIsa0JBQW1CO01BQ3JDeUIsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7UUFBQSxPQUFRMUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO01BQUEsQ0FBQztNQUN2Q1MsWUFBWSxFQUFFQTtJQUFhLENBQzVCLENBQ0ssQ0FDTCxDQUFDLGVBQ043RSxNQUFBLFlBQUF5RixhQUFBLENBQUNuRixPQUFBLFdBQU07TUFBQ29GLFNBQVMsRUFBQyxNQUFNO01BQUNHLE9BQU8sRUFBRVg7SUFBbUIsZ0JBQ25EbEYsTUFBQSxZQUFBeUYsYUFBQSxDQUFDbEYsTUFBQSxDQUFBd0csYUFBYTtNQUFDVCxNQUFNLEVBQUM7SUFBTSxDQUFFLENBQ3hCLENBQ0wsQ0FBQyxlQUNOdEcsTUFBQSxZQUFBeUYsYUFBQSxDQUFDNUMsVUFBVTtNQUFDa0MsSUFBSSxFQUFFdEIsT0FBTyxDQUFDWSxNQUFNLENBQUMsQ0FBQ1U7SUFBSyxDQUFFLENBQ2xDLENBQUMsZUFFVi9FLE1BQUEsWUFBQXlGLGFBQUE7TUFBU0MsU0FBUyxFQUFDO0lBQVMsZ0JBQzFCMUYsTUFBQSxZQUFBeUYsYUFBQSxDQUFDaEYsZUFBQSxXQUFjO01BQ2JtRyxRQUFRLEVBQUV2RCxpQkFBaUIsS0FBS2dCLE1BQU87TUFDdkNBLE1BQU0sRUFBRUEsTUFBTztNQUNmWixPQUFPLEVBQUVBLE9BQVE7TUFDakJMLGlCQUFpQixFQUFFQSxpQkFBa0I7TUFDckNPLGVBQWUsRUFBRSxTQUFqQkEsZUFBZUEsQ0FBRXFELElBQUk7UUFBQSxPQUFJckQsZ0JBQWUsQ0FBQ1UsTUFBTSxFQUFFMkMsSUFBSSxDQUFDO01BQUEsQ0FBQztNQUN2RHBELGNBQWMsRUFBRXVCLEtBQU07TUFDdEJ0QixlQUFlLEVBQUV1QixNQUFPO01BQ3hCeUIsZ0JBQWdCLEVBQUV4QjtJQUFtQixDQUN0QyxDQUNNLENBQ1QsQ0FFWSxDQUFDO0VBRXZCLENBQUM7RUFDRCxPQUFPdkMsVUFBVTtBQUNuQixDQUFDO0FBQ0RGLGlCQUFpQixDQUFDcUUsSUFBSSxHQUFHLENBQUNDLHNCQUFpQixDQUFDO0FBQUMsSUFBQUMsUUFBQSxHQUFBQyxPQUFBLGNBQzlCeEUsaUJBQWlCIiwiaWdub3JlTGlzdCI6W119
|
|
149
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lczIiLCJfYnV0dG9uIiwiX2ljb25zIiwiX2NvbnN0YW50cyIsIl9vcHRpb25Ecm9wZG93biIsIl91dGlscyIsIl9maWVsZFRva2VuIiwiX3RlbXBsYXRlT2JqZWN0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiU3R5bGVkSGVhZGVyQ2VsbCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsImhlYWRlckNlbGxCb3JkZXJDb2xvciIsImhlYWRlclBhZGRpbmdUb3AiLCJoZWFkZXJQYWRkaW5nQm90dG9tIiwiY2VsbFBhZGRpbmdTaWRlIiwiaGVhZGVyQ2VsbEJhY2tncm91bmQiLCJIZWFkZXJDZWxsRmFjdG9yeSIsIkZpZWxkVG9rZW4iLCJIZWFkZXJDZWxsIiwiX3JlZiIsIl9jb2xNZXRhJGNvbHVtbiIsImNlbGxJbmZvIiwiY29sdW1ucyIsImlzUGlubmVkIiwidG9nZ2xlTW9yZU9wdGlvbnMiLCJtb3JlT3B0aW9uc0NvbHVtbiIsImNvbHVtbkluZGV4Iiwia2V5Iiwic3R5bGUiLCJjb2xNZXRhIiwic29ydENvbHVtbiIsInNvcnRUYWJsZUNvbHVtbiIsInBpblRhYmxlQ29sdW1uIiwiY29weVRhYmxlQ29sdW1uIiwic2V0Q29sdW1uRGlzcGxheUZvcm1hdCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNob3dGb3JtYXR0ZXIiLCJzZXRTaG93Rm9ybWF0dGVyIiwiY29sdW1uIiwiaXNHaG9zdCIsImdob3N0IiwiaXNTb3J0ZWQiLCJmaXJzdENlbGwiLCJpc0Zvcm1hdHRlZCIsIkJvb2xlYW4iLCJkaXNwbGF5Rm9ybWF0IiwiZm9ybWF0TGFiZWxzIiwiZ2V0RmllbGRGb3JtYXRMYWJlbHMiLCJ0eXBlIiwib25Tb3J0VGFibGUiLCJ1c2VDYWxsYmFjayIsIm9uVG9nZ2xlT3B0aW9uTWVudSIsIm9uUGluIiwib25Db3B5Iiwib25TZXREaXNwbGF5Rm9ybWF0IiwiX2RlZmluZVByb3BlcnR5MiIsImZvcm1hdCIsIm9uVG9nZ2xlRGlzcGxheUZvcm1hdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJjbGFzc25hbWVzIiwiY29uY2F0Iiwib25DbGljayIsInNoaWZ0S2V5Iiwib25Eb3VibGVDbGljayIsInRpdGxlIiwiRnJhZ21lbnQiLCJuYW1lIiwiU09SVF9PUkRFUiIsIkFTQ0VORElORyIsIkFycm93VXAiLCJoZWlnaHQiLCJBcnJvd0Rvd24iLCJIYXNoIiwiRm9ybWF0dGVyRHJvcGRvd24iLCJsZWZ0IiwidG9wIiwiaXNPcGVuZWQiLCJzZXREaXNwbGF5Rm9ybWF0Iiwib25DbG9zZSIsIlZlcnRUaHJlZURvdHMiLCJtb2RlIiwidW5kZWZpbmVkIiwiZGVwcyIsIkZpZWxkVG9rZW5GYWN0b3J5IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1vbi9kYXRhLXRhYmxlL2hlYWRlci1jZWxsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtDU1NQcm9wZXJ0aWVzLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2t9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJy4vYnV0dG9uJztcbmltcG9ydCB7QXJyb3dVcCwgQXJyb3dEb3duLCBWZXJ0VGhyZWVEb3RzLCBIYXNofSBmcm9tICcuLi8uLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtTT1JUX09SREVSfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQgT3B0aW9uRHJvcGRvd24sIHtGb3JtYXR0ZXJEcm9wZG93bn0gZnJvbSAnLi9vcHRpb24tZHJvcGRvd24nO1xuaW1wb3J0IHtnZXRGaWVsZEZvcm1hdExhYmVsc30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0NvbE1ldGF9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IEZpZWxkVG9rZW5GYWN0b3J5LCB7RmllbGRUb2tlblByb3BzfSBmcm9tICcuLi8uLi9jb21tb24vZmllbGQtdG9rZW4nO1xuaW1wb3J0IHtEYXRhVGFibGVQcm9wc30gZnJvbSAnLi9pbmRleCc7XG5cbmNvbnN0IFN0eWxlZEhlYWRlckNlbGwgPSBzdHlsZWQuZGl2YFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5oZWFkZXJDZWxsQm9yZGVyQ29sb3J9O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5oZWFkZXJDZWxsQm9yZGVyQ29sb3J9O1xuICBwYWRkaW5nLXRvcDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5oZWFkZXJQYWRkaW5nVG9wfXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5oZWFkZXJQYWRkaW5nQm90dG9tfXB4O1xuICBwYWRkaW5nLWxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuY2VsbFBhZGRpbmdTaWRlfXB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaGVhZGVyQ2VsbEJhY2tncm91bmR9O1xuXG4gIC5uLXNvcnQtaWR4IHtcbiAgICBmb250LXNpemU6IDlweDtcbiAgfVxuICAuZGV0YWlscyB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgIC5jb2wtbmFtZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgLmNvbC1uYW1lX19sZWZ0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb2wtbmFtZV9fbmFtZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG5cbiAgLmNvbC1uYW1lX19mb3JtYXQgc3ZnIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgc3Ryb2tlLXdpZHRoOiAxO1xuICB9XG5gO1xuXG50eXBlIENlbGxJbmZvID0ge1xuICBjb2x1bW5JbmRleDogbnVtYmVyO1xuICBpc1Njcm9sbGluZzogYm9vbGVhbjtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBrZXk6IHN0cmluZztcbiAgcGFyZW50OiBhbnk7XG4gIHJvd0luZGV4OiBudW1iZXI7XG4gIHN0eWxlOiBDU1NQcm9wZXJ0aWVzO1xufTtcblxudHlwZSBIZWFkZXJDZWxsUHJvcHMgPSB7XG4gIC8vIHBhc3NlZCBkb3duIGZyb20gcmVhY3QgdmlydHVhbGl6ZWQgR3JpZFxuICBjZWxsSW5mbzogQ2VsbEluZm87XG4gIGNvbHVtbnM6IERhdGFUYWJsZVByb3BzWydjb2x1bW5zJ107XG4gIGNvbE1ldGE/OiBDb2xNZXRhO1xuICBpc1Bpbm5lZD86IGJvb2xlYW47XG4gIHNob3dTdGF0cz86IGJvb2xlYW47XG4gIHByb3BzOiBEYXRhVGFibGVQcm9wcztcbiAgdG9nZ2xlTW9yZU9wdGlvbnM6IChtb3JlT3B0aW9uc0NvbHVtbjogc3RyaW5nKSA9PiB2b2lkO1xuICBtb3JlT3B0aW9uc0NvbHVtbjogbnVsbCB8IHN0cmluZztcbn07XG5cbmNvbnN0IEhlYWRlckNlbGxGYWN0b3J5ID0gKEZpZWxkVG9rZW46IFJlYWN0LkZDPEZpZWxkVG9rZW5Qcm9wcz4pID0+IHtcbiAgY29uc3QgSGVhZGVyQ2VsbCA9ICh7XG4gICAgY2VsbEluZm8sXG4gICAgY29sdW1ucyxcbiAgICBpc1Bpbm5lZCxcbiAgICBwcm9wcyxcbiAgICB0b2dnbGVNb3JlT3B0aW9ucyxcbiAgICBtb3JlT3B0aW9uc0NvbHVtblxuICB9OiBIZWFkZXJDZWxsUHJvcHMpID0+IHtcbiAgICBjb25zdCB7Y29sdW1uSW5kZXgsIGtleSwgc3R5bGV9ID0gY2VsbEluZm87XG4gICAgY29uc3Qge1xuICAgICAgY29sTWV0YSxcbiAgICAgIHNvcnRDb2x1bW4sXG4gICAgICBzb3J0VGFibGVDb2x1bW4sXG4gICAgICBwaW5UYWJsZUNvbHVtbixcbiAgICAgIGNvcHlUYWJsZUNvbHVtbixcbiAgICAgIHNldENvbHVtbkRpc3BsYXlGb3JtYXRcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgW3Nob3dGb3JtYXR0ZXIsIHNldFNob3dGb3JtYXR0ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IGNvbHVtbiA9IGNvbHVtbnNbY29sdW1uSW5kZXhdO1xuXG4gICAgY29uc3QgaXNHaG9zdCA9IGNvbHVtbi5naG9zdDtcbiAgICBjb25zdCBpc1NvcnRlZCA9IHNvcnRDb2x1bW5bY29sdW1uXTtcbiAgICBjb25zdCBmaXJzdENlbGwgPSBjb2x1bW5JbmRleCA9PT0gMDtcbiAgICBjb25zdCBpc0Zvcm1hdHRlZCA9IEJvb2xlYW4oY29sTWV0YVtjb2x1bW5dPy5kaXNwbGF5Rm9ybWF0KTtcbiAgICBjb25zdCBmb3JtYXRMYWJlbHMgPSBpc0Zvcm1hdHRlZCA/IGdldEZpZWxkRm9ybWF0TGFiZWxzKGNvbE1ldGFbY29sdW1uXS50eXBlKSA6IFtdO1xuICAgIGNvbnN0IG9uU29ydFRhYmxlID0gdXNlQ2FsbGJhY2soKCkgPT4gc29ydFRhYmxlQ29sdW1uKGNvbHVtbiksIFtzb3J0VGFibGVDb2x1bW4sIGNvbHVtbl0pO1xuICAgIGNvbnN0IG9uVG9nZ2xlT3B0aW9uTWVudSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gdG9nZ2xlTW9yZU9wdGlvbnMoY29sdW1uKSxcbiAgICAgIFt0b2dnbGVNb3JlT3B0aW9ucywgY29sdW1uXVxuICAgICk7XG4gICAgY29uc3Qgb25QaW4gPSB1c2VDYWxsYmFjaygoKSA9PiBwaW5UYWJsZUNvbHVtbihjb2x1bW4pLCBbcGluVGFibGVDb2x1bW4sIGNvbHVtbl0pO1xuICAgIGNvbnN0IG9uQ29weSA9IHVzZUNhbGxiYWNrKCgpID0+IGNvcHlUYWJsZUNvbHVtbihjb2x1bW4pLCBbY29weVRhYmxlQ29sdW1uLCBjb2x1bW5dKTtcbiAgICBjb25zdCBvblNldERpc3BsYXlGb3JtYXQgPSB1c2VDYWxsYmFjayhcbiAgICAgIGRpc3BsYXlGb3JtYXQgPT4ge1xuICAgICAgICBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0Py4oe1tjb2x1bW5dOiBkaXNwbGF5Rm9ybWF0LmZvcm1hdH0pO1xuICAgICAgfSxcbiAgICAgIFtjb2x1bW4sIHNldENvbHVtbkRpc3BsYXlGb3JtYXRdXG4gICAgKTtcblxuICAgIGNvbnN0IG9uVG9nZ2xlRGlzcGxheUZvcm1hdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldFNob3dGb3JtYXR0ZXIoIXNob3dGb3JtYXR0ZXIpO1xuICAgIH0sIFtzaG93Rm9ybWF0dGVyXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZEhlYWRlckNlbGxcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdoZWFkZXItY2VsbCcsIHtcbiAgICAgICAgICBbYGNvbHVtbi0ke2NvbHVtbkluZGV4fWBdOiB0cnVlLFxuICAgICAgICAgICdwaW5uZWQtaGVhZGVyLWNlbGwnOiBpc1Bpbm5lZCxcbiAgICAgICAgICAnZmlyc3QtY2VsbCc6IGZpcnN0Q2VsbFxuICAgICAgICB9KX1cbiAgICAgICAga2V5PXtrZXl9XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgZS5zaGlmdEtleSA/IHNvcnRUYWJsZUNvbHVtbihjb2x1bW4pIDogbnVsbDtcbiAgICAgICAgfX1cbiAgICAgICAgb25Eb3VibGVDbGljaz17b25Tb3J0VGFibGV9XG4gICAgICAgIHRpdGxlPXtjb2x1bW59XG4gICAgICA+XG4gICAgICAgIHtpc0dob3N0ID8gKFxuICAgICAgICAgIDxkaXYgLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwiZGV0YWlsc1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC1uYW1lXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtbmFtZV9fbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtbmFtZV9fbmFtZVwiPntjb2xNZXRhW2NvbHVtbl0ubmFtZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiY29sLW5hbWVfX3NvcnRcIiBvbkNsaWNrPXtvblNvcnRUYWJsZX0+XG4gICAgICAgICAgICAgICAgICAgIHtpc1NvcnRlZCA/IChcbiAgICAgICAgICAgICAgICAgICAgICBpc1NvcnRlZCA9PT0gU09SVF9PUkRFUi5BU0NFTkRJTkcgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8QXJyb3dVcCBoZWlnaHQ9XCIxNHB4XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEFycm93RG93biBoZWlnaHQ9XCIxNHB4XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT1cImNvbC1uYW1lX19mb3JtYXRcIiBvbkNsaWNrPXtvblRvZ2dsZURpc3BsYXlGb3JtYXR9PlxuICAgICAgICAgICAgICAgICAgICB7aXNGb3JtYXR0ZWQgPyA8SGFzaCBoZWlnaHQ9XCIxNHB4XCIgLz4gOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVyRHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgICBsZWZ0PXswfVxuICAgICAgICAgICAgICAgICAgICAgIHRvcD17MH1cbiAgICAgICAgICAgICAgICAgICAgICBpc09wZW5lZD17aXNGb3JtYXR0ZWQgJiYgc2hvd0Zvcm1hdHRlcn1cbiAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Rm9ybWF0PXtjb2xNZXRhW2NvbHVtbl0uZGlzcGxheUZvcm1hdH1cbiAgICAgICAgICAgICAgICAgICAgICBzZXREaXNwbGF5Rm9ybWF0PXtvblNldERpc3BsYXlGb3JtYXR9XG4gICAgICAgICAgICAgICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0U2hvd0Zvcm1hdHRlcihmYWxzZSl9XG4gICAgICAgICAgICAgICAgICAgICAgZm9ybWF0TGFiZWxzPXtmb3JtYXRMYWJlbHN9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT1cIm1vcmVcIiBvbkNsaWNrPXtvblRvZ2dsZU9wdGlvbk1lbnV9PlxuICAgICAgICAgICAgICAgICAgPFZlcnRUaHJlZURvdHMgaGVpZ2h0PVwiMTRweFwiIC8+XG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8RmllbGRUb2tlbiB0eXBlPXtjb2xNZXRhW2NvbHVtbl0udHlwZX0gLz5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwib3B0aW9uc1wiPlxuICAgICAgICAgICAgICA8T3B0aW9uRHJvcGRvd25cbiAgICAgICAgICAgICAgICBpc09wZW5lZD17bW9yZU9wdGlvbnNDb2x1bW4gPT09IGNvbHVtbn1cbiAgICAgICAgICAgICAgICBjb2x1bW49e2NvbHVtbn1cbiAgICAgICAgICAgICAgICBjb2xNZXRhPXtjb2xNZXRhfVxuICAgICAgICAgICAgICAgIHRvZ2dsZU1vcmVPcHRpb25zPXt0b2dnbGVNb3JlT3B0aW9uc31cbiAgICAgICAgICAgICAgICBzb3J0VGFibGVDb2x1bW49e1xuICAgICAgICAgICAgICAgICAgc29ydFRhYmxlQ29sdW1uID8gbW9kZSA9PiBzb3J0VGFibGVDb2x1bW4oY29sdW1uLCBtb2RlKSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwaW5UYWJsZUNvbHVtbj17b25QaW59XG4gICAgICAgICAgICAgICAgY29weVRhYmxlQ29sdW1uPXtvbkNvcHl9XG4gICAgICAgICAgICAgICAgc2V0RGlzcGxheUZvcm1hdD17c2V0Q29sdW1uRGlzcGxheUZvcm1hdCA/IG9uU2V0RGlzcGxheUZvcm1hdCA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cbiAgICAgIDwvU3R5bGVkSGVhZGVyQ2VsbD5cbiAgICApO1xuICB9O1xuICByZXR1cm4gSGVhZGVyQ2VsbDtcbn07XG5IZWFkZXJDZWxsRmFjdG9yeS5kZXBzID0gW0ZpZWxkVG9rZW5GYWN0b3J5XTtcbmV4cG9ydCBkZWZhdWx0IEhlYWRlckNlbGxGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxZQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxPQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxVQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxlQUFBLEdBQUFSLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUSxNQUFBLEdBQUFSLE9BQUE7QUFFQSxJQUFBUyxXQUFBLEdBQUFQLHNCQUFBLENBQUFGLE9BQUE7QUFBNEUsSUFBQVUsZUFBQSxFQVo1RTtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFiLHdCQUFBYSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLENBQUEsU0FBQUcsQ0FBQSxHQUFBUCxDQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBYyxDQUFBLFVBQUFHLENBQUEsS0FBQUEsQ0FBQSxDQUFBVixHQUFBLElBQUFVLENBQUEsQ0FBQUMsR0FBQSxJQUFBUCxNQUFBLENBQUFDLGNBQUEsQ0FBQUosQ0FBQSxFQUFBTSxDQUFBLEVBQUFHLENBQUEsSUFBQVQsQ0FBQSxDQUFBTSxDQUFBLElBQUFkLENBQUEsQ0FBQWMsQ0FBQSxZQUFBTixDQUFBLGNBQUFSLENBQUEsRUFBQUcsQ0FBQSxJQUFBQSxDQUFBLENBQUFlLEdBQUEsQ0FBQWxCLENBQUEsRUFBQVEsQ0FBQSxHQUFBQSxDQUFBO0FBY0EsSUFBTVcsZ0JBQWdCLEdBQUdDLDRCQUFNLENBQUNDLEdBQUcsQ0FBQXZCLGVBQUEsS0FBQUEsZUFBQSxPQUFBd0IsdUJBQUEsb2tDQUNOLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0MscUJBQXFCO0FBQUEsR0FDN0MsVUFBQUYsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDQyxxQkFBcUI7QUFBQSxHQUNuRCxVQUFBRixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNFLGdCQUFnQjtBQUFBLEdBRWxDLFVBQUFILEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0csbUJBQW1CO0FBQUEsR0FDMUMsVUFBQUosS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDSSxlQUFlO0FBQUEsR0FLaEMsVUFBQUwsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDSyxvQkFBb0I7QUFBQSxFQTZDOUQ7QUF3QkQsSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUMsVUFBcUMsRUFBSztFQUNuRSxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBQUMsSUFBQSxFQU9PO0lBQUEsSUFBQUMsZUFBQTtJQUFBLElBTnJCQyxRQUFRLEdBQUFGLElBQUEsQ0FBUkUsUUFBUTtNQUNSQyxPQUFPLEdBQUFILElBQUEsQ0FBUEcsT0FBTztNQUNQQyxRQUFRLEdBQUFKLElBQUEsQ0FBUkksUUFBUTtNQUNSZCxLQUFLLEdBQUFVLElBQUEsQ0FBTFYsS0FBSztNQUNMZSxpQkFBaUIsR0FBQUwsSUFBQSxDQUFqQkssaUJBQWlCO01BQ2pCQyxpQkFBaUIsR0FBQU4sSUFBQSxDQUFqQk0saUJBQWlCO0lBRWpCLElBQU9DLFdBQVcsR0FBZ0JMLFFBQVEsQ0FBbkNLLFdBQVc7TUFBRUMsR0FBRyxHQUFXTixRQUFRLENBQXRCTSxHQUFHO01BQUVDLEtBQUssR0FBSVAsUUFBUSxDQUFqQk8sS0FBSztJQUM5QixJQUNFQyxPQUFPLEdBTUxwQixLQUFLLENBTlBvQixPQUFPO01BQ1BDLFVBQVUsR0FLUnJCLEtBQUssQ0FMUHFCLFVBQVU7TUFDVkMsZUFBZSxHQUlidEIsS0FBSyxDQUpQc0IsZUFBZTtNQUNmQyxjQUFjLEdBR1p2QixLQUFLLENBSFB1QixjQUFjO01BQ2RDLGVBQWUsR0FFYnhCLEtBQUssQ0FGUHdCLGVBQWU7TUFDZkMsc0JBQXNCLEdBQ3BCekIsS0FBSyxDQURQeUIsc0JBQXNCO0lBRXhCLElBQUFDLFNBQUEsR0FBMEMsSUFBQUMsZUFBUSxFQUFDLEtBQUssQ0FBQztNQUFBQyxVQUFBLE9BQUFDLGVBQUEsYUFBQUgsU0FBQTtNQUFsREksYUFBYSxHQUFBRixVQUFBO01BQUVHLGdCQUFnQixHQUFBSCxVQUFBO0lBQ3RDLElBQU1JLE1BQU0sR0FBR25CLE9BQU8sQ0FBQ0ksV0FBVyxDQUFDO0lBRW5DLElBQU1nQixPQUFPLEdBQUdELE1BQU0sQ0FBQ0UsS0FBSztJQUM1QixJQUFNQyxRQUFRLEdBQUdkLFVBQVUsQ0FBQ1csTUFBTSxDQUFDO0lBQ25DLElBQU1JLFNBQVMsR0FBR25CLFdBQVcsS0FBSyxDQUFDO0lBQ25DLElBQU1vQixXQUFXLEdBQUdDLE9BQU8sRUFBQTNCLGVBQUEsR0FBQ1MsT0FBTyxDQUFDWSxNQUFNLENBQUMsY0FBQXJCLGVBQUEsdUJBQWZBLGVBQUEsQ0FBaUI0QixhQUFhLENBQUM7SUFDM0QsSUFBTUMsWUFBWSxHQUFHSCxXQUFXLEdBQUcsSUFBQUksMkJBQW9CLEVBQUNyQixPQUFPLENBQUNZLE1BQU0sQ0FBQyxDQUFDVSxJQUFJLENBQUMsR0FBRyxFQUFFO0lBQ2xGLElBQU1DLFdBQVcsR0FBRyxJQUFBQyxrQkFBVyxFQUFDO01BQUEsT0FBTXRCLGVBQWUsQ0FBQ1UsTUFBTSxDQUFDO0lBQUEsR0FBRSxDQUFDVixlQUFlLEVBQUVVLE1BQU0sQ0FBQyxDQUFDO0lBQ3pGLElBQU1hLGtCQUFrQixHQUFHLElBQUFELGtCQUFXLEVBQ3BDO01BQUEsT0FBTTdCLGlCQUFpQixDQUFDaUIsTUFBTSxDQUFDO0lBQUEsR0FDL0IsQ0FBQ2pCLGlCQUFpQixFQUFFaUIsTUFBTSxDQUM1QixDQUFDO0lBQ0QsSUFBTWMsS0FBSyxHQUFHLElBQUFGLGtCQUFXLEVBQUM7TUFBQSxPQUFNckIsY0FBYyxDQUFDUyxNQUFNLENBQUM7SUFBQSxHQUFFLENBQUNULGNBQWMsRUFBRVMsTUFBTSxDQUFDLENBQUM7SUFDakYsSUFBTWUsTUFBTSxHQUFHLElBQUFILGtCQUFXLEVBQUM7TUFBQSxPQUFNcEIsZUFBZSxDQUFDUSxNQUFNLENBQUM7SUFBQSxHQUFFLENBQUNSLGVBQWUsRUFBRVEsTUFBTSxDQUFDLENBQUM7SUFDcEYsSUFBTWdCLGtCQUFrQixHQUFHLElBQUFKLGtCQUFXLEVBQ3BDLFVBQUFMLGFBQWEsRUFBSTtNQUNmZCxzQkFBc0IsYUFBdEJBLHNCQUFzQixlQUF0QkEsc0JBQXNCLEtBQUF3QixnQkFBQSxpQkFBS2pCLE1BQU0sRUFBR08sYUFBYSxDQUFDVyxNQUFNLENBQUMsQ0FBQztJQUM1RCxDQUFDLEVBQ0QsQ0FBQ2xCLE1BQU0sRUFBRVAsc0JBQXNCLENBQ2pDLENBQUM7SUFFRCxJQUFNMEIscUJBQXFCLEdBQUcsSUFBQVAsa0JBQVcsRUFBQyxZQUFNO01BQzlDYixnQkFBZ0IsQ0FBQyxDQUFDRCxhQUFhLENBQUM7SUFDbEMsQ0FBQyxFQUFFLENBQUNBLGFBQWEsQ0FBQyxDQUFDO0lBRW5CLG9CQUNFbkUsTUFBQSxZQUFBeUYsYUFBQSxDQUFDeEQsZ0JBQWdCO01BQ2Z5RCxTQUFTLEVBQUUsSUFBQUMsdUJBQVUsRUFBQyxhQUFhLE1BQUFMLGdCQUFBLGlCQUFBQSxnQkFBQSxpQkFBQUEsZ0JBQUEsMkJBQUFNLE1BQUEsQ0FDdEJ0QyxXQUFXLEdBQUssSUFBSSxHQUMvQixvQkFBb0IsRUFBRUgsUUFBUSxHQUM5QixZQUFZLEVBQUVzQixTQUFTLENBQ3hCLENBQUU7TUFDSGxCLEdBQUcsRUFBRUEsR0FBSTtNQUNUQyxLQUFLLEVBQUVBLEtBQU07TUFDYnFDLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFFL0UsQ0FBQyxFQUFJO1FBQ1pBLENBQUMsQ0FBQ2dGLFFBQVEsR0FBR25DLGVBQWUsQ0FBQ1UsTUFBTSxDQUFDLEdBQUcsSUFBSTtNQUM3QyxDQUFFO01BQ0YwQixhQUFhLEVBQUVmLFdBQVk7TUFDM0JnQixLQUFLLEVBQUUzQjtJQUFPLEdBRWJDLE9BQU8sZ0JBQ050RSxNQUFBLFlBQUF5RixhQUFBLFlBQU0sQ0FBQyxnQkFFUHpGLE1BQUEsWUFBQXlGLGFBQUEsQ0FBQXpGLE1BQUEsWUFBQWlHLFFBQUEscUJBQ0VqRyxNQUFBLFlBQUF5RixhQUFBO01BQVNDLFNBQVMsRUFBQztJQUFTLGdCQUMxQjFGLE1BQUEsWUFBQXlGLGFBQUE7TUFBS0MsU0FBUyxFQUFDO0lBQVUsZ0JBQ3ZCMUYsTUFBQSxZQUFBeUYsYUFBQTtNQUFLQyxTQUFTLEVBQUM7SUFBZ0IsZ0JBQzdCMUYsTUFBQSxZQUFBeUYsYUFBQTtNQUFLQyxTQUFTLEVBQUM7SUFBZ0IsR0FBRWpDLE9BQU8sQ0FBQ1ksTUFBTSxDQUFDLENBQUM2QixJQUFVLENBQUMsZUFDNURsRyxNQUFBLFlBQUF5RixhQUFBLENBQUNuRixPQUFBLFdBQU07TUFBQ29GLFNBQVMsRUFBQyxnQkFBZ0I7TUFBQ0csT0FBTyxFQUFFYjtJQUFZLEdBQ3JEUixRQUFRLEdBQ1BBLFFBQVEsS0FBSzJCLHFCQUFVLENBQUNDLFNBQVMsZ0JBQy9CcEcsTUFBQSxZQUFBeUYsYUFBQSxDQUFDbEYsTUFBQSxDQUFBOEYsT0FBTztNQUFDQyxNQUFNLEVBQUM7SUFBTSxDQUFFLENBQUMsZ0JBRXpCdEcsTUFBQSxZQUFBeUYsYUFBQSxDQUFDbEYsTUFBQSxDQUFBZ0csU0FBUztNQUFDRCxNQUFNLEVBQUM7SUFBTSxDQUFFLENBQzNCLEdBQ0MsSUFDRSxDQUFDLGVBQ1R0RyxNQUFBLFlBQUF5RixhQUFBLENBQUNuRixPQUFBLFdBQU07TUFBQ29GLFNBQVMsRUFBQyxrQkFBa0I7TUFBQ0csT0FBTyxFQUFFTDtJQUFzQixHQUNqRWQsV0FBVyxnQkFBRzFFLE1BQUEsWUFBQXlGLGFBQUEsQ0FBQ2xGLE1BQUEsQ0FBQWlHLElBQUk7TUFBQ0YsTUFBTSxFQUFDO0lBQU0sQ0FBRSxDQUFDLEdBQUcsSUFBSSxlQUM1Q3RHLE1BQUEsWUFBQXlGLGFBQUEsQ0FBQ2hGLGVBQUEsQ0FBQWdHLGlCQUFpQjtNQUNoQkMsSUFBSSxFQUFFLENBQUU7TUFDUkMsR0FBRyxFQUFFLENBQUU7TUFDUEMsUUFBUSxFQUFFbEMsV0FBVyxJQUFJUCxhQUFjO01BQ3ZDUyxhQUFhLEVBQUVuQixPQUFPLENBQUNZLE1BQU0sQ0FBQyxDQUFDTyxhQUFjO01BQzdDaUMsZ0JBQWdCLEVBQUV4QixrQkFBbUI7TUFDckN5QixPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtRQUFBLE9BQVExQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7TUFBQSxDQUFDO01BQ3ZDUyxZQUFZLEVBQUVBO0lBQWEsQ0FDNUIsQ0FDSyxDQUNMLENBQUMsZUFDTjdFLE1BQUEsWUFBQXlGLGFBQUEsQ0FBQ25GLE9BQUEsV0FBTTtNQUFDb0YsU0FBUyxFQUFDLE1BQU07TUFBQ0csT0FBTyxFQUFFWDtJQUFtQixnQkFDbkRsRixNQUFBLFlBQUF5RixhQUFBLENBQUNsRixNQUFBLENBQUF3RyxhQUFhO01BQUNULE1BQU0sRUFBQztJQUFNLENBQUUsQ0FDeEIsQ0FDTCxDQUFDLGVBQ050RyxNQUFBLFlBQUF5RixhQUFBLENBQUM1QyxVQUFVO01BQUNrQyxJQUFJLEVBQUV0QixPQUFPLENBQUNZLE1BQU0sQ0FBQyxDQUFDVTtJQUFLLENBQUUsQ0FDbEMsQ0FBQyxlQUVWL0UsTUFBQSxZQUFBeUYsYUFBQTtNQUFTQyxTQUFTLEVBQUM7SUFBUyxnQkFDMUIxRixNQUFBLFlBQUF5RixhQUFBLENBQUNoRixlQUFBLFdBQWM7TUFDYm1HLFFBQVEsRUFBRXZELGlCQUFpQixLQUFLZ0IsTUFBTztNQUN2Q0EsTUFBTSxFQUFFQSxNQUFPO01BQ2ZaLE9BQU8sRUFBRUEsT0FBUTtNQUNqQkwsaUJBQWlCLEVBQUVBLGlCQUFrQjtNQUNyQ08sZUFBZSxFQUNiQSxlQUFlLEdBQUcsVUFBQXFELElBQUk7UUFBQSxPQUFJckQsZUFBZSxDQUFDVSxNQUFNLEVBQUUyQyxJQUFJLENBQUM7TUFBQSxJQUFHQyxTQUMzRDtNQUNEckQsY0FBYyxFQUFFdUIsS0FBTTtNQUN0QnRCLGVBQWUsRUFBRXVCLE1BQU87TUFDeEJ5QixnQkFBZ0IsRUFBRS9DLHNCQUFzQixHQUFHdUIsa0JBQWtCLEdBQUc0QjtJQUFVLENBQzNFLENBQ00sQ0FDVCxDQUVZLENBQUM7RUFFdkIsQ0FBQztFQUNELE9BQU9uRSxVQUFVO0FBQ25CLENBQUM7QUFDREYsaUJBQWlCLENBQUNzRSxJQUFJLEdBQUcsQ0FBQ0Msc0JBQWlCLENBQUM7QUFBQyxJQUFBQyxRQUFBLEdBQUFDLE9BQUEsY0FDOUJ6RSxpQkFBaUIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -63,7 +63,7 @@ export interface DataTableProps {
|
|
|
63
63
|
sortColumn: SortColumn;
|
|
64
64
|
sortTableColumn: (column: string, mode?: string) => void;
|
|
65
65
|
pinTableColumn: (column: string) => void;
|
|
66
|
-
setColumnDisplayFormat
|
|
66
|
+
setColumnDisplayFormat?: (formats: {
|
|
67
67
|
[key: string]: string;
|
|
68
68
|
}) => void;
|
|
69
69
|
copyTableColumn: (column: string) => void;
|
|
@@ -460,4 +460,4 @@ function DataTableFactory(HeaderCell) {
|
|
|
460
460
|
return (0, _styledComponents.withTheme)(DataTable);
|
|
461
461
|
}
|
|
462
462
|
var _default = exports["default"] = DataTableFactory;
|
|
463
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RWaXJ0dWFsaXplZCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2NsYXNzbmFtZXMyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZXNlbGVjdCIsIl9sb2Rhc2giLCJfbG9kYXNoMiIsIl9pY29ucyIsIl9ncmlkIiwiX2hlYWRlckNlbGwiLCJfdXRpbHMiLCJfY2VsbFNpemUiLCJfY29uc3RhbnRzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiZGVmYXVsdEhlYWRlclJvd0hlaWdodCIsImRlZmF1bHRIZWFkZXJTdGF0c0NvbnRyb2xIZWlnaHQiLCJkZWZhdWx0Um93SGVpZ2h0Iiwib3ZlcnNjYW5Db2x1bW5Db3VudCIsIm92ZXJzY2FuUm93Q291bnQiLCJicm93c2VyU2Nyb2xsQmFyV2lkdGgiLCJmaWVsZFRvQWxpZ25SaWdodCIsIkFMTF9GSUVMRF9UWVBFUyIsImludGVnZXIiLCJyZWFsIiwicGlubmVkQ2xhc3NMaXN0IiwiaGVhZGVyIiwicm93cyIsInVucGlubmVkQ2xhc3NMaXN0IiwiQ29udGFpbmVyIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsImRhdGFUYWJsZVRleHRDb2xvciIsImhhc0N1c3RvbVNjcm9sbEJhclN0eWxlIiwibW9kYWxTY3JvbGxCYXIiLCJjZWxsQm9yZGVyQ29sb3IiLCJwaW5uZWRHcmlkQm9yZGVyQ29sb3IiLCJldmVuUm93QmFja2dyb3VuZCIsIm9kZFJvd0JhY2tncm91bmQiLCJjZWxsUGFkZGluZ1NpZGUiLCJjZWxsRm9udFNpemUiLCJlZGdlQ2VsbFBhZGRpbmdTaWRlIiwiZGVmYXVsdENvbHVtbldpZHRoIiwiY29sdW1uV2lkdGhGdW5jdGlvbiIsImNvbHVtbnMiLCJjZWxsU2l6ZUNhY2hlIiwiZ2hvc3QiLCJfcmVmIiwiaW5kZXgiLCJkZWZhdWx0R2V0Um93Q2VsbCIsIl9yZWYyIiwiZm9ybWF0dGVyIiwiZGF0YUNvbnRhaW5lciIsImNvbHVtbiIsImNvbE1ldGEiLCJyb3dJbmRleCIsInNvcnRPcmRlciIsInJvd0lkeCIsInR5cGUiLCJ2YWx1ZSIsInZhbHVlQXQiLCJpbmRleE9mIiwidW5kZWZpbmVkIiwicGFyc2VGaWVsZFZhbHVlIiwiU3R5bGVkU3RhdHNDb250cm9sIiwiaGVhZGVyU3RhdHNDb250cm9sSGVpZ2h0IiwidG9wIiwiZm9udEZhbWlseU1lZGl1bSIsImFjdGl2ZUNvbG9yIiwiaGVhZGVyQ2VsbFN0YXRzQ29udHJvbEJhY2tncm91bmQiLCJzaG93U3RhdHMiLCJTdGF0c0NvbnRyb2wiLCJfcmVmMyIsInRvZ2dsZVNob3dTdGF0cyIsImNyZWF0ZUVsZW1lbnQiLCJvbkNsaWNrIiwiQXJyb3dEb3duIiwiaGVpZ2h0IiwiVGFibGVTZWN0aW9uIiwiX3JlZjQiLCJjbGFzc0xpc3QiLCJpc1Bpbm5lZCIsImhlYWRlckdyaWRQcm9wcyIsImZpeGVkV2lkdGgiLCJfcmVmNCRmaXhlZEhlaWdodCIsImZpeGVkSGVpZ2h0Iiwib25TY3JvbGwiLCJzY3JvbGxUb3AiLCJkYXRhR3JpZFByb3BzIiwiY29sdW1uV2lkdGgiLCJfcmVmNCRzZXRHcmlkUmVmIiwic2V0R3JpZFJlZiIsImhlYWRlckNlbGxSZW5kZXIiLCJkYXRhQ2VsbFJlbmRlciIsIl9yZWY0JHNjcm9sbExlZnQiLCJzY3JvbGxMZWZ0IiwiaGVhZGVySGVpZ2h0IiwiaGVhZGVyU3R5bGUiLCJ1c2VNZW1vIiwiY29uY2F0IiwiY29udGVudFN0eWxlIiwiQXV0b1NpemVyIiwiX3JlZjUiLCJ3aWR0aCIsImdyaWREaW1lbnNpb24iLCJjb2x1bW5Db3VudCIsImhlYWRlckdyaWRXaWR0aCIsImRhdGFHcmlkSGVpZ2h0IiwiRnJhZ21lbnQiLCJjbGFzc05hbWUiLCJjbGFzc25hbWVzIiwic3R5bGUiLCJfZXh0ZW5kczIiLCJjZWxsUmVuZGVyZXIiLCJEYXRhVGFibGVGYWN0b3J5IiwiZGVwcyIsIkhlYWRlckNlbGxGYWN0b3J5IiwiSGVhZGVyQ2VsbCIsIkRhdGFUYWJsZSIsIl9Db21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsIm1vcmVPcHRpb25zQ29sdW1uIiwiY3JlYXRlUmVmIiwicGlubmVkQ29sdW1ucyIsImNyZWF0ZVNlbGVjdG9yIiwiaXNBcnJheSIsImMiLCJpbmNsdWRlcyIsImhhc01vdW50ZWQiLCJzZXRTdGF0ZSIsInN0YXRlIiwiX3RoaXMkcHJvcHMiLCJfdGhpcyRwcm9wcyRjZWxsU2l6ZUMiLCJwcm9wc0NhY2hlIiwiX3RoaXMkcHJvcHMkcGlubmVkQ29sIiwidW5waW5uZWRDb2x1bW5zIiwicm9vdCIsImN1cnJlbnQiLCJjbGllbnRXaWR0aCIsImFkanVzdFdpZHRoIiwiX3JlZjYiLCJhZGp1c3RDZWxsc1RvQ29udGFpbmVyIiwiZ2V0Q2VsbFNpemVDYWNoZSIsImRlYm91bmNlIiwiZG9TY2FsZUNlbGxzVG9XaWR0aCIsIl90aGlzJHByb3BzJGdldFJvd0NlbCIsImdldFJvd0NlbGwiLCJEYXRhQ2VsbFJlbmRlcmVyIiwiY2VsbEluZm8iLCJjb2x1bW5JbmRleCIsImtleSIsImlzR2hvc3QiLCJnZXRDb2x1bW5Gb3JtYXR0ZXIiLCJyb3dDZWxsIiwibGFzdFJvd0luZGV4IiwibnVtUm93cyIsImVuZENlbGwiLCJmaXJzdENlbGwiLCJib3R0b21DZWxsIiwiYWxpZ25SaWdodCIsIk51bWJlciIsImNlbGwiLCJ0aXRsZSIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwiY29tcG9uZW50RGlkTW91bnQiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwic2NhbGVDZWxsc1RvV2lkdGgiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZW5kZXJIZWFkZXJDZWxsIiwidG9nZ2xlTW9yZU9wdGlvbnMiLCJfdGhpczIiLCJIZWFkZXJDZWxsUmVuZGVyZXIiLCJyZW5kZXIiLCJfdGhpczMiLCJfdGhpcyRwcm9wczIiLCJfdGhpcyRwcm9wczIkcGlubmVkQ28iLCJfdGhpcyRwcm9wczIkdGhlbWUiLCJfdGhpcyRwcm9wczIkZml4ZWRIZWkiLCJoYXNTdGF0cyIsIl90aGlzJHN0YXRlIiwiX3RoaXMkc3RhdGUkY2VsbFNpemVDIiwidW5waW5uZWRDb2x1bW5zR2hvc3QiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwicGlubmVkQ29sdW1uc1dpZHRoIiwicmVkdWNlIiwiYWNjIiwidmFsIiwiaGFzUGlubmVkQ29sdW1ucyIsIl90aGVtZSRoZWFkZXJSb3dIZWlnaCIsImhlYWRlclJvd0hlaWdodCIsIl90aGVtZSRoZWFkZXJTdGF0c0NvbiIsIl90aGVtZSRoZWFkZXJSb3dXU3RhdCIsImhlYWRlclJvd1dTdGF0c0hlaWdodCIsIl90aGVtZSRyb3dIZWlnaHQiLCJyb3dIZWlnaHQiLCJyb3dDb3VudCIsInJlZiIsIlNjcm9sbFN5bmMiLCJfcmVmNyIsInBpbm5lZEdyaWQiLCJyZW5kZXJEYXRhQ2VsbCIsIm1hcmdpbkxlZnQiLCJ1bnBpbm5lZEdyaWQiLCJDb21wb25lbnQiLCJzb3J0Q29sdW1uIiwid2l0aFRoZW1lIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL2RhdGEtdGFibGUvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgY3JlYXRlUmVmLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1Njcm9sbFN5bmMsIEF1dG9TaXplciwgT25TY3JvbGxQYXJhbXMsIEdyaWRQcm9wcywgSW5kZXh9IGZyb20gJ3JlYWN0LXZpcnR1YWxpemVkJztcbmltcG9ydCBzdHlsZWQsIHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2guZ2V0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2guZGVib3VuY2UnO1xuaW1wb3J0IHtBcnJvd0Rvd259IGZyb20gJy4uL2ljb25zJztcblxuaW1wb3J0IHtDZWxsU2l6ZUNhY2hlfSBmcm9tICcuL2NlbGwtc2l6ZSc7XG5cbmltcG9ydCBHcmlkIGZyb20gJy4vZ3JpZCc7XG5pbXBvcnQgSGVhZGVyQ2VsbEZhY3RvcnkgZnJvbSAnLi9oZWFkZXItY2VsbCc7XG5cbmltcG9ydCB7Q29sTWV0YX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge3BhcnNlRmllbGRWYWx1ZSwgZ2V0Q29sdW1uRm9ybWF0dGVyLCBEYXRhQ29udGFpbmVySW50ZXJmYWNlfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7YWRqdXN0Q2VsbHNUb0NvbnRhaW5lcn0gZnJvbSAnLi9jZWxsLXNpemUnO1xuXG5pbXBvcnQge0FMTF9GSUVMRF9UWVBFU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuXG5jb25zdCBkZWZhdWx0SGVhZGVyUm93SGVpZ2h0ID0gNTU7XG5jb25zdCBkZWZhdWx0SGVhZGVyU3RhdHNDb250cm9sSGVpZ2h0ID0gNDA7XG5jb25zdCBkZWZhdWx0Um93SGVpZ2h0ID0gMzI7XG5jb25zdCBvdmVyc2NhbkNvbHVtbkNvdW50ID0gMTA7XG5jb25zdCBvdmVyc2NhblJvd0NvdW50ID0gMTA7XG4vLyBUaGUgZGVmYXVsdCBzY3JvbGxiYXIgd2lkdGggY2FuIHJhbmdlIGFueXdoZXJlIGZyb20gMTJweCB0byAxN3B4XG5jb25zdCBicm93c2VyU2Nyb2xsQmFyV2lkdGggPSAxNztcbmNvbnN0IGZpZWxkVG9BbGlnblJpZ2h0ID0ge1xuICBbQUxMX0ZJRUxEX1RZUEVTLmludGVnZXJdOiB0cnVlLFxuICBbQUxMX0ZJRUxEX1RZUEVTLnJlYWxdOiB0cnVlXG59O1xuXG5jb25zdCBwaW5uZWRDbGFzc0xpc3QgPSB7XG4gIGhlYWRlcjogJ3Bpbm5lZC1jb2x1bW5zLS1oZWFkZXIgcGlubmVkLWdyaWQtY29udGFpbmVyJyxcbiAgcm93czogJ3Bpbm5lZC1jb2x1bW5zLS1yb3dzIHBpbm5lZC1ncmlkLWNvbnRhaW5lcidcbn07XG5cbmNvbnN0IHVucGlubmVkQ2xhc3NMaXN0ID0ge1xuICBoZWFkZXI6ICd1bnBpbm5lZC1jb2x1bW5zLS1oZWFkZXIgdW5waW5uZWQtZ3JpZC1jb250YWluZXInLFxuICByb3dzOiAndW5waW5uZWQtY29sdW1ucy0tcm93cyB1bnBpbm5lZC1ncmlkLWNvbnRhaW5lcidcbn07XG5cbnR5cGUgQ29udGFpbmVyUHJvcHMgPSB7XG4gIGhhc0N1c3RvbVNjcm9sbEJhclN0eWxlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2PENvbnRhaW5lclByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRhdGFUYWJsZVRleHRDb2xvcn07XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC5SZWFjdFZpcnR1YWxpemVkX19HcmlkOmZvY3VzLFxuICAuUmVhY3RWaXJ0dWFsaXplZF9fR3JpZDphY3RpdmUge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbiAgLmJvZHktZ3JpZCB7XG4gICAgJHtwcm9wcyA9PiBwcm9wcy5oYXNDdXN0b21TY3JvbGxCYXJTdHlsZSAmJiBwcm9wcy50aGVtZS5tb2RhbFNjcm9sbEJhcn1cbiAgfVxuXG4gIC5jZWxsIHtcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICo6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAucmVzdWx0cy10YWJsZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5zY3JvbGwtaW4tdWktdGhyZWFkLnBpbm5lZC1jb2x1bW5zLS1oZWFkZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmNlbGxCb3JkZXJDb2xvcn07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHticm93c2VyU2Nyb2xsQmFyV2lkdGh9cHg7XG4gICAgfVxuICAgIC5zY3JvbGwtaW4tdWktdGhyZWFkLnVucGlubmVkLWNvbHVtbnMtLWhlYWRlciB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuY2VsbEJvcmRlckNvbG9yfTtcbiAgICAgIC8vIGxlYXZlIHJvb20gZm9yIHNjcm9sbGJhclxuICAgICAgcGFkZGluZy1ib3R0b206ICR7YnJvd3NlclNjcm9sbEJhcldpZHRofXB4O1xuICAgIH1cblxuICAgIC5zY3JvbGwtaW4tdWktdGhyZWFkOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5ncmlkLXJvdyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgLmdyaWQtY29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuICAgIC5waW5uZWQtZ3JpZC1jb250YWluZXIge1xuICAgICAgZmxleDogMCAwIDc1cHg7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBpbm5lZEdyaWRCb3JkZXJDb2xvcn07XG4gICAgfVxuICAgIC5ldmVuLXJvdyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmV2ZW5Sb3dCYWNrZ3JvdW5kfTtcbiAgICB9XG4gICAgLm9kZC1yb3cge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5vZGRSb3dCYWNrZ3JvdW5kfTtcbiAgICB9XG4gICAgLmNlbGwsXG4gICAgLmhlYWRlci1jZWxsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIC8vIGhlYWRlciBib3JkZXIgaXMgcmVuZGVyZWQgYnkgaGVhZGVyIGNvbnRhaW5lclxuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIC5uLXNvcnQtaWR4IHtcbiAgICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmNlbGxCb3JkZXJDb2xvcn07XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmNlbGxCb3JkZXJDb2xvcn07XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuY2VsbFBhZGRpbmdTaWRlfXB4O1xuICAgICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmNlbGxGb250U2l6ZX1weDtcblxuICAgICAgLnJlc3VsdC1saW5rIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbC5lbmQtY2VsbCxcbiAgICAuaGVhZGVyLWNlbGwuZW5kLWNlbGwge1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgcGFkZGluZy1yaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5jZWxsUGFkZGluZ1NpZGUgKyBwcm9wcy50aGVtZS5lZGdlQ2VsbFBhZGRpbmdTaWRlfXB4O1xuICAgIH1cbiAgICAuY2VsbC5maXJzdC1jZWxsLFxuICAgIC5oZWFkZXItY2VsbC5maXJzdC1jZWxsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5jZWxsUGFkZGluZ1NpZGUgKyBwcm9wcy50aGVtZS5lZGdlQ2VsbFBhZGRpbmdTaWRlfXB4O1xuICAgIH1cbiAgICAuY2VsbC5ib3R0b20tY2VsbCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgICAuY2VsbC5hbGlnbi1yaWdodCB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuYDtcblxuY29uc3QgZGVmYXVsdENvbHVtbldpZHRoID0gMjAwO1xuXG5leHBvcnQgdHlwZSBTb3J0Q29sdW1uID0ge1xuICBjb2x1bW4/OiBzdHJpbmc7XG4gIG1vZGU/OiBzdHJpbmc7XG59O1xuXG5jb25zdCBjb2x1bW5XaWR0aEZ1bmN0aW9uID1cbiAgKGNvbHVtbnMsIGNlbGxTaXplQ2FjaGUsIGdob3N0PykgPT5cbiAgKHtpbmRleH0pID0+IHtcbiAgICByZXR1cm4gKGNvbHVtbnNbaW5kZXhdIHx8IHt9KS5naG9zdFxuICAgICAgPyBnaG9zdFxuICAgICAgOiBjZWxsU2l6ZUNhY2hlW2NvbHVtbnNbaW5kZXhdXSB8fCBkZWZhdWx0Q29sdW1uV2lkdGg7XG4gIH07XG5cbmludGVyZmFjZSBHZXRSb3dDZWxsUHJvcHMge1xuICBkYXRhQ29udGFpbmVyOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlIHwgbnVsbDtcbiAgY29sdW1uczogKHN0cmluZyAmIHtnaG9zdD86IGJvb2xlYW59KVtdO1xuICBjb2x1bW46IHN0cmluZztcbiAgY29sTWV0YTtcbiAgcm93SW5kZXg6IG51bWJlcjtcbiAgc29ydE9yZGVyPzogbnVtYmVyW10gfCBudWxsO1xufVxuXG4vKlxuICogVGhpcyBpcyBhbiBhY2Nlc3NvciBtZXRob2QgdXNlZCB0byBnZW5lcmFsaXplIGdldHRpbmcgYSBjZWxsIGZyb20gYSBkYXRhIHJvd1xuICovXG5jb25zdCBkZWZhdWx0R2V0Um93Q2VsbCA9IChcbiAge2RhdGFDb250YWluZXIsIGNvbHVtbnMsIGNvbHVtbiwgY29sTWV0YSwgcm93SW5kZXgsIHNvcnRPcmRlcn06IEdldFJvd0NlbGxQcm9wcyxcbiAgZm9ybWF0dGVyXG4pID0+IHtcbiAgY29uc3Qgcm93SWR4ID0gc29ydE9yZGVyICYmIHNvcnRPcmRlci5sZW5ndGggPyBnZXQoc29ydE9yZGVyLCByb3dJbmRleCkgOiByb3dJbmRleDtcbiAgY29uc3Qge3R5cGV9ID0gY29sTWV0YVtjb2x1bW5dO1xuXG4gIGNvbnN0IHZhbHVlID0gZGF0YUNvbnRhaW5lcj8udmFsdWVBdChyb3dJZHgsIGNvbHVtbnMuaW5kZXhPZihjb2x1bW4pKTtcbiAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09ICcnXG4gICAgPyAnJ1xuICAgIDogZm9ybWF0dGVyXG4gICAgPyBmb3JtYXR0ZXIodmFsdWUpXG4gICAgOiBwYXJzZUZpZWxkVmFsdWUodmFsdWUsIHR5cGUpO1xufTtcblxudHlwZSBTdGF0c0NvbnRyb2xQcm9wcyA9IHtcbiAgdG9wOiBudW1iZXI7XG4gIHNob3dTdGF0cz86IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRTdGF0c0NvbnRyb2wgPSBzdHlsZWQuZGl2PFN0YXRzQ29udHJvbFByb3BzPmBcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmhlYWRlclN0YXRzQ29udHJvbEhlaWdodH1weDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICR7cHJvcHMgPT4gcHJvcHMudG9wfXB4O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5TWVkaXVtfXB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmFjdGl2ZUNvbG9yfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5oZWFkZXJDZWxsU3RhdHNDb250cm9sQmFja2dyb3VuZH07XG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gID4gZGl2IHtcbiAgICBwYWRkaW5nOiAwcHggMjRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJHtwcm9wcyA9PiAocHJvcHMuc2hvd1N0YXRzID8gMTgwIDogMCl9ZGVnKTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IFN0YXRzQ29udHJvbCA9ICh7XG4gIHRvcCxcbiAgc2hvd1N0YXRzLFxuICB0b2dnbGVTaG93U3RhdHNcbn06IHtcbiAgdG9wOiBudW1iZXI7XG4gIHNob3dTdGF0cz86IGJvb2xlYW47XG4gIHRvZ2dsZVNob3dTdGF0czogKCkgPT4gdm9pZDtcbn0pID0+IChcbiAgPFN0eWxlZFN0YXRzQ29udHJvbCB0b3A9e3RvcH0gc2hvd1N0YXRzPXtzaG93U3RhdHN9PlxuICAgIDxkaXYgb25DbGljaz17dG9nZ2xlU2hvd1N0YXRzfT5cbiAgICAgIHtzaG93U3RhdHMgPyAnSGlkZSBDb2x1bW4gU3RhdHMnIDogJ1Nob3cgQ29sdW1uIFN0YXRzJ31cbiAgICAgIDxBcnJvd0Rvd24gaGVpZ2h0PVwiMThweFwiIC8+XG4gICAgPC9kaXY+XG4gIDwvU3R5bGVkU3RhdHNDb250cm9sPlxuKTtcblxuaW50ZXJmYWNlIFRhYmxlU2VjdGlvblByb3BzIHtcbiAgY2xhc3NMaXN0Pzoge1xuICAgIGhlYWRlcjogc3RyaW5nO1xuICAgIHJvd3M6IHN0cmluZztcbiAgfTtcbiAgaXNQaW5uZWQ/OiBib29sZWFuO1xuICBjb2x1bW5zOiAoc3RyaW5nICYge2dob3N0PzogYm9vbGVhbn0pW107XG4gIGhlYWRlckdyaWRQcm9wcz87XG4gIGZpeGVkV2lkdGg/OiBudW1iZXIgfCBudWxsO1xuICBmaXhlZEhlaWdodD86IG51bWJlciB8IG51bGw7XG4gIG9uU2Nyb2xsPzogKHBhcmFtczogT25TY3JvbGxQYXJhbXMpID0+IHZvaWQ7XG4gIHNjcm9sbFRvcD86IG51bWJlcjtcbiAgZGF0YUdyaWRQcm9wczoge1xuICAgIHJvd0hlaWdodDogbnVtYmVyIHwgKChwYXJhbXM6IEluZGV4KSA9PiBudW1iZXIpO1xuICAgIHJvd0NvdW50OiBudW1iZXI7XG4gIH0gJiBQYXJ0aWFsPEdyaWRQcm9wcz47XG4gIGNvbHVtbldpZHRoPztcbiAgc2V0R3JpZFJlZj86IChyZWY6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4gdm9pZDtcbiAgaGVhZGVyQ2VsbFJlbmRlcj87XG4gIGRhdGFDZWxsUmVuZGVyPztcbiAgc2Nyb2xsTGVmdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFRhYmxlU2VjdGlvbiA9ICh7XG4gIGNsYXNzTGlzdCxcbiAgaXNQaW5uZWQsXG4gIGNvbHVtbnMsXG4gIGhlYWRlckdyaWRQcm9wcyxcbiAgZml4ZWRXaWR0aCxcbiAgZml4ZWRIZWlnaHQgPSB1bmRlZmluZWQsXG4gIG9uU2Nyb2xsLFxuICBzY3JvbGxUb3AsXG4gIGRhdGFHcmlkUHJvcHMsXG4gIGNvbHVtbldpZHRoLFxuICBzZXRHcmlkUmVmID0gdW5kZWZpbmVkLFxuICBoZWFkZXJDZWxsUmVuZGVyLFxuICBkYXRhQ2VsbFJlbmRlcixcbiAgc2Nyb2xsTGVmdCA9IDBcbn06IFRhYmxlU2VjdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IGhlYWRlckhlaWdodCA9IGhlYWRlckdyaWRQcm9wcy5oZWlnaHQ7XG5cbiAgY29uc3QgaGVhZGVyU3R5bGUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBoZWlnaHQ6IGAke2hlYWRlckhlaWdodH1weGBcbiAgICB9KSxcbiAgICBbaGVhZGVySGVpZ2h0XVxuICApO1xuICBjb25zdCBjb250ZW50U3R5bGUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICB0b3A6IGAke2hlYWRlckhlaWdodH1weGBcbiAgICB9KSxcbiAgICBbaGVhZGVySGVpZ2h0XVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPEF1dG9TaXplcj5cbiAgICAgIHsoe3dpZHRoLCBoZWlnaHR9KSA9PiB7XG4gICAgICAgIGNvbnN0IGdyaWREaW1lbnNpb24gPSB7XG4gICAgICAgICAgY29sdW1uQ291bnQ6IGNvbHVtbnMubGVuZ3RoLFxuICAgICAgICAgIGNvbHVtbldpZHRoLFxuICAgICAgICAgIHdpZHRoOiBmaXhlZFdpZHRoIHx8IHdpZHRoXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGhlYWRlckdyaWRXaWR0aCA9IGZpeGVkV2lkdGggfHwgd2lkdGg7XG4gICAgICAgIGNvbnN0IGRhdGFHcmlkSGVpZ2h0ID0gZml4ZWRIZWlnaHQgfHwgaGVpZ2h0O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdzY3JvbGwtaW4tdWktdGhyZWFkJywgY2xhc3NMaXN0Py5oZWFkZXIpfVxuICAgICAgICAgICAgICBzdHlsZT17aGVhZGVyU3R5bGV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxHcmlkXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyPXtoZWFkZXJDZWxsUmVuZGVyfVxuICAgICAgICAgICAgICAgIHsuLi5oZWFkZXJHcmlkUHJvcHN9XG4gICAgICAgICAgICAgICAgey4uLmdyaWREaW1lbnNpb259XG4gICAgICAgICAgICAgICAgaGVpZ2h0PXtoZWFkZXJHcmlkUHJvcHMuaGVpZ2h0ICsgYnJvd3NlclNjcm9sbEJhcldpZHRofVxuICAgICAgICAgICAgICAgIHdpZHRoPXtoZWFkZXJHcmlkV2lkdGh9XG4gICAgICAgICAgICAgICAgc2Nyb2xsTGVmdD17c2Nyb2xsTGVmdH1cbiAgICAgICAgICAgICAgICBvblNjcm9sbD17b25TY3JvbGx9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdzY3JvbGwtaW4tdWktdGhyZWFkJywgY2xhc3NMaXN0Py5yb3dzKX1cbiAgICAgICAgICAgICAgc3R5bGU9e2NvbnRlbnRTdHlsZX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEdyaWRcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXI9e2RhdGFDZWxsUmVuZGVyfVxuICAgICAgICAgICAgICAgIHsuLi5kYXRhR3JpZFByb3BzfVxuICAgICAgICAgICAgICAgIHsuLi5ncmlkRGltZW5zaW9ufVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17aXNQaW5uZWQgPyAncGlubmVkLWdyaWQnIDogJ2JvZHktZ3JpZCd9XG4gICAgICAgICAgICAgICAgaGVpZ2h0PXtkYXRhR3JpZEhlaWdodCAtIGhlYWRlckdyaWRQcm9wcy5oZWlnaHR9XG4gICAgICAgICAgICAgICAgb25TY3JvbGw9e29uU2Nyb2xsfVxuICAgICAgICAgICAgICAgIHNjcm9sbExlZnQ9e3Njcm9sbExlZnR9XG4gICAgICAgICAgICAgICAgc2Nyb2xsVG9wPXtzY3JvbGxUb3B9XG4gICAgICAgICAgICAgICAgc2V0R3JpZFJlZj17c2V0R3JpZFJlZn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvPlxuICAgICAgICApO1xuICAgICAgfX1cbiAgICA8L0F1dG9TaXplcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlUHJvcHMge1xuICBkYXRhSWQ/OiBzdHJpbmc7XG4gIGhhc1N0YXRzPzogYm9vbGVhbjtcbiAgY2VsbFNpemVDYWNoZT86IENlbGxTaXplQ2FjaGU7XG4gIHBpbm5lZENvbHVtbnM/OiBzdHJpbmdbXTtcbiAgY29sdW1uczogKHN0cmluZyAmIHtnaG9zdD86IGJvb2xlYW59KVtdO1xuICBmaXhlZFdpZHRoPzogbnVtYmVyIHwgbnVsbDtcbiAgdGhlbWU/OiBhbnk7XG4gIGRhdGFDb250YWluZXI6IERhdGFDb250YWluZXJJbnRlcmZhY2UgfCBudWxsO1xuICBmaXhlZEhlaWdodD86IG51bWJlciB8IG51bGw7XG4gIGNvbE1ldGE6IENvbE1ldGE7XG4gIHNvcnRDb2x1bW46IFNvcnRDb2x1bW47XG4gIHNvcnRUYWJsZUNvbHVtbjogKGNvbHVtbjogc3RyaW5nLCBtb2RlPzogc3RyaW5nKSA9PiB2b2lkO1xuICBwaW5UYWJsZUNvbHVtbjogKGNvbHVtbjogc3RyaW5nKSA9PiB2b2lkO1xuICBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0OiAoZm9ybWF0czoge1trZXk6IHN0cmluZ106IHN0cmluZ30pID0+IHZvaWQ7XG4gIGNvcHlUYWJsZUNvbHVtbjogKGNvbHVtbjogc3RyaW5nKSA9PiB2b2lkO1xuICBzb3J0T3JkZXI/OiBudW1iZXJbXSB8IG51bGw7XG4gIHNob3dTdGF0cz86IGJvb2xlYW47XG4gIGhhc0N1c3RvbVNjcm9sbEJhclN0eWxlPzogYm9vbGVhbjtcbiAgZ2V0Um93Q2VsbD86IChyZW5kZXJEYXRhQ2VsbFByb3BzOiBHZXRSb3dDZWxsUHJvcHMsIGZvcm1hdHRlcjogYW55KSA9PiBzdHJpbmcgfCBudW1iZXI7XG59XG5cbmludGVyZmFjZSBEYXRhVGFibGVTdGF0ZSB7XG4gIGNlbGxTaXplQ2FjaGU/OiBDZWxsU2l6ZUNhY2hlO1xuICBtb3JlT3B0aW9uc0NvbHVtbj87XG4gIGdob3N0PztcbiAgc2hvd1N0YXRzPzogYm9vbGVhbjtcbn1cblxuRGF0YVRhYmxlRmFjdG9yeS5kZXBzID0gW0hlYWRlckNlbGxGYWN0b3J5XTtcbmZ1bmN0aW9uIERhdGFUYWJsZUZhY3RvcnkoXG4gIEhlYWRlckNlbGw6IFJldHVyblR5cGU8dHlwZW9mIEhlYWRlckNlbGxGYWN0b3J5PlxuKTogUmVhY3QuQ29tcG9uZW50VHlwZTxEYXRhVGFibGVQcm9wcz4ge1xuICBjbGFzcyBEYXRhVGFibGUgZXh0ZW5kcyBDb21wb25lbnQ8RGF0YVRhYmxlUHJvcHMsIERhdGFUYWJsZVN0YXRlPiB7XG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIGRhdGFDb250YWluZXI6IG51bGwsXG4gICAgICBwaW5uZWRDb2x1bW5zOiBbXSxcbiAgICAgIGNvbE1ldGE6IHt9LFxuICAgICAgY2VsbFNpemVDYWNoZToge30sXG4gICAgICBzb3J0Q29sdW1uOiB7fSxcbiAgICAgIGZpeGVkV2lkdGg6IG51bGwsXG4gICAgICBmaXhlZEhlaWdodDogbnVsbCxcbiAgICAgIHRoZW1lOiB7fSxcbiAgICAgIGhhc1N0YXRzOiBmYWxzZSxcbiAgICAgIGhhc0N1c3RvbVNjcm9sbEJhclN0eWxlOiB0cnVlXG4gICAgfTtcblxuICAgIHBpbm5lZEdyaWQ6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgdW5waW5uZWRHcmlkOiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgIGhhc01vdW50ZWQgPSBmYWxzZTtcblxuICAgIHN0YXRlOiBEYXRhVGFibGVTdGF0ZSA9IHtcbiAgICAgIGNlbGxTaXplQ2FjaGU6IHt9LFxuICAgICAgbW9yZU9wdGlvbnNDb2x1bW46IG51bGwsXG4gICAgICBzaG93U3RhdHM6IHRydWVcbiAgICB9O1xuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICB0aGlzLmhhc01vdW50ZWQgPSB0cnVlO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuc2NhbGVDZWxsc1RvV2lkdGgpO1xuICAgICAgdGhpcy5zY2FsZUNlbGxzVG9XaWR0aCgpO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5wcm9wcy5jZWxsU2l6ZUNhY2hlICE9PSBwcmV2UHJvcHMuY2VsbFNpemVDYWNoZSB8fFxuICAgICAgICB0aGlzLnByb3BzLnBpbm5lZENvbHVtbnMgIT09IHByZXZQcm9wcy5waW5uZWRDb2x1bW5zXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5zY2FsZUNlbGxzVG9XaWR0aCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgdGhpcy5oYXNNb3VudGVkID0gZmFsc2U7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5zY2FsZUNlbGxzVG9XaWR0aCk7XG4gICAgfVxuXG4gICAgcm9vdCA9IGNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcbiAgICBjb2x1bW5zID0gKHByb3BzOiBEYXRhVGFibGVQcm9wcykgPT4gcHJvcHMuY29sdW1ucztcbiAgICBwaW5uZWRDb2x1bW5zID0gKHByb3BzOiBEYXRhVGFibGVQcm9wcykgPT4gcHJvcHMucGlubmVkQ29sdW1ucztcbiAgICB1bnBpbm5lZENvbHVtbnMgPSBjcmVhdGVTZWxlY3Rvcih0aGlzLmNvbHVtbnMsIHRoaXMucGlubmVkQ29sdW1ucywgKGNvbHVtbnMsIHBpbm5lZENvbHVtbnMpID0+XG4gICAgICAhQXJyYXkuaXNBcnJheShwaW5uZWRDb2x1bW5zKSA/IGNvbHVtbnMgOiBjb2x1bW5zLmZpbHRlcihjID0+ICFwaW5uZWRDb2x1bW5zLmluY2x1ZGVzKGMpKVxuICAgICk7XG5cbiAgICB0b2dnbGVNb3JlT3B0aW9ucyA9IG1vcmVPcHRpb25zQ29sdW1uID0+IHtcbiAgICAgIGlmICh0aGlzLmhhc01vdW50ZWQpXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIG1vcmVPcHRpb25zQ29sdW1uOlxuICAgICAgICAgICAgdGhpcy5zdGF0ZS5tb3JlT3B0aW9uc0NvbHVtbiA9PT0gbW9yZU9wdGlvbnNDb2x1bW4gPyBudWxsIDogbW9yZU9wdGlvbnNDb2x1bW5cbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICB0b2dnbGVTaG93U3RhdHMgPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5oYXNNb3VudGVkKSB0aGlzLnNldFN0YXRlKHtzaG93U3RhdHM6ICF0aGlzLnN0YXRlLnNob3dTdGF0c30pO1xuICAgIH07XG4gICAgZ2V0Q2VsbFNpemVDYWNoZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHtjZWxsU2l6ZUNhY2hlOiBwcm9wc0NhY2hlID0ge30sIGZpeGVkV2lkdGgsIHBpbm5lZENvbHVtbnMgPSBbXX0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgdW5waW5uZWRDb2x1bW5zID0gdGhpcy51bnBpbm5lZENvbHVtbnModGhpcy5wcm9wcyk7XG5cbiAgICAgIGNvbnN0IHdpZHRoID0gZml4ZWRXaWR0aCA/IGZpeGVkV2lkdGggOiB0aGlzLnJvb3QuY3VycmVudCA/IHRoaXMucm9vdC5jdXJyZW50LmNsaWVudFdpZHRoIDogMDtcblxuICAgICAgLy8gcGluIGNvbHVtbiBib3JkZXIgaXMgMiBwaXhlbCB2cyAxIHBpeGVsXG4gICAgICBjb25zdCBhZGp1c3RXaWR0aCA9IHBpbm5lZENvbHVtbnMubGVuZ3RoID8gd2lkdGggLSAxIDogd2lkdGg7XG4gICAgICBjb25zdCB7Y2VsbFNpemVDYWNoZSwgZ2hvc3R9ID0gYWRqdXN0Q2VsbHNUb0NvbnRhaW5lcihcbiAgICAgICAgYWRqdXN0V2lkdGgsXG4gICAgICAgIHByb3BzQ2FjaGUsXG4gICAgICAgIHBpbm5lZENvbHVtbnMsXG4gICAgICAgIHVucGlubmVkQ29sdW1uc1xuICAgICAgKSBhcyB7Y2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZTsgZ2hvc3Q6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWR9O1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjZWxsU2l6ZUNhY2hlLFxuICAgICAgICBnaG9zdFxuICAgICAgfTtcbiAgICB9O1xuXG4gICAgZG9TY2FsZUNlbGxzVG9XaWR0aCA9ICgpID0+IHtcbiAgICAgIGlmICh0aGlzLmhhc01vdW50ZWQpIHRoaXMuc2V0U3RhdGUodGhpcy5nZXRDZWxsU2l6ZUNhY2hlKCkpO1xuICAgIH07XG5cbiAgICBzY2FsZUNlbGxzVG9XaWR0aCA9IGRlYm91bmNlKHRoaXMuZG9TY2FsZUNlbGxzVG9XaWR0aCwgMzAwKTtcblxuICAgIHJlbmRlckRhdGFDZWxsID0gKGNvbHVtbnMsIGlzUGlubmVkLCBwcm9wczogRGF0YVRhYmxlUHJvcHMpID0+IHtcbiAgICAgIGNvbnN0IGdldFJvd0NlbGwgPSB0aGlzLnByb3BzLmdldFJvd0NlbGwgPz8gZGVmYXVsdEdldFJvd0NlbGw7XG4gICAgICBjb25zdCBEYXRhQ2VsbFJlbmRlcmVyID0gY2VsbEluZm8gPT4ge1xuICAgICAgICBjb25zdCB7Y29sdW1uSW5kZXgsIGtleSwgc3R5bGUsIHJvd0luZGV4fSA9IGNlbGxJbmZvO1xuICAgICAgICBjb25zdCB7ZGF0YUNvbnRhaW5lciwgY29sTWV0YX0gPSBwcm9wcztcbiAgICAgICAgY29uc3QgY29sdW1uID0gY29sdW1uc1tjb2x1bW5JbmRleF07XG4gICAgICAgIGNvbnN0IGlzR2hvc3QgPSBjb2x1bW4uZ2hvc3Q7XG5cbiAgICAgICAgY29uc3QgZm9ybWF0dGVyID0gaXNHaG9zdCA/IG51bGwgOiBnZXRDb2x1bW5Gb3JtYXR0ZXIoY29sTWV0YVtjb2x1bW5dKTtcbiAgICAgICAgY29uc3Qgcm93Q2VsbCA9IGlzR2hvc3QgPyAnJyA6IGdldFJvd0NlbGwoey4uLnByb3BzLCBjb2x1bW4sIHJvd0luZGV4fSwgZm9ybWF0dGVyKTtcbiAgICAgICAgY29uc3QgdHlwZSA9IGlzR2hvc3QgPyBudWxsIDogY29sTWV0YVtjb2x1bW5dLnR5cGU7XG5cbiAgICAgICAgY29uc3QgbGFzdFJvd0luZGV4ID0gZGF0YUNvbnRhaW5lciA/IGRhdGFDb250YWluZXIubnVtUm93cygpIC0gMSA6IDA7XG5cbiAgICAgICAgY29uc3QgZW5kQ2VsbCA9IGNvbHVtbkluZGV4ID09PSBjb2x1bW5zLmxlbmd0aCAtIDE7XG4gICAgICAgIGNvbnN0IGZpcnN0Q2VsbCA9IGNvbHVtbkluZGV4ID09PSAwO1xuICAgICAgICBjb25zdCBib3R0b21DZWxsID0gcm93SW5kZXggPT09IGxhc3RSb3dJbmRleDtcbiAgICAgICAgY29uc3QgYWxpZ25SaWdodCA9IGZpZWxkVG9BbGlnblJpZ2h0W051bWJlcih0eXBlKV07XG5cbiAgICAgICAgY29uc3QgY2VsbCA9IChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2NlbGwnLCB7XG4gICAgICAgICAgICAgIFtyb3dJbmRleCAlIDIgPT09IDAgPyAnZXZlbi1yb3cnIDogJ29kZC1yb3cnXTogdHJ1ZSxcbiAgICAgICAgICAgICAgW2Byb3ctJHtyb3dJbmRleH1gXTogdHJ1ZSxcbiAgICAgICAgICAgICAgJ3Bpbm5lZC1jZWxsJzogaXNQaW5uZWQsXG4gICAgICAgICAgICAgICdmaXJzdC1jZWxsJzogZmlyc3RDZWxsLFxuICAgICAgICAgICAgICAnZW5kLWNlbGwnOiBlbmRDZWxsLFxuICAgICAgICAgICAgICAnYm90dG9tLWNlbGwnOiBib3R0b21DZWxsLFxuICAgICAgICAgICAgICAnYWxpZ24tcmlnaHQnOiBhbGlnblJpZ2h0XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIGtleT17a2V5fVxuICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgdGl0bGU9e2lzR2hvc3QgPyB1bmRlZmluZWQgOiByb3dDZWxsfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtgJHtyb3dDZWxsfSR7ZW5kQ2VsbCA/ICdcXG4nIDogJ1xcdCd9YH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gY2VsbDtcbiAgICAgIH07XG4gICAgICByZXR1cm4gRGF0YUNlbGxSZW5kZXJlcjtcbiAgICB9O1xuXG4gICAgcmVuZGVySGVhZGVyQ2VsbChjb2x1bW5zLCBpc1Bpbm5lZCwgcHJvcHMsIHRvZ2dsZU1vcmVPcHRpb25zLCBtb3JlT3B0aW9uc0NvbHVtbikge1xuICAgICAgY29uc3QgSGVhZGVyQ2VsbFJlbmRlcmVyID0gY2VsbEluZm8gPT4gKFxuICAgICAgICA8SGVhZGVyQ2VsbFxuICAgICAgICAgIGNlbGxJbmZvPXtjZWxsSW5mb31cbiAgICAgICAgICBrZXk9e2NlbGxJbmZvLmNvbHVtbkluZGV4fVxuICAgICAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICAgICAgaXNQaW5uZWQ9e2lzUGlubmVkfVxuICAgICAgICAgIHNob3dTdGF0cz17dGhpcy5zdGF0ZS5zaG93U3RhdHN9XG4gICAgICAgICAgcHJvcHM9e3Byb3BzfVxuICAgICAgICAgIHRvZ2dsZU1vcmVPcHRpb25zPXt0b2dnbGVNb3JlT3B0aW9uc31cbiAgICAgICAgICBtb3JlT3B0aW9uc0NvbHVtbj17bW9yZU9wdGlvbnNDb2x1bW59XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgICAgcmV0dXJuIEhlYWRlckNlbGxSZW5kZXJlcjtcbiAgICB9XG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBkYXRhQ29udGFpbmVyLFxuICAgICAgICBwaW5uZWRDb2x1bW5zID0gW10sXG4gICAgICAgIHRoZW1lID0ge30sXG4gICAgICAgIGZpeGVkV2lkdGgsXG4gICAgICAgIGZpeGVkSGVpZ2h0ID0gMCxcbiAgICAgICAgaGFzU3RhdHMsXG4gICAgICAgIGhhc0N1c3RvbVNjcm9sbEJhclN0eWxlXG4gICAgICB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHVucGlubmVkQ29sdW1ucyA9IHRoaXMudW5waW5uZWRDb2x1bW5zKHRoaXMucHJvcHMpO1xuXG4gICAgICBjb25zdCB7Y2VsbFNpemVDYWNoZSA9IHt9LCBtb3JlT3B0aW9uc0NvbHVtbiwgZ2hvc3QsIHNob3dTdGF0c30gPSB0aGlzLnN0YXRlO1xuICAgICAgY29uc3QgdW5waW5uZWRDb2x1bW5zR2hvc3QgPSBnaG9zdFxuICAgICAgICA/IFsuLi51bnBpbm5lZENvbHVtbnMsIHtnaG9zdDogdHJ1ZX0gYXMgc3RyaW5nICYge2dob3N0OiBib29sZWFufV1cbiAgICAgICAgOiB1bnBpbm5lZENvbHVtbnM7XG4gICAgICBjb25zdCBwaW5uZWRDb2x1bW5zV2lkdGggPSBwaW5uZWRDb2x1bW5zLnJlZHVjZShcbiAgICAgICAgKGFjYywgdmFsKSA9PiBhY2MgKyAoZ2V0KGNlbGxTaXplQ2FjaGUsIHZhbCwgMCkgYXMgbnVtYmVyKSxcbiAgICAgICAgMFxuICAgICAgKTtcblxuICAgICAgY29uc3QgaGFzUGlubmVkQ29sdW1ucyA9IEJvb2xlYW4ocGlubmVkQ29sdW1ucy5sZW5ndGgpO1xuICAgICAgY29uc3Qge1xuICAgICAgICBoZWFkZXJSb3dIZWlnaHQgPSBkZWZhdWx0SGVhZGVyUm93SGVpZ2h0LFxuICAgICAgICBoZWFkZXJTdGF0c0NvbnRyb2xIZWlnaHQgPSBkZWZhdWx0SGVhZGVyU3RhdHNDb250cm9sSGVpZ2h0LFxuICAgICAgICBoZWFkZXJSb3dXU3RhdHNIZWlnaHQgPSBkZWZhdWx0SGVhZGVyUm93SGVpZ2h0LFxuICAgICAgICByb3dIZWlnaHQgPSBkZWZhdWx0Um93SGVpZ2h0XG4gICAgICB9ID0gdGhlbWU7XG5cbiAgICAgIGNvbnN0IGhlYWRlckdyaWRQcm9wcyA9IHtcbiAgICAgICAgY2VsbFNpemVDYWNoZSxcbiAgICAgICAgY2xhc3NOYW1lOiAnaGVhZGVyLWdyaWQnLFxuICAgICAgICBoZWlnaHQ6ICFoYXNTdGF0c1xuICAgICAgICAgID8gaGVhZGVyUm93SGVpZ2h0XG4gICAgICAgICAgOiBzaG93U3RhdHNcbiAgICAgICAgICA/IGhlYWRlclJvd1dTdGF0c0hlaWdodFxuICAgICAgICAgIDogaGVhZGVyUm93SGVpZ2h0ICsgaGVhZGVyU3RhdHNDb250cm9sSGVpZ2h0LFxuICAgICAgICByb3dDb3VudDogMSxcbiAgICAgICAgcm93SGVpZ2h0OiAhaGFzU3RhdHNcbiAgICAgICAgICA/IGhlYWRlclJvd0hlaWdodFxuICAgICAgICAgIDogc2hvd1N0YXRzXG4gICAgICAgICAgPyBoZWFkZXJSb3dXU3RhdHNIZWlnaHRcbiAgICAgICAgICA6IGhlYWRlclJvd0hlaWdodCArIGhlYWRlclN0YXRzQ29udHJvbEhlaWdodFxuICAgICAgfTtcblxuICAgICAgY29uc3QgZGF0YUdyaWRQcm9wcyA9IHtcbiAgICAgICAgY2VsbFNpemVDYWNoZSxcbiAgICAgICAgb3ZlcnNjYW5Db2x1bW5Db3VudCxcbiAgICAgICAgb3ZlcnNjYW5Sb3dDb3VudCxcbiAgICAgICAgcm93Q291bnQ6IGRhdGFDb250YWluZXIgPyBkYXRhQ29udGFpbmVyLm51bVJvd3MoKSA6IDAsXG4gICAgICAgIHJvd0hlaWdodFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgIGNsYXNzTmFtZT1cImRhdGEtdGFibGUtY29udGFpbmVyXCJcbiAgICAgICAgICByZWY9e3RoaXMucm9vdH1cbiAgICAgICAgICBoYXNDdXN0b21TY3JvbGxCYXJTdHlsZT17aGFzQ3VzdG9tU2Nyb2xsQmFyU3R5bGV9XG4gICAgICAgID5cbiAgICAgICAgICB7T2JqZWN0LmtleXMoY2VsbFNpemVDYWNoZSkubGVuZ3RoID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPFNjcm9sbFN5bmM+XG4gICAgICAgICAgICAgICAgeyh7b25TY3JvbGwsIHNjcm9sbExlZnQsIHNjcm9sbFRvcH0pID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVzdWx0cy10YWJsZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2hhc1Bpbm5lZENvbHVtbnMgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9XCJwaW5uZWQtY29sdW1uc1wiIGNsYXNzTmFtZT1cInBpbm5lZC1jb2x1bW5zIGdyaWQtcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxUYWJsZVNlY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc0xpc3Q9e3Bpbm5lZENsYXNzTGlzdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1Bpbm5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnM9e3Bpbm5lZENvbHVtbnN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyR3JpZFByb3BzPXtoZWFkZXJHcmlkUHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZml4ZWRXaWR0aD17cGlubmVkQ29sdW1uc1dpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uU2Nyb2xsPXthcmdzID0+IG9uU2Nyb2xsKHsuLi5hcmdzLCBzY3JvbGxMZWZ0fSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9wPXtzY3JvbGxUb3B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsTGVmdD17c2Nyb2xsTGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhR3JpZFByb3BzPXtkYXRhR3JpZFByb3BzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEdyaWRSZWY9e3Bpbm5lZEdyaWQgPT4gKHRoaXMucGlubmVkR3JpZCA9IHBpbm5lZEdyaWQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbldpZHRoPXtjb2x1bW5XaWR0aEZ1bmN0aW9uKHBpbm5lZENvbHVtbnMsIGNlbGxTaXplQ2FjaGUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlckNlbGxSZW5kZXI9e3RoaXMucmVuZGVySGVhZGVyQ2VsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpbm5lZENvbHVtbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlTW9yZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3JlT3B0aW9uc0NvbHVtblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUNlbGxSZW5kZXI9e3RoaXMucmVuZGVyRGF0YUNlbGwocGlubmVkQ29sdW1ucywgdHJ1ZSwgdGhpcy5wcm9wcyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT1cInVucGlubmVkLWNvbHVtbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luTGVmdDogYCR7aGFzUGlubmVkQ29sdW1ucyA/IGAke3Bpbm5lZENvbHVtbnNXaWR0aH1weGAgOiAnMCd9YFxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInVucGlubmVkLWNvbHVtbnMgZ3JpZC1jb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxUYWJsZVNlY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NMaXN0PXt1bnBpbm5lZENsYXNzTGlzdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXNQaW5uZWQ9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zPXt1bnBpbm5lZENvbHVtbnNHaG9zdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyR3JpZFByb3BzPXtoZWFkZXJHcmlkUHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpeGVkV2lkdGg9e2ZpeGVkV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpeGVkSGVpZ2h0PXtmaXhlZEhlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25TY3JvbGw9e29uU2Nyb2xsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb3A9e3Njcm9sbFRvcH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsTGVmdD17c2Nyb2xsTGVmdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUdyaWRQcm9wcz17ZGF0YUdyaWRQcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0R3JpZFJlZj17dW5waW5uZWRHcmlkID0+ICh0aGlzLnVucGlubmVkR3JpZCA9IHVucGlubmVkR3JpZCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbldpZHRoPXtjb2x1bW5XaWR0aEZ1bmN0aW9uKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVucGlubmVkQ29sdW1uc0dob3N0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbGxTaXplQ2FjaGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2hvc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyQ2VsbFJlbmRlcj17dGhpcy5yZW5kZXJIZWFkZXJDZWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVucGlubmVkQ29sdW1uc0dob3N0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2dnbGVNb3JlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3JlT3B0aW9uc0NvbHVtblxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhQ2VsbFJlbmRlcj17dGhpcy5yZW5kZXJEYXRhQ2VsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBpbm5lZENvbHVtbnNHaG9zdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPC9TY3JvbGxTeW5jPlxuICAgICAgICAgICAgICB7aGFzU3RhdHMgPyAoXG4gICAgICAgICAgICAgICAgPFN0YXRzQ29udHJvbFxuICAgICAgICAgICAgICAgICAgdG9wPXtoZWFkZXJSb3dIZWlnaHR9XG4gICAgICAgICAgICAgICAgICBzaG93U3RhdHM9e3Nob3dTdGF0c31cbiAgICAgICAgICAgICAgICAgIHRvZ2dsZVNob3dTdGF0cz17dGhpcy50b2dnbGVTaG93U3RhdHN9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9Db250YWluZXI+XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB3aXRoVGhlbWUoRGF0YVRhYmxlIGFzIFJlYWN0LkNvbXBvbmVudFR5cGU8RGF0YVRhYmxlUHJvcHM+KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRGF0YVRhYmxlRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsaUJBQUEsR0FBQUgsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLE9BQUEsR0FBQUYsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFPLFFBQUEsR0FBQUgsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFRLE1BQUEsR0FBQVIsT0FBQTtBQUlBLElBQUFTLEtBQUEsR0FBQUwsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFVLFdBQUEsR0FBQU4sc0JBQUEsQ0FBQUosT0FBQTtBQUdBLElBQUFXLE1BQUEsR0FBQVgsT0FBQTtBQUNBLElBQUFZLFNBQUEs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VyxFQUFFQSxXQUFZO1lBQ3pCQyxRQUFRLEVBQUVBLFNBQVM7WUFDbkJDLFNBQVMsRUFBRUEsU0FBVTtZQUNyQlEsVUFBVSxFQUFFQSxVQUFXO1lBQ3ZCUCxhQUFhLEVBQUVBLGFBQWM7WUFDN0JHLFVBQVUsRUFBRSxTQUFaQSxVQUFVQSxDQUFFeUgsWUFBWTtjQUFBLE9BQUs3QixNQUFJLENBQUM2QixZQUFZLEdBQUdBLFlBQVk7WUFBQSxDQUFFO1lBQy9EM0gsV0FBVyxFQUFFOUMsbUJBQW1CLENBQzlCb0osb0JBQW9CLEVBQ3BCbEosYUFBYSxFQUNiQyxLQUNGLENBQUU7WUFDRjhDLGdCQUFnQixFQUFFMkYsTUFBSSxDQUFDTCxnQkFBZ0IsQ0FDckNhLG9CQUFvQixFQUNwQixLQUFLLEVBQ0xSLE1BQUksQ0FBQ3pKLEtBQUssRUFDVnlKLE1BQUksQ0FBQ0osaUJBQWlCLEVBQ3RCckQsaUJBQ0YsQ0FBRTtZQUNGakMsY0FBYyxFQUFFMEYsTUFBSSxDQUFDMkIsY0FBYyxDQUNqQ25CLG9CQUFvQixFQUNwQixLQUFLLEVBQ0xSLE1BQUksQ0FBQ3pKLEtBQ1A7VUFBRSxDQUNILENBQ0UsQ0FDRixDQUFDO1FBRVYsQ0FDVSxDQUFDLEVBQ1o4SixRQUFRLGdCQUNQaFAsTUFBQSxZQUFBOEgsYUFBQSxDQUFDSCxZQUFZO1VBQ1hMLEdBQUcsRUFBRXFJLGVBQWdCO1VBQ3JCakksU0FBUyxFQUFFQSxTQUFVO1VBQ3JCRyxlQUFlLEVBQUUsSUFBSSxDQUFDQTtRQUFnQixDQUN2QyxDQUFDLEdBQ0EsSUFDSixDQUFDLEdBQ0QsSUFDSyxDQUFDO01BRWhCO0lBQUM7RUFBQSxFQWpTcUI0SSxnQkFBUztFQUFBLElBQUF2TixnQkFBQSxhQUEzQndILFNBQVMsa0JBQ1M7SUFDcEJsRSxhQUFhLEVBQUUsSUFBSTtJQUNuQjRFLGFBQWEsRUFBRSxFQUFFO0lBQ2pCMUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNYVCxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ2pCeUssVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNkbkksVUFBVSxFQUFFLElBQUk7SUFDaEJFLFdBQVcsRUFBRSxJQUFJO0lBQ2pCdEQsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNUNkosUUFBUSxFQUFFLEtBQUs7SUFDZjNKLHVCQUF1QixFQUFFO0VBQzNCLENBQUM7RUF3UkgsT0FBTyxJQUFBc0wsMkJBQVMsRUFBQ2pHLFNBQWdELENBQUM7QUFDcEU7QUFBQyxJQUFBa0csUUFBQSxHQUFBOUwsT0FBQSxjQUVjd0YsZ0JBQWdCIiwiaWdub3JlTGlzdCI6W119
|
|
463
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RWaXJ0dWFsaXplZCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2NsYXNzbmFtZXMyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZXNlbGVjdCIsIl9sb2Rhc2giLCJfbG9kYXNoMiIsIl9pY29ucyIsIl9ncmlkIiwiX2hlYWRlckNlbGwiLCJfdXRpbHMiLCJfY2VsbFNpemUiLCJfY29uc3RhbnRzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiZGVmYXVsdEhlYWRlclJvd0hlaWdodCIsImRlZmF1bHRIZWFkZXJTdGF0c0NvbnRyb2xIZWlnaHQiLCJkZWZhdWx0Um93SGVpZ2h0Iiwib3ZlcnNjYW5Db2x1bW5Db3VudCIsIm92ZXJzY2FuUm93Q291bnQiLCJicm93c2VyU2Nyb2xsQmFyV2lkdGgiLCJmaWVsZFRvQWxpZ25SaWdodCIsIkFMTF9GSUVMRF9UWVBFUyIsImludGVnZXIiLCJyZWFsIiwicGlubmVkQ2xhc3NMaXN0IiwiaGVhZGVyIiwicm93cyIsInVucGlubmVkQ2xhc3NMaXN0IiwiQ29udGFpbmVyIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsImRhdGFUYWJsZVRleHRDb2xvciIsImhhc0N1c3RvbVNjcm9sbEJhclN0eWxlIiwibW9kYWxTY3JvbGxCYXIiLCJjZWxsQm9yZGVyQ29sb3IiLCJwaW5uZWRHcmlkQm9yZGVyQ29sb3IiLCJldmVuUm93QmFja2dyb3VuZCIsIm9kZFJvd0JhY2tncm91bmQiLCJjZWxsUGFkZGluZ1NpZGUiLCJjZWxsRm9udFNpemUiLCJlZGdlQ2VsbFBhZGRpbmdTaWRlIiwiZGVmYXVsdENvbHVtbldpZHRoIiwiY29sdW1uV2lkdGhGdW5jdGlvbiIsImNvbHVtbnMiLCJjZWxsU2l6ZUNhY2hlIiwiZ2hvc3QiLCJfcmVmIiwiaW5kZXgiLCJkZWZhdWx0R2V0Um93Q2VsbCIsIl9yZWYyIiwiZm9ybWF0dGVyIiwiZGF0YUNvbnRhaW5lciIsImNvbHVtbiIsImNvbE1ldGEiLCJyb3dJbmRleCIsInNvcnRPcmRlciIsInJvd0lkeCIsInR5cGUiLCJ2YWx1ZSIsInZhbHVlQXQiLCJpbmRleE9mIiwidW5kZWZpbmVkIiwicGFyc2VGaWVsZFZhbHVlIiwiU3R5bGVkU3RhdHNDb250cm9sIiwiaGVhZGVyU3RhdHNDb250cm9sSGVpZ2h0IiwidG9wIiwiZm9udEZhbWlseU1lZGl1bSIsImFjdGl2ZUNvbG9yIiwiaGVhZGVyQ2VsbFN0YXRzQ29udHJvbEJhY2tncm91bmQiLCJzaG93U3RhdHMiLCJTdGF0c0NvbnRyb2wiLCJfcmVmMyIsInRvZ2dsZVNob3dTdGF0cyIsImNyZWF0ZUVsZW1lbnQiLCJvbkNsaWNrIiwiQXJyb3dEb3duIiwiaGVpZ2h0IiwiVGFibGVTZWN0aW9uIiwiX3JlZjQiLCJjbGFzc0xpc3QiLCJpc1Bpbm5lZCIsImhlYWRlckdyaWRQcm9wcyIsImZpeGVkV2lkdGgiLCJfcmVmNCRmaXhlZEhlaWdodCIsImZpeGVkSGVpZ2h0Iiwib25TY3JvbGwiLCJzY3JvbGxUb3AiLCJkYXRhR3JpZFByb3BzIiwiY29sdW1uV2lkdGgiLCJfcmVmNCRzZXRHcmlkUmVmIiwic2V0R3JpZFJlZiIsImhlYWRlckNlbGxSZW5kZXIiLCJkYXRhQ2VsbFJlbmRlciIsIl9yZWY0JHNjcm9sbExlZnQiLCJzY3JvbGxMZWZ0IiwiaGVhZGVySGVpZ2h0IiwiaGVhZGVyU3R5bGUiLCJ1c2VNZW1vIiwiY29uY2F0IiwiY29udGVudFN0eWxlIiwiQXV0b1NpemVyIiwiX3JlZjUiLCJ3aWR0aCIsImdyaWREaW1lbnNpb24iLCJjb2x1bW5Db3VudCIsImhlYWRlckdyaWRXaWR0aCIsImRhdGFHcmlkSGVpZ2h0IiwiRnJhZ21lbnQiLCJjbGFzc05hbWUiLCJjbGFzc25hbWVzIiwic3R5bGUiLCJfZXh0ZW5kczIiLCJjZWxsUmVuZGVyZXIiLCJEYXRhVGFibGVGYWN0b3J5IiwiZGVwcyIsIkhlYWRlckNlbGxGYWN0b3J5IiwiSGVhZGVyQ2VsbCIsIkRhdGFUYWJsZSIsIl9Db21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsIm1vcmVPcHRpb25zQ29sdW1uIiwiY3JlYXRlUmVmIiwicGlubmVkQ29sdW1ucyIsImNyZWF0ZVNlbGVjdG9yIiwiaXNBcnJheSIsImMiLCJpbmNsdWRlcyIsImhhc01vdW50ZWQiLCJzZXRTdGF0ZSIsInN0YXRlIiwiX3RoaXMkcHJvcHMiLCJfdGhpcyRwcm9wcyRjZWxsU2l6ZUMiLCJwcm9wc0NhY2hlIiwiX3RoaXMkcHJvcHMkcGlubmVkQ29sIiwidW5waW5uZWRDb2x1bW5zIiwicm9vdCIsImN1cnJlbnQiLCJjbGllbnRXaWR0aCIsImFkanVzdFdpZHRoIiwiX3JlZjYiLCJhZGp1c3RDZWxsc1RvQ29udGFpbmVyIiwiZ2V0Q2VsbFNpemVDYWNoZSIsImRlYm91bmNlIiwiZG9TY2FsZUNlbGxzVG9XaWR0aCIsIl90aGlzJHByb3BzJGdldFJvd0NlbCIsImdldFJvd0NlbGwiLCJEYXRhQ2VsbFJlbmRlcmVyIiwiY2VsbEluZm8iLCJjb2x1bW5JbmRleCIsImtleSIsImlzR2hvc3QiLCJnZXRDb2x1bW5Gb3JtYXR0ZXIiLCJyb3dDZWxsIiwibGFzdFJvd0luZGV4IiwibnVtUm93cyIsImVuZENlbGwiLCJmaXJzdENlbGwiLCJib3R0b21DZWxsIiwiYWxpZ25SaWdodCIsIk51bWJlciIsImNlbGwiLCJ0aXRsZSIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwiY29tcG9uZW50RGlkTW91bnQiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwic2NhbGVDZWxsc1RvV2lkdGgiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZW5kZXJIZWFkZXJDZWxsIiwidG9nZ2xlTW9yZU9wdGlvbnMiLCJfdGhpczIiLCJIZWFkZXJDZWxsUmVuZGVyZXIiLCJyZW5kZXIiLCJfdGhpczMiLCJfdGhpcyRwcm9wczIiLCJfdGhpcyRwcm9wczIkcGlubmVkQ28iLCJfdGhpcyRwcm9wczIkdGhlbWUiLCJfdGhpcyRwcm9wczIkZml4ZWRIZWkiLCJoYXNTdGF0cyIsIl90aGlzJHN0YXRlIiwiX3RoaXMkc3RhdGUkY2VsbFNpemVDIiwidW5waW5uZWRDb2x1bW5zR2hvc3QiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwicGlubmVkQ29sdW1uc1dpZHRoIiwicmVkdWNlIiwiYWNjIiwidmFsIiwiaGFzUGlubmVkQ29sdW1ucyIsIl90aGVtZSRoZWFkZXJSb3dIZWlnaCIsImhlYWRlclJvd0hlaWdodCIsIl90aGVtZSRoZWFkZXJTdGF0c0NvbiIsIl90aGVtZSRoZWFkZXJSb3dXU3RhdCIsImhlYWRlclJvd1dTdGF0c0hlaWdodCIsIl90aGVtZSRyb3dIZWlnaHQiLCJyb3dIZWlnaHQiLCJyb3dDb3VudCIsInJlZiIsIlNjcm9sbFN5bmMiLCJfcmVmNyIsInBpbm5lZEdyaWQiLCJyZW5kZXJEYXRhQ2VsbCIsIm1hcmdpbkxlZnQiLCJ1bnBpbm5lZEdyaWQiLCJDb21wb25lbnQiLCJzb3J0Q29sdW1uIiwid2l0aFRoZW1lIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL2RhdGEtdGFibGUvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgY3JlYXRlUmVmLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1Njcm9sbFN5bmMsIEF1dG9TaXplciwgT25TY3JvbGxQYXJhbXMsIEdyaWRQcm9wcywgSW5kZXh9IGZyb20gJ3JlYWN0LXZpcnR1YWxpemVkJztcbmltcG9ydCBzdHlsZWQsIHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2guZ2V0JztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2guZGVib3VuY2UnO1xuaW1wb3J0IHtBcnJvd0Rvd259IGZyb20gJy4uL2ljb25zJztcblxuaW1wb3J0IHtDZWxsU2l6ZUNhY2hlfSBmcm9tICcuL2NlbGwtc2l6ZSc7XG5cbmltcG9ydCBHcmlkIGZyb20gJy4vZ3JpZCc7XG5pbXBvcnQgSGVhZGVyQ2VsbEZhY3RvcnkgZnJvbSAnLi9oZWFkZXItY2VsbCc7XG5cbmltcG9ydCB7Q29sTWV0YX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge3BhcnNlRmllbGRWYWx1ZSwgZ2V0Q29sdW1uRm9ybWF0dGVyLCBEYXRhQ29udGFpbmVySW50ZXJmYWNlfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7YWRqdXN0Q2VsbHNUb0NvbnRhaW5lcn0gZnJvbSAnLi9jZWxsLXNpemUnO1xuXG5pbXBvcnQge0FMTF9GSUVMRF9UWVBFU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuXG5jb25zdCBkZWZhdWx0SGVhZGVyUm93SGVpZ2h0ID0gNTU7XG5jb25zdCBkZWZhdWx0SGVhZGVyU3RhdHNDb250cm9sSGVpZ2h0ID0gNDA7XG5jb25zdCBkZWZhdWx0Um93SGVpZ2h0ID0gMzI7XG5jb25zdCBvdmVyc2NhbkNvbHVtbkNvdW50ID0gMTA7XG5jb25zdCBvdmVyc2NhblJvd0NvdW50ID0gMTA7XG4vLyBUaGUgZGVmYXVsdCBzY3JvbGxiYXIgd2lkdGggY2FuIHJhbmdlIGFueXdoZXJlIGZyb20gMTJweCB0byAxN3B4XG5jb25zdCBicm93c2VyU2Nyb2xsQmFyV2lkdGggPSAxNztcbmNvbnN0IGZpZWxkVG9BbGlnblJpZ2h0ID0ge1xuICBbQUxMX0ZJRUxEX1RZUEVTLmludGVnZXJdOiB0cnVlLFxuICBbQUxMX0ZJRUxEX1RZUEVTLnJlYWxdOiB0cnVlXG59O1xuXG5jb25zdCBwaW5uZWRDbGFzc0xpc3QgPSB7XG4gIGhlYWRlcjogJ3Bpbm5lZC1jb2x1bW5zLS1oZWFkZXIgcGlubmVkLWdyaWQtY29udGFpbmVyJyxcbiAgcm93czogJ3Bpbm5lZC1jb2x1bW5zLS1yb3dzIHBpbm5lZC1ncmlkLWNvbnRhaW5lcidcbn07XG5cbmNvbnN0IHVucGlubmVkQ2xhc3NMaXN0ID0ge1xuICBoZWFkZXI6ICd1bnBpbm5lZC1jb2x1bW5zLS1oZWFkZXIgdW5waW5uZWQtZ3JpZC1jb250YWluZXInLFxuICByb3dzOiAndW5waW5uZWQtY29sdW1ucy0tcm93cyB1bnBpbm5lZC1ncmlkLWNvbnRhaW5lcidcbn07XG5cbnR5cGUgQ29udGFpbmVyUHJvcHMgPSB7XG4gIGhhc0N1c3RvbVNjcm9sbEJhclN0eWxlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2PENvbnRhaW5lclByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRhdGFUYWJsZVRleHRDb2xvcn07XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC5SZWFjdFZpcnR1YWxpemVkX19HcmlkOmZvY3VzLFxuICAuUmVhY3RWaXJ0dWFsaXplZF9fR3JpZDphY3RpdmUge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbiAgLmJvZHktZ3JpZCB7XG4gICAgJHtwcm9wcyA9PiBwcm9wcy5oYXNDdXN0b21TY3JvbGxCYXJTdHlsZSAmJiBwcm9wcy50aGVtZS5tb2RhbFNjcm9sbEJhcn1cbiAgfVxuXG4gIC5jZWxsIHtcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICo6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAucmVzdWx0cy10YWJsZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5zY3JvbGwtaW4tdWktdGhyZWFkLnBpbm5lZC1jb2x1bW5zLS1oZWFkZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmNlbGxCb3JkZXJDb2xvcn07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHticm93c2VyU2Nyb2xsQmFyV2lkdGh9cHg7XG4gICAgfVxuICAgIC5zY3JvbGwtaW4tdWktdGhyZWFkLnVucGlubmVkLWNvbHVtbnMtLWhlYWRlciB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuY2VsbEJvcmRlckNvbG9yfTtcbiAgICAgIC8vIGxlYXZlIHJvb20gZm9yIHNjcm9sbGJhclxuICAgICAgcGFkZGluZy1ib3R0b206ICR7YnJvd3NlclNjcm9sbEJhcldpZHRofXB4O1xuICAgIH1cblxuICAgIC5zY3JvbGwtaW4tdWktdGhyZWFkOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5ncmlkLXJvdyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgLmdyaWQtY29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuICAgIC5waW5uZWQtZ3JpZC1jb250YWluZXIge1xuICAgICAgZmxleDogMCAwIDc1cHg7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBpbm5lZEdyaWRCb3JkZXJDb2xvcn07XG4gICAgfVxuICAgIC5ldmVuLXJvdyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmV2ZW5Sb3dCYWNrZ3JvdW5kfTtcbiAgICB9XG4gICAgLm9kZC1yb3cge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5vZGRSb3dCYWNrZ3JvdW5kfTtcbiAgICB9XG4gICAgLmNlbGwsXG4gICAgLmhlYWRlci1jZWxsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIC8vIGhlYWRlciBib3JkZXIgaXMgcmVuZGVyZWQgYnkgaGVhZGVyIGNvbnRhaW5lclxuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIC5uLXNvcnQtaWR4IHtcbiAgICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmNlbGxCb3JkZXJDb2xvcn07XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmNlbGxCb3JkZXJDb2xvcn07XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuY2VsbFBhZGRpbmdTaWRlfXB4O1xuICAgICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmNlbGxGb250U2l6ZX1weDtcblxuICAgICAgLnJlc3VsdC1saW5rIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbC5lbmQtY2VsbCxcbiAgICAuaGVhZGVyLWNlbGwuZW5kLWNlbGwge1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgcGFkZGluZy1yaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5jZWxsUGFkZGluZ1NpZGUgKyBwcm9wcy50aGVtZS5lZGdlQ2VsbFBhZGRpbmdTaWRlfXB4O1xuICAgIH1cbiAgICAuY2VsbC5maXJzdC1jZWxsLFxuICAgIC5oZWFkZXItY2VsbC5maXJzdC1jZWxsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5jZWxsUGFkZGluZ1NpZGUgKyBwcm9wcy50aGVtZS5lZGdlQ2VsbFBhZGRpbmdTaWRlfXB4O1xuICAgIH1cbiAgICAuY2VsbC5ib3R0b20tY2VsbCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgICAuY2VsbC5hbGlnbi1yaWdodCB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuYDtcblxuY29uc3QgZGVmYXVsdENvbHVtbldpZHRoID0gMjAwO1xuXG5leHBvcnQgdHlwZSBTb3J0Q29sdW1uID0ge1xuICBjb2x1bW4/OiBzdHJpbmc7XG4gIG1vZGU/OiBzdHJpbmc7XG59O1xuXG5jb25zdCBjb2x1bW5XaWR0aEZ1bmN0aW9uID1cbiAgKGNvbHVtbnMsIGNlbGxTaXplQ2FjaGUsIGdob3N0PykgPT5cbiAgKHtpbmRleH0pID0+IHtcbiAgICByZXR1cm4gKGNvbHVtbnNbaW5kZXhdIHx8IHt9KS5naG9zdFxuICAgICAgPyBnaG9zdFxuICAgICAgOiBjZWxsU2l6ZUNhY2hlW2NvbHVtbnNbaW5kZXhdXSB8fCBkZWZhdWx0Q29sdW1uV2lkdGg7XG4gIH07XG5cbmludGVyZmFjZSBHZXRSb3dDZWxsUHJvcHMge1xuICBkYXRhQ29udGFpbmVyOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlIHwgbnVsbDtcbiAgY29sdW1uczogKHN0cmluZyAmIHtnaG9zdD86IGJvb2xlYW59KVtdO1xuICBjb2x1bW46IHN0cmluZztcbiAgY29sTWV0YTtcbiAgcm93SW5kZXg6IG51bWJlcjtcbiAgc29ydE9yZGVyPzogbnVtYmVyW10gfCBudWxsO1xufVxuXG4vKlxuICogVGhpcyBpcyBhbiBhY2Nlc3NvciBtZXRob2QgdXNlZCB0byBnZW5lcmFsaXplIGdldHRpbmcgYSBjZWxsIGZyb20gYSBkYXRhIHJvd1xuICovXG5jb25zdCBkZWZhdWx0R2V0Um93Q2VsbCA9IChcbiAge2RhdGFDb250YWluZXIsIGNvbHVtbnMsIGNvbHVtbiwgY29sTWV0YSwgcm93SW5kZXgsIHNvcnRPcmRlcn06IEdldFJvd0NlbGxQcm9wcyxcbiAgZm9ybWF0dGVyXG4pID0+IHtcbiAgY29uc3Qgcm93SWR4ID0gc29ydE9yZGVyICYmIHNvcnRPcmRlci5sZW5ndGggPyBnZXQoc29ydE9yZGVyLCByb3dJbmRleCkgOiByb3dJbmRleDtcbiAgY29uc3Qge3R5cGV9ID0gY29sTWV0YVtjb2x1bW5dO1xuXG4gIGNvbnN0IHZhbHVlID0gZGF0YUNvbnRhaW5lcj8udmFsdWVBdChyb3dJZHgsIGNvbHVtbnMuaW5kZXhPZihjb2x1bW4pKTtcbiAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09ICcnXG4gICAgPyAnJ1xuICAgIDogZm9ybWF0dGVyXG4gICAgPyBmb3JtYXR0ZXIodmFsdWUpXG4gICAgOiBwYXJzZUZpZWxkVmFsdWUodmFsdWUsIHR5cGUpO1xufTtcblxudHlwZSBTdGF0c0NvbnRyb2xQcm9wcyA9IHtcbiAgdG9wOiBudW1iZXI7XG4gIHNob3dTdGF0cz86IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRTdGF0c0NvbnRyb2wgPSBzdHlsZWQuZGl2PFN0YXRzQ29udHJvbFByb3BzPmBcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmhlYWRlclN0YXRzQ29udHJvbEhlaWdodH1weDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICR7cHJvcHMgPT4gcHJvcHMudG9wfXB4O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5TWVkaXVtfXB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmFjdGl2ZUNvbG9yfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5oZWFkZXJDZWxsU3RhdHNDb250cm9sQmFja2dyb3VuZH07XG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gID4gZGl2IHtcbiAgICBwYWRkaW5nOiAwcHggMjRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJHtwcm9wcyA9PiAocHJvcHMuc2hvd1N0YXRzID8gMTgwIDogMCl9ZGVnKTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IFN0YXRzQ29udHJvbCA9ICh7XG4gIHRvcCxcbiAgc2hvd1N0YXRzLFxuICB0b2dnbGVTaG93U3RhdHNcbn06IHtcbiAgdG9wOiBudW1iZXI7XG4gIHNob3dTdGF0cz86IGJvb2xlYW47XG4gIHRvZ2dsZVNob3dTdGF0czogKCkgPT4gdm9pZDtcbn0pID0+IChcbiAgPFN0eWxlZFN0YXRzQ29udHJvbCB0b3A9e3RvcH0gc2hvd1N0YXRzPXtzaG93U3RhdHN9PlxuICAgIDxkaXYgb25DbGljaz17dG9nZ2xlU2hvd1N0YXRzfT5cbiAgICAgIHtzaG93U3RhdHMgPyAnSGlkZSBDb2x1bW4gU3RhdHMnIDogJ1Nob3cgQ29sdW1uIFN0YXRzJ31cbiAgICAgIDxBcnJvd0Rvd24gaGVpZ2h0PVwiMThweFwiIC8+XG4gICAgPC9kaXY+XG4gIDwvU3R5bGVkU3RhdHNDb250cm9sPlxuKTtcblxuaW50ZXJmYWNlIFRhYmxlU2VjdGlvblByb3BzIHtcbiAgY2xhc3NMaXN0Pzoge1xuICAgIGhlYWRlcjogc3RyaW5nO1xuICAgIHJvd3M6IHN0cmluZztcbiAgfTtcbiAgaXNQaW5uZWQ/OiBib29sZWFuO1xuICBjb2x1bW5zOiAoc3RyaW5nICYge2dob3N0PzogYm9vbGVhbn0pW107XG4gIGhlYWRlckdyaWRQcm9wcz87XG4gIGZpeGVkV2lkdGg/OiBudW1iZXIgfCBudWxsO1xuICBmaXhlZEhlaWdodD86IG51bWJlciB8IG51bGw7XG4gIG9uU2Nyb2xsPzogKHBhcmFtczogT25TY3JvbGxQYXJhbXMpID0+IHZvaWQ7XG4gIHNjcm9sbFRvcD86IG51bWJlcjtcbiAgZGF0YUdyaWRQcm9wczoge1xuICAgIHJvd0hlaWdodDogbnVtYmVyIHwgKChwYXJhbXM6IEluZGV4KSA9PiBudW1iZXIpO1xuICAgIHJvd0NvdW50OiBudW1iZXI7XG4gIH0gJiBQYXJ0aWFsPEdyaWRQcm9wcz47XG4gIGNvbHVtbldpZHRoPztcbiAgc2V0R3JpZFJlZj86IChyZWY6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4gdm9pZDtcbiAgaGVhZGVyQ2VsbFJlbmRlcj87XG4gIGRhdGFDZWxsUmVuZGVyPztcbiAgc2Nyb2xsTGVmdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFRhYmxlU2VjdGlvbiA9ICh7XG4gIGNsYXNzTGlzdCxcbiAgaXNQaW5uZWQsXG4gIGNvbHVtbnMsXG4gIGhlYWRlckdyaWRQcm9wcyxcbiAgZml4ZWRXaWR0aCxcbiAgZml4ZWRIZWlnaHQgPSB1bmRlZmluZWQsXG4gIG9uU2Nyb2xsLFxuICBzY3JvbGxUb3AsXG4gIGRhdGFHcmlkUHJvcHMsXG4gIGNvbHVtbldpZHRoLFxuICBzZXRHcmlkUmVmID0gdW5kZWZpbmVkLFxuICBoZWFkZXJDZWxsUmVuZGVyLFxuICBkYXRhQ2VsbFJlbmRlcixcbiAgc2Nyb2xsTGVmdCA9IDBcbn06IFRhYmxlU2VjdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IGhlYWRlckhlaWdodCA9IGhlYWRlckdyaWRQcm9wcy5oZWlnaHQ7XG5cbiAgY29uc3QgaGVhZGVyU3R5bGUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBoZWlnaHQ6IGAke2hlYWRlckhlaWdodH1weGBcbiAgICB9KSxcbiAgICBbaGVhZGVySGVpZ2h0XVxuICApO1xuICBjb25zdCBjb250ZW50U3R5bGUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICB0b3A6IGAke2hlYWRlckhlaWdodH1weGBcbiAgICB9KSxcbiAgICBbaGVhZGVySGVpZ2h0XVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPEF1dG9TaXplcj5cbiAgICAgIHsoe3dpZHRoLCBoZWlnaHR9KSA9PiB7XG4gICAgICAgIGNvbnN0IGdyaWREaW1lbnNpb24gPSB7XG4gICAgICAgICAgY29sdW1uQ291bnQ6IGNvbHVtbnMubGVuZ3RoLFxuICAgICAgICAgIGNvbHVtbldpZHRoLFxuICAgICAgICAgIHdpZHRoOiBmaXhlZFdpZHRoIHx8IHdpZHRoXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGhlYWRlckdyaWRXaWR0aCA9IGZpeGVkV2lkdGggfHwgd2lkdGg7XG4gICAgICAgIGNvbnN0IGRhdGFHcmlkSGVpZ2h0ID0gZml4ZWRIZWlnaHQgfHwgaGVpZ2h0O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdzY3JvbGwtaW4tdWktdGhyZWFkJywgY2xhc3NMaXN0Py5oZWFkZXIpfVxuICAgICAgICAgICAgICBzdHlsZT17aGVhZGVyU3R5bGV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxHcmlkXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyPXtoZWFkZXJDZWxsUmVuZGVyfVxuICAgICAgICAgICAgICAgIHsuLi5oZWFkZXJHcmlkUHJvcHN9XG4gICAgICAgICAgICAgICAgey4uLmdyaWREaW1lbnNpb259XG4gICAgICAgICAgICAgICAgaGVpZ2h0PXtoZWFkZXJHcmlkUHJvcHMuaGVpZ2h0ICsgYnJvd3NlclNjcm9sbEJhcldpZHRofVxuICAgICAgICAgICAgICAgIHdpZHRoPXtoZWFkZXJHcmlkV2lkdGh9XG4gICAgICAgICAgICAgICAgc2Nyb2xsTGVmdD17c2Nyb2xsTGVmdH1cbiAgICAgICAgICAgICAgICBvblNjcm9sbD17b25TY3JvbGx9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdzY3JvbGwtaW4tdWktdGhyZWFkJywgY2xhc3NMaXN0Py5yb3dzKX1cbiAgICAgICAgICAgICAgc3R5bGU9e2NvbnRlbnRTdHlsZX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEdyaWRcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXI9e2RhdGFDZWxsUmVuZGVyfVxuICAgICAgICAgICAgICAgIHsuLi5kYXRhR3JpZFByb3BzfVxuICAgICAgICAgICAgICAgIHsuLi5ncmlkRGltZW5zaW9ufVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17aXNQaW5uZWQgPyAncGlubmVkLWdyaWQnIDogJ2JvZHktZ3JpZCd9XG4gICAgICAgICAgICAgICAgaGVpZ2h0PXtkYXRhR3JpZEhlaWdodCAtIGhlYWRlckdyaWRQcm9wcy5oZWlnaHR9XG4gICAgICAgICAgICAgICAgb25TY3JvbGw9e29uU2Nyb2xsfVxuICAgICAgICAgICAgICAgIHNjcm9sbExlZnQ9e3Njcm9sbExlZnR9XG4gICAgICAgICAgICAgICAgc2Nyb2xsVG9wPXtzY3JvbGxUb3B9XG4gICAgICAgICAgICAgICAgc2V0R3JpZFJlZj17c2V0R3JpZFJlZn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvPlxuICAgICAgICApO1xuICAgICAgfX1cbiAgICA8L0F1dG9TaXplcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlUHJvcHMge1xuICBkYXRhSWQ/OiBzdHJpbmc7XG4gIGhhc1N0YXRzPzogYm9vbGVhbjtcbiAgY2VsbFNpemVDYWNoZT86IENlbGxTaXplQ2FjaGU7XG4gIHBpbm5lZENvbHVtbnM/OiBzdHJpbmdbXTtcbiAgY29sdW1uczogKHN0cmluZyAmIHtnaG9zdD86IGJvb2xlYW59KVtdO1xuICBmaXhlZFdpZHRoPzogbnVtYmVyIHwgbnVsbDtcbiAgdGhlbWU/OiBhbnk7XG4gIGRhdGFDb250YWluZXI6IERhdGFDb250YWluZXJJbnRlcmZhY2UgfCBudWxsO1xuICBmaXhlZEhlaWdodD86IG51bWJlciB8IG51bGw7XG4gIGNvbE1ldGE6IENvbE1ldGE7XG4gIHNvcnRDb2x1bW46IFNvcnRDb2x1bW47XG4gIHNvcnRUYWJsZUNvbHVtbjogKGNvbHVtbjogc3RyaW5nLCBtb2RlPzogc3RyaW5nKSA9PiB2b2lkO1xuICBwaW5UYWJsZUNvbHVtbjogKGNvbHVtbjogc3RyaW5nKSA9PiB2b2lkO1xuICBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0PzogKGZvcm1hdHM6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9KSA9PiB2b2lkO1xuICBjb3B5VGFibGVDb2x1bW46IChjb2x1bW46IHN0cmluZykgPT4gdm9pZDtcbiAgc29ydE9yZGVyPzogbnVtYmVyW10gfCBudWxsO1xuICBzaG93U3RhdHM/OiBib29sZWFuO1xuICBoYXNDdXN0b21TY3JvbGxCYXJTdHlsZT86IGJvb2xlYW47XG4gIGdldFJvd0NlbGw/OiAocmVuZGVyRGF0YUNlbGxQcm9wczogR2V0Um93Q2VsbFByb3BzLCBmb3JtYXR0ZXI6IGFueSkgPT4gc3RyaW5nIHwgbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgRGF0YVRhYmxlU3RhdGUge1xuICBjZWxsU2l6ZUNhY2hlPzogQ2VsbFNpemVDYWNoZTtcbiAgbW9yZU9wdGlvbnNDb2x1bW4/O1xuICBnaG9zdD87XG4gIHNob3dTdGF0cz86IGJvb2xlYW47XG59XG5cbkRhdGFUYWJsZUZhY3RvcnkuZGVwcyA9IFtIZWFkZXJDZWxsRmFjdG9yeV07XG5mdW5jdGlvbiBEYXRhVGFibGVGYWN0b3J5KFxuICBIZWFkZXJDZWxsOiBSZXR1cm5UeXBlPHR5cGVvZiBIZWFkZXJDZWxsRmFjdG9yeT5cbik6IFJlYWN0LkNvbXBvbmVudFR5cGU8RGF0YVRhYmxlUHJvcHM+IHtcbiAgY2xhc3MgRGF0YVRhYmxlIGV4dGVuZHMgQ29tcG9uZW50PERhdGFUYWJsZVByb3BzLCBEYXRhVGFibGVTdGF0ZT4ge1xuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICBkYXRhQ29udGFpbmVyOiBudWxsLFxuICAgICAgcGlubmVkQ29sdW1uczogW10sXG4gICAgICBjb2xNZXRhOiB7fSxcbiAgICAgIGNlbGxTaXplQ2FjaGU6IHt9LFxuICAgICAgc29ydENvbHVtbjoge30sXG4gICAgICBmaXhlZFdpZHRoOiBudWxsLFxuICAgICAgZml4ZWRIZWlnaHQ6IG51bGwsXG4gICAgICB0aGVtZToge30sXG4gICAgICBoYXNTdGF0czogZmFsc2UsXG4gICAgICBoYXNDdXN0b21TY3JvbGxCYXJTdHlsZTogdHJ1ZVxuICAgIH07XG5cbiAgICBwaW5uZWRHcmlkOiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgIHVucGlubmVkR3JpZDogSFRNTERpdkVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBoYXNNb3VudGVkID0gZmFsc2U7XG5cbiAgICBzdGF0ZTogRGF0YVRhYmxlU3RhdGUgPSB7XG4gICAgICBjZWxsU2l6ZUNhY2hlOiB7fSxcbiAgICAgIG1vcmVPcHRpb25zQ29sdW1uOiBudWxsLFxuICAgICAgc2hvd1N0YXRzOiB0cnVlXG4gICAgfTtcblxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgdGhpcy5oYXNNb3VudGVkID0gdHJ1ZTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnNjYWxlQ2VsbHNUb1dpZHRoKTtcbiAgICAgIHRoaXMuc2NhbGVDZWxsc1RvV2lkdGgoKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMucHJvcHMuY2VsbFNpemVDYWNoZSAhPT0gcHJldlByb3BzLmNlbGxTaXplQ2FjaGUgfHxcbiAgICAgICAgdGhpcy5wcm9wcy5waW5uZWRDb2x1bW5zICE9PSBwcmV2UHJvcHMucGlubmVkQ29sdW1uc1xuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2NhbGVDZWxsc1RvV2lkdGgoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMuaGFzTW91bnRlZCA9IGZhbHNlO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuc2NhbGVDZWxsc1RvV2lkdGgpO1xuICAgIH1cblxuICAgIHJvb3QgPSBjcmVhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XG4gICAgY29sdW1ucyA9IChwcm9wczogRGF0YVRhYmxlUHJvcHMpID0+IHByb3BzLmNvbHVtbnM7XG4gICAgcGlubmVkQ29sdW1ucyA9IChwcm9wczogRGF0YVRhYmxlUHJvcHMpID0+IHByb3BzLnBpbm5lZENvbHVtbnM7XG4gICAgdW5waW5uZWRDb2x1bW5zID0gY3JlYXRlU2VsZWN0b3IodGhpcy5jb2x1bW5zLCB0aGlzLnBpbm5lZENvbHVtbnMsIChjb2x1bW5zLCBwaW5uZWRDb2x1bW5zKSA9PlxuICAgICAgIUFycmF5LmlzQXJyYXkocGlubmVkQ29sdW1ucykgPyBjb2x1bW5zIDogY29sdW1ucy5maWx0ZXIoYyA9PiAhcGlubmVkQ29sdW1ucy5pbmNsdWRlcyhjKSlcbiAgICApO1xuXG4gICAgdG9nZ2xlTW9yZU9wdGlvbnMgPSBtb3JlT3B0aW9uc0NvbHVtbiA9PiB7XG4gICAgICBpZiAodGhpcy5oYXNNb3VudGVkKVxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICBtb3JlT3B0aW9uc0NvbHVtbjpcbiAgICAgICAgICAgIHRoaXMuc3RhdGUubW9yZU9wdGlvbnNDb2x1bW4gPT09IG1vcmVPcHRpb25zQ29sdW1uID8gbnVsbCA6IG1vcmVPcHRpb25zQ29sdW1uXG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgdG9nZ2xlU2hvd1N0YXRzID0gKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaGFzTW91bnRlZCkgdGhpcy5zZXRTdGF0ZSh7c2hvd1N0YXRzOiAhdGhpcy5zdGF0ZS5zaG93U3RhdHN9KTtcbiAgICB9O1xuICAgIGdldENlbGxTaXplQ2FjaGUgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7Y2VsbFNpemVDYWNoZTogcHJvcHNDYWNoZSA9IHt9LCBmaXhlZFdpZHRoLCBwaW5uZWRDb2x1bW5zID0gW119ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHVucGlubmVkQ29sdW1ucyA9IHRoaXMudW5waW5uZWRDb2x1bW5zKHRoaXMucHJvcHMpO1xuXG4gICAgICBjb25zdCB3aWR0aCA9IGZpeGVkV2lkdGggPyBmaXhlZFdpZHRoIDogdGhpcy5yb290LmN1cnJlbnQgPyB0aGlzLnJvb3QuY3VycmVudC5jbGllbnRXaWR0aCA6IDA7XG5cbiAgICAgIC8vIHBpbiBjb2x1bW4gYm9yZGVyIGlzIDIgcGl4ZWwgdnMgMSBwaXhlbFxuICAgICAgY29uc3QgYWRqdXN0V2lkdGggPSBwaW5uZWRDb2x1bW5zLmxlbmd0aCA/IHdpZHRoIC0gMSA6IHdpZHRoO1xuICAgICAgY29uc3Qge2NlbGxTaXplQ2FjaGUsIGdob3N0fSA9IGFkanVzdENlbGxzVG9Db250YWluZXIoXG4gICAgICAgIGFkanVzdFdpZHRoLFxuICAgICAgICBwcm9wc0NhY2hlLFxuICAgICAgICBwaW5uZWRDb2x1bW5zLFxuICAgICAgICB1bnBpbm5lZENvbHVtbnNcbiAgICAgICkgYXMge2NlbGxTaXplQ2FjaGU6IENlbGxTaXplQ2FjaGU7IGdob3N0OiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkfTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY2VsbFNpemVDYWNoZSxcbiAgICAgICAgZ2hvc3RcbiAgICAgIH07XG4gICAgfTtcblxuICAgIGRvU2NhbGVDZWxsc1RvV2lkdGggPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5oYXNNb3VudGVkKSB0aGlzLnNldFN0YXRlKHRoaXMuZ2V0Q2VsbFNpemVDYWNoZSgpKTtcbiAgICB9O1xuXG4gICAgc2NhbGVDZWxsc1RvV2lkdGggPSBkZWJvdW5jZSh0aGlzLmRvU2NhbGVDZWxsc1RvV2lkdGgsIDMwMCk7XG5cbiAgICByZW5kZXJEYXRhQ2VsbCA9IChjb2x1bW5zLCBpc1Bpbm5lZCwgcHJvcHM6IERhdGFUYWJsZVByb3BzKSA9PiB7XG4gICAgICBjb25zdCBnZXRSb3dDZWxsID0gdGhpcy5wcm9wcy5nZXRSb3dDZWxsID8/IGRlZmF1bHRHZXRSb3dDZWxsO1xuICAgICAgY29uc3QgRGF0YUNlbGxSZW5kZXJlciA9IGNlbGxJbmZvID0+IHtcbiAgICAgICAgY29uc3Qge2NvbHVtbkluZGV4LCBrZXksIHN0eWxlLCByb3dJbmRleH0gPSBjZWxsSW5mbztcbiAgICAgICAgY29uc3Qge2RhdGFDb250YWluZXIsIGNvbE1ldGF9ID0gcHJvcHM7XG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IGNvbHVtbnNbY29sdW1uSW5kZXhdO1xuICAgICAgICBjb25zdCBpc0dob3N0ID0gY29sdW1uLmdob3N0O1xuXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlciA9IGlzR2hvc3QgPyBudWxsIDogZ2V0Q29sdW1uRm9ybWF0dGVyKGNvbE1ldGFbY29sdW1uXSk7XG4gICAgICAgIGNvbnN0IHJvd0NlbGwgPSBpc0dob3N0ID8gJycgOiBnZXRSb3dDZWxsKHsuLi5wcm9wcywgY29sdW1uLCByb3dJbmRleH0sIGZvcm1hdHRlcik7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBpc0dob3N0ID8gbnVsbCA6IGNvbE1ldGFbY29sdW1uXS50eXBlO1xuXG4gICAgICAgIGNvbnN0IGxhc3RSb3dJbmRleCA9IGRhdGFDb250YWluZXIgPyBkYXRhQ29udGFpbmVyLm51bVJvd3MoKSAtIDEgOiAwO1xuXG4gICAgICAgIGNvbnN0IGVuZENlbGwgPSBjb2x1bW5JbmRleCA9PT0gY29sdW1ucy5sZW5ndGggLSAxO1xuICAgICAgICBjb25zdCBmaXJzdENlbGwgPSBjb2x1bW5JbmRleCA9PT0gMDtcbiAgICAgICAgY29uc3QgYm90dG9tQ2VsbCA9IHJvd0luZGV4ID09PSBsYXN0Um93SW5kZXg7XG4gICAgICAgIGNvbnN0IGFsaWduUmlnaHQgPSBmaWVsZFRvQWxpZ25SaWdodFtOdW1iZXIodHlwZSldO1xuXG4gICAgICAgIGNvbnN0IGNlbGwgPSAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdjZWxsJywge1xuICAgICAgICAgICAgICBbcm93SW5kZXggJSAyID09PSAwID8gJ2V2ZW4tcm93JyA6ICdvZGQtcm93J106IHRydWUsXG4gICAgICAgICAgICAgIFtgcm93LSR7cm93SW5kZXh9YF06IHRydWUsXG4gICAgICAgICAgICAgICdwaW5uZWQtY2VsbCc6IGlzUGlubmVkLFxuICAgICAgICAgICAgICAnZmlyc3QtY2VsbCc6IGZpcnN0Q2VsbCxcbiAgICAgICAgICAgICAgJ2VuZC1jZWxsJzogZW5kQ2VsbCxcbiAgICAgICAgICAgICAgJ2JvdHRvbS1jZWxsJzogYm90dG9tQ2VsbCxcbiAgICAgICAgICAgICAgJ2FsaWduLXJpZ2h0JzogYWxpZ25SaWdodFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICBrZXk9e2tleX1cbiAgICAgICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgICAgIHRpdGxlPXtpc0dob3N0ID8gdW5kZWZpbmVkIDogcm93Q2VsbH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7YCR7cm93Q2VsbH0ke2VuZENlbGwgPyAnXFxuJyA6ICdcXHQnfWB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGNlbGw7XG4gICAgICB9O1xuICAgICAgcmV0dXJuIERhdGFDZWxsUmVuZGVyZXI7XG4gICAgfTtcblxuICAgIHJlbmRlckhlYWRlckNlbGwoY29sdW1ucywgaXNQaW5uZWQsIHByb3BzLCB0b2dnbGVNb3JlT3B0aW9ucywgbW9yZU9wdGlvbnNDb2x1bW4pIHtcbiAgICAgIGNvbnN0IEhlYWRlckNlbGxSZW5kZXJlciA9IGNlbGxJbmZvID0+IChcbiAgICAgICAgPEhlYWRlckNlbGxcbiAgICAgICAgICBjZWxsSW5mbz17Y2VsbEluZm99XG4gICAgICAgICAga2V5PXtjZWxsSW5mby5jb2x1bW5JbmRleH1cbiAgICAgICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgICAgIGlzUGlubmVkPXtpc1Bpbm5lZH1cbiAgICAgICAgICBzaG93U3RhdHM9e3RoaXMuc3RhdGUuc2hvd1N0YXRzfVxuICAgICAgICAgIHByb3BzPXtwcm9wc31cbiAgICAgICAgICB0b2dnbGVNb3JlT3B0aW9ucz17dG9nZ2xlTW9yZU9wdGlvbnN9XG4gICAgICAgICAgbW9yZU9wdGlvbnNDb2x1bW49e21vcmVPcHRpb25zQ29sdW1ufVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICAgIHJldHVybiBIZWFkZXJDZWxsUmVuZGVyZXI7XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgZGF0YUNvbnRhaW5lcixcbiAgICAgICAgcGlubmVkQ29sdW1ucyA9IFtdLFxuICAgICAgICB0aGVtZSA9IHt9LFxuICAgICAgICBmaXhlZFdpZHRoLFxuICAgICAgICBmaXhlZEhlaWdodCA9IDAsXG4gICAgICAgIGhhc1N0YXRzLFxuICAgICAgICBoYXNDdXN0b21TY3JvbGxCYXJTdHlsZVxuICAgICAgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCB1bnBpbm5lZENvbHVtbnMgPSB0aGlzLnVucGlubmVkQ29sdW1ucyh0aGlzLnByb3BzKTtcblxuICAgICAgY29uc3Qge2NlbGxTaXplQ2FjaGUgPSB7fSwgbW9yZU9wdGlvbnNDb2x1bW4sIGdob3N0LCBzaG93U3RhdHN9ID0gdGhpcy5zdGF0ZTtcbiAgICAgIGNvbnN0IHVucGlubmVkQ29sdW1uc0dob3N0ID0gZ2hvc3RcbiAgICAgICAgPyBbLi4udW5waW5uZWRDb2x1bW5zLCB7Z2hvc3Q6IHRydWV9IGFzIHN0cmluZyAmIHtnaG9zdDogYm9vbGVhbn1dXG4gICAgICAgIDogdW5waW5uZWRDb2x1bW5zO1xuICAgICAgY29uc3QgcGlubmVkQ29sdW1uc1dpZHRoID0gcGlubmVkQ29sdW1ucy5yZWR1Y2UoXG4gICAgICAgIChhY2MsIHZhbCkgPT4gYWNjICsgKGdldChjZWxsU2l6ZUNhY2hlLCB2YWwsIDApIGFzIG51bWJlciksXG4gICAgICAgIDBcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGhhc1Bpbm5lZENvbHVtbnMgPSBCb29sZWFuKHBpbm5lZENvbHVtbnMubGVuZ3RoKTtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgaGVhZGVyUm93SGVpZ2h0ID0gZGVmYXVsdEhlYWRlclJvd0hlaWdodCxcbiAgICAgICAgaGVhZGVyU3RhdHNDb250cm9sSGVpZ2h0ID0gZGVmYXVsdEhlYWRlclN0YXRzQ29udHJvbEhlaWdodCxcbiAgICAgICAgaGVhZGVyUm93V1N0YXRzSGVpZ2h0ID0gZGVmYXVsdEhlYWRlclJvd0hlaWdodCxcbiAgICAgICAgcm93SGVpZ2h0ID0gZGVmYXVsdFJvd0hlaWdodFxuICAgICAgfSA9IHRoZW1lO1xuXG4gICAgICBjb25zdCBoZWFkZXJHcmlkUHJvcHMgPSB7XG4gICAgICAgIGNlbGxTaXplQ2FjaGUsXG4gICAgICAgIGNsYXNzTmFtZTogJ2hlYWRlci1ncmlkJyxcbiAgICAgICAgaGVpZ2h0OiAhaGFzU3RhdHNcbiAgICAgICAgICA/IGhlYWRlclJvd0hlaWdodFxuICAgICAgICAgIDogc2hvd1N0YXRzXG4gICAgICAgICAgPyBoZWFkZXJSb3dXU3RhdHNIZWlnaHRcbiAgICAgICAgICA6IGhlYWRlclJvd0hlaWdodCArIGhlYWRlclN0YXRzQ29udHJvbEhlaWdodCxcbiAgICAgICAgcm93Q291bnQ6IDEsXG4gICAgICAgIHJvd0hlaWdodDogIWhhc1N0YXRzXG4gICAgICAgICAgPyBoZWFkZXJSb3dIZWlnaHRcbiAgICAgICAgICA6IHNob3dTdGF0c1xuICAgICAgICAgID8gaGVhZGVyUm93V1N0YXRzSGVpZ2h0XG4gICAgICAgICAgOiBoZWFkZXJSb3dIZWlnaHQgKyBoZWFkZXJTdGF0c0NvbnRyb2xIZWlnaHRcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGRhdGFHcmlkUHJvcHMgPSB7XG4gICAgICAgIGNlbGxTaXplQ2FjaGUsXG4gICAgICAgIG92ZXJzY2FuQ29sdW1uQ291bnQsXG4gICAgICAgIG92ZXJzY2FuUm93Q291bnQsXG4gICAgICAgIHJvd0NvdW50OiBkYXRhQ29udGFpbmVyID8gZGF0YUNvbnRhaW5lci5udW1Sb3dzKCkgOiAwLFxuICAgICAgICByb3dIZWlnaHRcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDb250YWluZXJcbiAgICAgICAgICBjbGFzc05hbWU9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiXG4gICAgICAgICAgcmVmPXt0aGlzLnJvb3R9XG4gICAgICAgICAgaGFzQ3VzdG9tU2Nyb2xsQmFyU3R5bGU9e2hhc0N1c3RvbVNjcm9sbEJhclN0eWxlfVxuICAgICAgICA+XG4gICAgICAgICAge09iamVjdC5rZXlzKGNlbGxTaXplQ2FjaGUpLmxlbmd0aCA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxTY3JvbGxTeW5jPlxuICAgICAgICAgICAgICAgIHsoe29uU2Nyb2xsLCBzY3JvbGxMZWZ0LCBzY3JvbGxUb3B9KSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlc3VsdHMtdGFibGUtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtoYXNQaW5uZWRDb2x1bW5zICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PVwicGlubmVkLWNvbHVtbnNcIiBjbGFzc05hbWU9XCJwaW5uZWQtY29sdW1ucyBncmlkLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8VGFibGVTZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NMaXN0PXtwaW5uZWRDbGFzc0xpc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNQaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zPXtwaW5uZWRDb2x1bW5zfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlckdyaWRQcm9wcz17aGVhZGVyR3JpZFByb3BzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpeGVkV2lkdGg9e3Bpbm5lZENvbHVtbnNXaWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNjcm9sbD17YXJncyA9PiBvblNjcm9sbCh7Li4uYXJncywgc2Nyb2xsTGVmdH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFRvcD17c2Nyb2xsVG9wfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbExlZnQ9e3Njcm9sbExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUdyaWRQcm9wcz17ZGF0YUdyaWRQcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRHcmlkUmVmPXtwaW5uZWRHcmlkID0+ICh0aGlzLnBpbm5lZEdyaWQgPSBwaW5uZWRHcmlkKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5XaWR0aD17Y29sdW1uV2lkdGhGdW5jdGlvbihwaW5uZWRDb2x1bW5zLCBjZWxsU2l6ZUNhY2hlKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJDZWxsUmVuZGVyPXt0aGlzLnJlbmRlckhlYWRlckNlbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaW5uZWRDb2x1bW5zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZU1vcmVPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9yZU9wdGlvbnNDb2x1bW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFDZWxsUmVuZGVyPXt0aGlzLnJlbmRlckRhdGFDZWxsKHBpbm5lZENvbHVtbnMsIHRydWUsIHRoaXMucHJvcHMpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9XCJ1bnBpbm5lZC1jb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbkxlZnQ6IGAke2hhc1Bpbm5lZENvbHVtbnMgPyBgJHtwaW5uZWRDb2x1bW5zV2lkdGh9cHhgIDogJzAnfWBcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ1bnBpbm5lZC1jb2x1bW5zIGdyaWQtY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8VGFibGVTZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTGlzdD17dW5waW5uZWRDbGFzc0xpc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlzUGlubmVkPXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucz17dW5waW5uZWRDb2x1bW5zR2hvc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlckdyaWRQcm9wcz17aGVhZGVyR3JpZFByb3BzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaXhlZFdpZHRoPXtmaXhlZFdpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaXhlZEhlaWdodD17Zml4ZWRIZWlnaHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uU2Nyb2xsPXtvblNjcm9sbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9wPXtzY3JvbGxUb3B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbExlZnQ9e3Njcm9sbExlZnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFHcmlkUHJvcHM9e2RhdGFHcmlkUHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNldEdyaWRSZWY9e3VucGlubmVkR3JpZCA9PiAodGhpcy51bnBpbm5lZEdyaWQgPSB1bnBpbm5lZEdyaWQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5XaWR0aD17Y29sdW1uV2lkdGhGdW5jdGlvbihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBpbm5lZENvbHVtbnNHaG9zdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZWxsU2l6ZUNhY2hlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdob3N0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlckNlbGxSZW5kZXI9e3RoaXMucmVuZGVySGVhZGVyQ2VsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBpbm5lZENvbHVtbnNHaG9zdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlTW9yZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9yZU9wdGlvbnNDb2x1bW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUNlbGxSZW5kZXI9e3RoaXMucmVuZGVyRGF0YUNlbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5waW5uZWRDb2x1bW5zR2hvc3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wc1xuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIDwvU2Nyb2xsU3luYz5cbiAgICAgICAgICAgICAge2hhc1N0YXRzID8gKFxuICAgICAgICAgICAgICAgIDxTdGF0c0NvbnRyb2xcbiAgICAgICAgICAgICAgICAgIHRvcD17aGVhZGVyUm93SGVpZ2h0fVxuICAgICAgICAgICAgICAgICAgc2hvd1N0YXRzPXtzaG93U3RhdHN9XG4gICAgICAgICAgICAgICAgICB0b2dnbGVTaG93U3RhdHM9e3RoaXMudG9nZ2xlU2hvd1N0YXRzfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gd2l0aFRoZW1lKERhdGFUYWJsZSBhcyBSZWFjdC5Db21wb25lbnRUeXBlPERhdGFUYWJsZVByb3BzPik7XG59XG5cbmV4cG9ydCBkZWZhdWx0IERhdGFUYWJsZUZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGlCQUFBLEdBQUFILHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxZQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxTQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxPQUFBLEdBQUFGLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBTyxRQUFBLEdBQUFILHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBUSxNQUFBLEdBQUFSLE9BQUE7QUFJQSxJQUFBUyxLQUFBLEdBQUFMLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBVSxXQUFBLEdBQUFOLHNCQUFBLENBQUFKLE9BQUE7QUFHQSxJQUFBVyxNQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxTQUFB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QVcsRUFBRUEsV0FBWTtZQUN6QkMsUUFBUSxFQUFFQSxTQUFTO1lBQ25CQyxTQUFTLEVBQUVBLFNBQVU7WUFDckJRLFVBQVUsRUFBRUEsVUFBVztZQUN2QlAsYUFBYSxFQUFFQSxhQUFjO1lBQzdCRyxVQUFVLEVBQUUsU0FBWkEsVUFBVUEsQ0FBRXlILFlBQVk7Y0FBQSxPQUFLN0IsTUFBSSxDQUFDNkIsWUFBWSxHQUFHQSxZQUFZO1lBQUEsQ0FBRTtZQUMvRDNILFdBQVcsRUFBRTlDLG1CQUFtQixDQUM5Qm9KLG9CQUFvQixFQUNwQmxKLGFBQWEsRUFDYkMsS0FDRixDQUFFO1lBQ0Y4QyxnQkFBZ0IsRUFBRTJGLE1BQUksQ0FBQ0wsZ0JBQWdCLENBQ3JDYSxvQkFBb0IsRUFDcEIsS0FBSyxFQUNMUixNQUFJLENBQUN6SixLQUFLLEVBQ1Z5SixNQUFJLENBQUNKLGlCQUFpQixFQUN0QnJELGlCQUNGLENBQUU7WUFDRmpDLGNBQWMsRUFBRTBGLE1BQUksQ0FBQzJCLGNBQWMsQ0FDakNuQixvQkFBb0IsRUFDcEIsS0FBSyxFQUNMUixNQUFJLENBQUN6SixLQUNQO1VBQUUsQ0FDSCxDQUNFLENBQ0YsQ0FBQztRQUVWLENBQ1UsQ0FBQyxFQUNaOEosUUFBUSxnQkFDUGhQLE1BQUEsWUFBQThILGFBQUEsQ0FBQ0gsWUFBWTtVQUNYTCxHQUFHLEVBQUVxSSxlQUFnQjtVQUNyQmpJLFNBQVMsRUFBRUEsU0FBVTtVQUNyQkcsZUFBZSxFQUFFLElBQUksQ0FBQ0E7UUFBZ0IsQ0FDdkMsQ0FBQyxHQUNBLElBQ0osQ0FBQyxHQUNELElBQ0ssQ0FBQztNQUVoQjtJQUFDO0VBQUEsRUFqU3FCNEksZ0JBQVM7RUFBQSxJQUFBdk4sZ0JBQUEsYUFBM0J3SCxTQUFTLGtCQUNTO0lBQ3BCbEUsYUFBYSxFQUFFLElBQUk7SUFDbkI0RSxhQUFhLEVBQUUsRUFBRTtJQUNqQjFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDWFQsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNqQnlLLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDZG5JLFVBQVUsRUFBRSxJQUFJO0lBQ2hCRSxXQUFXLEVBQUUsSUFBSTtJQUNqQnRELEtBQUssRUFBRSxDQUFDLENBQUM7SUFDVDZKLFFBQVEsRUFBRSxLQUFLO0lBQ2YzSix1QkFBdUIsRUFBRTtFQUMzQixDQUFDO0VBd1JILE9BQU8sSUFBQXNMLDJCQUFTLEVBQUNqRyxTQUFnRCxDQUFDO0FBQ3BFO0FBQUMsSUFBQWtHLFFBQUEsR0FBQTlMLE9BQUEsY0FFY3dGLGdCQUFnQiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -6,7 +6,7 @@ export declare type FormatterDropdownProps = {
|
|
|
6
6
|
top: number;
|
|
7
7
|
isOpened: boolean;
|
|
8
8
|
displayFormat?: string;
|
|
9
|
-
setDisplayFormat
|
|
9
|
+
setDisplayFormat?: (displayFormat: TooltipFormat) => void;
|
|
10
10
|
onClose: () => void;
|
|
11
11
|
formatLabels: TooltipFormat[];
|
|
12
12
|
};
|
|
@@ -16,10 +16,10 @@ export interface OptionDropdownProps {
|
|
|
16
16
|
column: string;
|
|
17
17
|
colMeta: ColMeta;
|
|
18
18
|
toggleMoreOptions: (column: string) => void;
|
|
19
|
-
sortTableColumn
|
|
19
|
+
sortTableColumn?: (sort: string) => void;
|
|
20
20
|
pinTableColumn: () => void;
|
|
21
21
|
copyTableColumn: () => void;
|
|
22
|
-
setDisplayFormat
|
|
22
|
+
setDisplayFormat?: (displayFormat: any) => void;
|
|
23
23
|
sortMode?: string;
|
|
24
24
|
isSorted?: string;
|
|
25
25
|
isPinned?: boolean;
|
|
@@ -45,7 +45,7 @@ var FormatterDropdown = exports.FormatterDropdown = function FormatterDropdown(p
|
|
|
45
45
|
return label.format === displayFormat;
|
|
46
46
|
});
|
|
47
47
|
var onSelectDisplayFormat = (0, _react.useCallback)(function (result) {
|
|
48
|
-
setDisplayFormat(result);
|
|
48
|
+
setDisplayFormat === null || setDisplayFormat === void 0 || setDisplayFormat(result);
|
|
49
49
|
onClose();
|
|
50
50
|
}, [setDisplayFormat, onClose]);
|
|
51
51
|
return /*#__PURE__*/_react["default"].createElement(_portaled["default"], {
|
|
@@ -83,13 +83,13 @@ var OptionDropdown = function OptionDropdown(props) {
|
|
|
83
83
|
var value = _ref2.value;
|
|
84
84
|
switch (value) {
|
|
85
85
|
case _constants.TABLE_OPTION.SORT_ASC:
|
|
86
|
-
sortTableColumn(_constants.SORT_ORDER.ASCENDING);
|
|
86
|
+
sortTableColumn === null || sortTableColumn === void 0 || sortTableColumn(_constants.SORT_ORDER.ASCENDING);
|
|
87
87
|
break;
|
|
88
88
|
case _constants.TABLE_OPTION.SORT_DES:
|
|
89
|
-
sortTableColumn(_constants.SORT_ORDER.DESCENDING);
|
|
89
|
+
sortTableColumn === null || sortTableColumn === void 0 || sortTableColumn(_constants.SORT_ORDER.DESCENDING);
|
|
90
90
|
break;
|
|
91
91
|
case _constants.TABLE_OPTION.UNSORT:
|
|
92
|
-
sortTableColumn(_constants.SORT_ORDER.UNSORT);
|
|
92
|
+
sortTableColumn === null || sortTableColumn === void 0 || sortTableColumn(_constants.SORT_ORDER.UNSORT);
|
|
93
93
|
break;
|
|
94
94
|
case _constants.TABLE_OPTION.PIN:
|
|
95
95
|
pinTableColumn();
|
|
@@ -157,4 +157,4 @@ var OptionDropdown = function OptionDropdown(props) {
|
|
|
157
157
|
})));
|
|
158
158
|
};
|
|
159
159
|
var _default = exports["default"] = OptionDropdown;
|
|
160
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcG9ydGFsZWQiLCJfZHJvcGRvd25MaXN0IiwiX2NvbnN0YW50cyIsIl91dGlscyIsIl9pY29ucyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJMaXN0SXRlbSIsIl9yZWYiLCJ2YWx1ZSIsImNyZWF0ZUVsZW1lbnQiLCJpY29uIiwiaGVpZ2h0IiwiZGlzcGxheSIsIlN0eWxlZE9wdGlvbnNEcm9wZG93biIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiU3R5bGVkUG9wb3ZlciIsIkZvcm1hdHRlckRyb3Bkb3duIiwiZXhwb3J0cyIsInByb3BzIiwibGVmdCIsInRvcCIsImlzT3BlbmVkIiwiX3Byb3BzJGRpc3BsYXlGb3JtYXQiLCJkaXNwbGF5Rm9ybWF0Iiwic2V0RGlzcGxheUZvcm1hdCIsIm9uQ2xvc2UiLCJmb3JtYXRMYWJlbHMiLCJzZWxlY3Rpb25JbmRleCIsImZpbmRJbmRleCIsImxhYmVsIiwiZm9ybWF0Iiwib25TZWxlY3REaXNwbGF5Rm9ybWF0IiwidXNlQ2FsbGJhY2siLCJyZXN1bHQiLCJjbGFzc05hbWUiLCJvcHRpb25zIiwiZGlzcGxheU9wdGlvbiIsIm9wdGlvbiIsIm9uT3B0aW9uU2VsZWN0ZWQiLCJsaWdodCIsIk9wdGlvbkRyb3Bkb3duIiwiX2NvbE1ldGEkY29sdW1uIiwiY29sdW1uIiwiY29sTWV0YSIsInRvZ2dsZU1vcmVPcHRpb25zIiwic29ydFRhYmxlQ29sdW1uIiwicGluVGFibGVDb2x1bW4iLCJjb3B5VGFibGVDb2x1bW4iLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzaG93Rm9ybWF0dGVyIiwic2V0U2hvd0Zvcm1hdHRlciIsIl9yZWYyIiwiVEFCTEVfT1BUSU9OIiwiU09SVF9BU0MiLCJTT1JUX09SREVSIiwiQVNDRU5ESU5HIiwiU09SVF9ERVMiLCJERVNDRU5ESU5HIiwiVU5TT1JUIiwiUElOIiwiVU5QSU4iLCJDT1BZIiwiRk9STUFUX0NPTFVNTiIsIlRBQkxFX09QVElPTl9MSVNUX0lDT05TIiwiUGluIiwiQXJyb3dEb3duIiwiQXJyb3dVcCIsIkNsaXBib2FyZCIsIkNhbmNlbCIsIkhhc2giLCJnZXRGaWVsZEZvcm1hdExhYmVscyIsInR5cGUiLCJUQUJMRV9PUFRJT05fTElTVCIsIm9wIiwidmFsaWRUb0Zvcm1hdCIsImNvbmRpdGlvbiIsIm1hcCIsInJpZ2h0IiwiZCIsImN1c3RvbUxpc3RJdGVtQ29tcG9uZW50IiwiQm9vbGVhbiIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1vbi9kYXRhLXRhYmxlL29wdGlvbi1kcm9wZG93bi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBQb3J0YWxlZCBmcm9tICcuLi9wb3J0YWxlZCc7XG5pbXBvcnQgRHJvcGRvd25MaXN0IGZyb20gJy4uL2l0ZW0tc2VsZWN0b3IvZHJvcGRvd24tbGlzdCc7XG5pbXBvcnQge1xuICBTT1JUX09SREVSLFxuICBUQUJMRV9PUFRJT04sXG4gIFRBQkxFX09QVElPTl9MSVNULFxuICBUb29sdGlwRm9ybWF0LFxuICBUYWJsZU9wdGlvblxufSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge2dldEZpZWxkRm9ybWF0TGFiZWxzfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7Q29sTWV0YX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0Fycm93RG93biwgQXJyb3dVcCwgQ2xpcGJvYXJkLCBQaW4sIENhbmNlbCwgSGFzaH0gZnJvbSAnLi4vaWNvbnMnO1xuXG5jb25zdCBMaXN0SXRlbSA9ICh7dmFsdWV9KSA9PiAoXG4gIDxkaXY+XG4gICAgPHZhbHVlLmljb24gaGVpZ2h0PVwiMTNweFwiIC8+XG4gICAge3ZhbHVlLmRpc3BsYXl9XG4gIDwvZGl2PlxuKTtcblxuLy8gbWFrZSBoYXNoIGljb24gc21hbGxlclxuY29uc3QgU3R5bGVkT3B0aW9uc0Ryb3Bkb3duID0gc3R5bGVkLmRpdmBcbiAgLmxpc3Qtc2VsZWN0b3Ige1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICB9XG5cbiAgLmxpc3RfX2l0ZW0gPiBkaXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcblxuICAgIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG5cbiAgICAuZGF0YS1leC1pY29ucy1oYXNoIHtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgc3Ryb2tlLXdpZHRoOiAxcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRQb3BvdmVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDE4NHB4O1xuICBoZWlnaHQ6IDE2MHB4O1xuICB6LWluZGV4OiAxMDE7XG4gIC5saXN0LXNlbGVjdG9yIHtcbiAgICBtYXgtaGVpZ2h0OiAxNjBweDtcbiAgfVxuICAuaG92ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcXFxcMjcxMyc7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxuYDtcblxuZXhwb3J0IHR5cGUgRm9ybWF0dGVyRHJvcGRvd25Qcm9wcyA9IHtcbiAgbGVmdDogbnVtYmVyO1xuICB0b3A6IG51bWJlcjtcbiAgaXNPcGVuZWQ6IGJvb2xlYW47XG4gIGRpc3BsYXlGb3JtYXQ/OiBzdHJpbmc7XG4gIHNldERpc3BsYXlGb3JtYXQ6IChkaXNwbGF5Rm9ybWF0OiBUb29sdGlwRm9ybWF0KSA9PiB2b2lkO1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICBmb3JtYXRMYWJlbHM6IFRvb2x0aXBGb3JtYXRbXTtcbn07XG5cbmV4cG9ydCBjb25zdCBGb3JtYXR0ZXJEcm9wZG93bjogUmVhY3QuRkM8Rm9ybWF0dGVyRHJvcGRvd25Qcm9wcz4gPSAoXG4gIHByb3BzOiBGb3JtYXR0ZXJEcm9wZG93blByb3BzXG4pID0+IHtcbiAgY29uc3Qge1xuICAgIGxlZnQsXG4gICAgdG9wLFxuICAgIGlzT3BlbmVkLFxuICAgIGRpc3BsYXlGb3JtYXQgPSAnTm9uZScsXG4gICAgc2V0RGlzcGxheUZvcm1hdCxcbiAgICBvbkNsb3NlLFxuICAgIGZvcm1hdExhYmVsc1xuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHNlbGVjdGlvbkluZGV4ID0gZm9ybWF0TGFiZWxzLmZpbmRJbmRleChsYWJlbCA9PiBsYWJlbC5mb3JtYXQgPT09IGRpc3BsYXlGb3JtYXQpO1xuXG4gIGNvbnN0IG9uU2VsZWN0RGlzcGxheUZvcm1hdCA9IHVzZUNhbGxiYWNrKFxuICAgIHJlc3VsdCA9PiB7XG4gICAgICBzZXREaXNwbGF5Rm9ybWF0KHJlc3VsdCk7XG4gICAgICBvbkNsb3NlKCk7XG4gICAgfSxcbiAgICBbc2V0RGlzcGxheUZvcm1hdCwgb25DbG9zZV1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxQb3J0YWxlZCBsZWZ0PXtsZWZ0fSB0b3A9e3RvcH0gaXNPcGVuZWQ9e2lzT3BlbmVkfSBvbkNsb3NlPXtvbkNsb3NlfT5cbiAgICAgIDxTdHlsZWRQb3BvdmVyIGNsYXNzTmFtZT1cImZvcm1hdHRlci1wb3BvdmVyXCI+XG4gICAgICAgIDxEcm9wZG93bkxpc3RcbiAgICAgICAgICBvcHRpb25zPXtmb3JtYXRMYWJlbHN9XG4gICAgICAgICAgc2VsZWN0aW9uSW5kZXg9e3NlbGVjdGlvbkluZGV4fVxuICAgICAgICAgIGRpc3BsYXlPcHRpb249e29wdGlvbiA9PiAob3B0aW9uIGFzIFRvb2x0aXBGb3JtYXQpLmxhYmVsfVxuICAgICAgICAgIG9uT3B0aW9uU2VsZWN0ZWQ9e29uU2VsZWN0RGlzcGxheUZvcm1hdH1cbiAgICAgICAgICBsaWdodFxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRQb3BvdmVyPlxuICAgIDwvUG9ydGFsZWQ+XG4gICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbkRyb3Bkb3duUHJvcHMge1xuICBpc09wZW5lZD86IGJvb2xlYW47XG4gIGNvbHVtbjogc3RyaW5nO1xuICBjb2xNZXRhOiBDb2xNZXRhO1xuICB0b2dnbGVNb3JlT3B0aW9uczogKGNvbHVtbjogc3RyaW5nKSA9PiB2b2lkO1xuICBzb3J0VGFibGVDb2x1bW46IChzb3J0OiBzdHJpbmcpID0+IHZvaWQ7XG4gIHBpblRhYmxlQ29sdW1uOiAoKSA9PiB2b2lkO1xuICBjb3B5VGFibGVDb2x1bW46ICgpID0+IHZvaWQ7XG4gIHNldERpc3BsYXlGb3JtYXQ6IChkaXNwbGF5Rm9ybWF0OiBhbnkpID0+IHZvaWQ7XG4gIHNvcnRNb2RlPzogc3RyaW5nO1xuICBpc1NvcnRlZD86IHN0cmluZztcbiAgaXNQaW5uZWQ/OiBib29sZWFuO1xufVxuXG5jb25zdCBPcHRpb25Ecm9wZG93biA9IChwcm9wczogT3B0aW9uRHJvcGRvd25Qcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgaXNPcGVuZWQsXG4gICAgY29sdW1uLFxuICAgIGNvbE1ldGEsXG4gICAgdG9nZ2xlTW9yZU9wdGlvbnMsXG4gICAgc29ydFRhYmxlQ29sdW1uLFxuICAgIHBpblRhYmxlQ29sdW1uLFxuICAgIGNvcHlUYWJsZUNvbHVtbixcbiAgICBzZXREaXNwbGF5Rm9ybWF0XG4gIH0gPSBwcm9wcztcbiAgY29uc3QgW3Nob3dGb3JtYXR0ZXIsIHNldFNob3dGb3JtYXR0ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBvbk9wdGlvblNlbGVjdGVkOiAodjogVGFibGVPcHRpb24pID0+IHZvaWQgPSB1c2VDYWxsYmFjayhcbiAgICAoe3ZhbHVlfSkgPT4ge1xuICAgICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgICBjYXNlIFRBQkxFX09QVElPTi5TT1JUX0FTQzpcbiAgICAgICAgICBzb3J0VGFibGVDb2x1bW4oU09SVF9PUkRFUi5BU0NFTkRJTkcpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFRBQkxFX09QVElPTi5TT1JUX0RFUzpcbiAgICAgICAgICBzb3J0VGFibGVDb2x1bW4oU09SVF9PUkRFUi5ERVNDRU5ESU5HKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBUQUJMRV9PUFRJT04uVU5TT1JUOlxuICAgICAgICAgIHNvcnRUYWJsZUNvbHVtbihTT1JUX09SREVSLlVOU09SVCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVEFCTEVfT1BUSU9OLlBJTjpcbiAgICAgICAgICBwaW5UYWJsZUNvbHVtbigpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFRBQkxFX09QVElPTi5VTlBJTjpcbiAgICAgICAgICBwaW5UYWJsZUNvbHVtbigpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFRBQkxFX09QVElPTi5DT1BZOlxuICAgICAgICAgIGNvcHlUYWJsZUNvbHVtbigpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFRBQkxFX09QVElPTi5GT1JNQVRfQ09MVU1OOlxuICAgICAgICAgIHNldFNob3dGb3JtYXR0ZXIodHJ1ZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICB0b2dnbGVNb3JlT3B0aW9ucyhjb2x1bW4pO1xuICAgIH0sXG4gICAgW2NvbHVtbiwgc29ydFRhYmxlQ29sdW1uLCBwaW5UYWJsZUNvbHVtbiwgY29weVRhYmxlQ29sdW1uLCB0b2dnbGVNb3JlT3B0aW9uc11cbiAgKTtcblxuICBjb25zdCBUQUJMRV9PUFRJT05fTElTVF9JQ09OUyA9IHtcbiAgICBQaW4sXG4gICAgQXJyb3dEb3duLFxuICAgIEFycm93VXAsXG4gICAgQ2xpcGJvYXJkLFxuICAgIENhbmNlbCxcbiAgICBIYXNoXG4gIH07XG5cbiAgY29uc3QgZm9ybWF0TGFiZWxzID0gZ2V0RmllbGRGb3JtYXRMYWJlbHMoY29sTWV0YVtjb2x1bW5dLnR5cGUpO1xuICBjb25zdCBvcHRpb25zID0gVEFCTEVfT1BUSU9OX0xJU1QuZmlsdGVyKG9wID0+IHtcbiAgICAvLyBjYW50IHVzZSBjb25kaXRpb25zIGJlY2F1c2UgaXQgY3JlYXRlcyBhIGNpcmN1bGFyIGRlcGVuZGVuY3lcbiAgICAvLyBUT0RPOiBtb3ZlIGNvbmRpdGlvbiBjbGF1c2Ugb3V0IG9mIGRlZmF1bHQtc2V0dGluZ3MgVEFCTEVfT1BUSU9OX0xJU1RcbiAgICBjb25zdCB2YWxpZFRvRm9ybWF0ID0gb3AudmFsdWUgIT09IFRBQkxFX09QVElPTi5GT1JNQVRfQ09MVU1OIHx8IGZvcm1hdExhYmVscy5sZW5ndGg7XG4gICAgcmV0dXJuICghb3AuY29uZGl0aW9uIHx8IG9wLmNvbmRpdGlvbihwcm9wcykpICYmIHZhbGlkVG9Gb3JtYXQ7XG4gIH0pLm1hcChvcCA9PiAoe1xuICAgIC4uLm9wLFxuICAgIGljb246IFRBQkxFX09QVElPTl9MSVNUX0lDT05TW29wLmljb25dXG4gIH0pKTtcblxuICBjb25zdCBvbkNsb3NlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFNob3dGb3JtYXR0ZXIoZmFsc2UpO1xuICAgIHRvZ2dsZU1vcmVPcHRpb25zKGNvbHVtbik7XG4gIH0sIFtjb2x1bW4sIHRvZ2dsZU1vcmVPcHRpb25zXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8UG9ydGFsZWQgcmlnaHQ9ezEyMH0gdG9wPXsyMH0gaXNPcGVuZWQ9e2lzT3BlbmVkfSBvbkNsb3NlPXtvbkNsb3NlfT5cbiAgICAgIDxTdHlsZWRPcHRpb25zRHJvcGRvd24gY2xhc3NOYW1lPVwibW9yZS1vcHRpb25zXCI+XG4gICAgICAgIDxEcm9wZG93bkxpc3RcbiAgICAgICAgICBkaXNwbGF5T3B0aW9uPXtkID0+IChkIGFzIFRhYmxlT3B0aW9uKS5kaXNwbGF5fVxuICAgICAgICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgICAgICAgY3VzdG9tTGlzdEl0ZW1Db21wb25lbnQ9e0xpc3RJdGVtfVxuICAgICAgICAgIG9uT3B0aW9uU2VsZWN0ZWQ9e29uT3B0aW9uU2VsZWN0ZWR9XG4gICAgICAgICAgbGlnaHRcbiAgICAgICAgLz5cbiAgICAgICAgPEZvcm1hdHRlckRyb3Bkb3duXG4gICAgICAgICAgbGVmdD17MTIwfVxuICAgICAgICAgIHRvcD17LTEwfVxuICAgICAgICAgIGlzT3BlbmVkPXtCb29sZWFuKGlzT3BlbmVkICYmIHNob3dGb3JtYXR0ZXIpfVxuICAgICAgICAgIGZvcm1hdExhYmVscz17Zm9ybWF0TGFiZWxzfVxuICAgICAgICAgIGRpc3BsYXlGb3JtYXQ9e2NvbE1ldGFbY29sdW1uXT8uZGlzcGxheUZvcm1hdH1cbiAgICAgICAgICBzZXREaXNwbGF5Rm9ybWF0PXtzZXREaXNwbGF5Rm9ybWF0fVxuICAgICAgICAgIG9uQ2xvc2U9e29uQ2xvc2V9XG4gICAgICAgIC8+XG4gICAgICA8L1N0eWxlZE9wdGlvbnNEcm9wZG93bj5cbiAgICA8L1BvcnRhbGVkPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgT3B0aW9uRHJvcGRvd247XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLGFBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQU9BLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLE1BQUEsR0FBQVAsT0FBQTtBQUEwRSxJQUFBUSxlQUFBLEVBQUFDLGdCQUFBLEVBaEIxRTtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFaLHdCQUFBWSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLENBQUEsU0FBQUcsQ0FBQSxHQUFBUCxDQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBYyxDQUFBLFVBQUFHLENBQUEsS0FBQUEsQ0FBQSxDQUFBVixHQUFBLElBQUFVLENBQUEsQ0FBQUMsR0FBQSxJQUFBUCxNQUFBLENBQUFDLGNBQUEsQ0FBQUosQ0FBQSxFQUFBTSxDQUFBLEVBQUFHLENBQUEsSUFBQVQsQ0FBQSxDQUFBTSxDQUFBLElBQUFkLENBQUEsQ0FBQWMsQ0FBQSxZQUFBTixDQUFBLGNBQUFSLENBQUEsRUFBQUcsQ0FBQSxJQUFBQSxDQUFBLENBQUFlLEdBQUEsQ0FBQWxCLENBQUEsRUFBQVEsQ0FBQSxHQUFBQSxDQUFBO0FBQUEsU0FBQVcsUUFBQW5CLENBQUEsRUFBQUUsQ0FBQSxRQUFBQyxDQUFBLEdBQUFRLE1BQUEsQ0FBQVMsSUFBQSxDQUFBcEIsQ0FBQSxPQUFBVyxNQUFBLENBQUFVLHFCQUFBLFFBQUFDLENBQUEsR0FBQVgsTUFBQSxDQUFBVSxxQkFBQSxDQUFBckIsQ0FBQSxHQUFBRSxDQUFBLEtBQUFvQixDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBckIsQ0FBQSxXQUFBUyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQUUsQ0FBQSxFQUFBc0IsVUFBQSxPQUFBckIsQ0FBQSxDQUFBc0IsSUFBQSxDQUFBQyxLQUFBLENBQUF2QixDQUFBLEVBQUFtQixDQUFBLFlBQUFuQixDQUFBO0FBQUEsU0FBQXdCLGNBQUEzQixDQUFBLGFBQUFFLENBQUEsTUFBQUEsQ0FBQSxHQUFBMEIsU0FBQSxDQUFBQyxNQUFBLEVBQUEzQixDQUFBLFVBQUFDLENBQUEsV0FBQXlCLFNBQUEsQ0FBQTFCLENBQUEsSUFBQTBCLFNBQUEsQ0FBQTFCLENBQUEsUUFBQUEsQ0FBQSxPQUFBaUIsT0FBQSxDQUFBUixNQUFBLENBQUFSLENBQUEsT0FBQTJCLE9BQUEsV0FBQTVCLENBQUEsUUFBQTZCLGdCQUFBLGFBQUEvQixDQUFBLEVBQUFFLENBQUEsRUFBQUMsQ0FBQSxDQUFBRCxDQUFBLFNBQUFTLE1BQUEsQ0FBQXFCLHlCQUFBLEdBQUFyQixNQUFBLENBQUFzQixnQkFBQSxDQUFBakMsQ0FBQSxFQUFBVyxNQUFBLENBQUFxQix5QkFBQSxDQUFBN0IsQ0FBQSxLQUFBZ0IsT0FBQSxDQUFBUixNQUFBLENBQUFSLENBQUEsR0FBQTJCLE9BQUEsV0FBQTVCLENBQUEsSUFBQVMsTUFBQSxDQUFBQyxjQUFBLENBQUFaLENBQUEsRUFBQUUsQ0FBQSxFQUFBUyxNQUFBLENBQUFFLHdCQUFBLENBQUFWLENBQUEsRUFBQUQsQ0FBQSxpQkFBQUYsQ0FBQTtBQWlCQSxJQUFNa0MsUUFBUSxHQUFHLFNBQVhBLFFBQVFBLENBQUFDLElBQUE7RUFBQSxJQUFLQyxLQUFLLEdBQUFELElBQUEsQ0FBTEMsS0FBSztFQUFBLG9CQUN0QmpELE1BQUEsWUFBQWtELGFBQUEsMkJBQ0VsRCxNQUFBLFlBQUFrRCxhQUFBLENBQUNELEtBQUssQ0FBQ0UsSUFBSTtJQUFDQyxNQUFNLEVBQUM7RUFBTSxDQUFFLENBQUMsRUFDM0JILEtBQUssQ0FBQ0ksT0FDSixDQUFDO0FBQUEsQ0FDUDs7QUFFRDtBQUNBLElBQU1DLHFCQUFxQixHQUFHQyw0QkFBTSxDQUFDQyxHQUFHLENBQUE5QyxlQUFBLEtBQUFBLGVBQUEsT0FBQStDLHVCQUFBLHlkQTBCdkM7QUFFRCxJQUFNQyxhQUFhLEdBQUdILDRCQUFNLENBQUNDLEdBQUcsQ0FBQTdDLGdCQUFBLEtBQUFBLGdCQUFBLE9BQUE4Qyx1QkFBQSxzWEFXL0I7QUFZTSxJQUFNRSxpQkFBbUQsR0FBQUMsT0FBQSxDQUFBRCxpQkFBQSxHQUFHLFNBQXREQSxpQkFBbURBLENBQzlERSxLQUE2QixFQUMxQjtFQUNILElBQ0VDLElBQUksR0FPRkQsS0FBSyxDQVBQQyxJQUFJO0lBQ0pDLEdBQUcsR0FNREYsS0FBSyxDQU5QRSxHQUFHO0lBQ0hDLFFBQVEsR0FLTkgsS0FBSyxDQUxQRyxRQUFRO0lBQUFDLG9CQUFBLEdBS05KLEtBQUssQ0FKUEssYUFBYTtJQUFiQSxhQUFhLEdBQUFELG9CQUFBLGNBQUcsTUFBTSxHQUFBQSxvQkFBQTtJQUN0QkUsZ0JBQWdCLEdBR2ROLEtBQUssQ0FIUE0sZ0JBQWdCO0lBQ2hCQyxPQUFPLEdBRUxQLEtBQUssQ0FGUE8sT0FBTztJQUNQQyxZQUFZLEdBQ1ZSLEtBQUssQ0FEUFEsWUFBWTtFQUVkLElBQU1DLGNBQWMsR0FBR0QsWUFBWSxDQUFDRSxTQUFTLENBQUMsVUFBQUMsS0FBSztJQUFBLE9BQUlBLEtBQUssQ0FBQ0MsTUFBTSxLQUFLUCxhQUFhO0VBQUEsRUFBQztFQUV0RixJQUFNUSxxQkFBcUIsR0FBRyxJQUFBQyxrQkFBVyxFQUN2QyxVQUFBQyxNQUFNLEVBQUk7SUFDUlQsZ0JBQWdCLENBQUNTLE1BQU0sQ0FBQztJQUN4QlIsT0FBTyxDQUFDLENBQUM7RUFDWCxDQUFDLEVBQ0QsQ0FBQ0QsZ0JBQWdCLEVBQUVDLE9BQU8sQ0FDNUIsQ0FBQztFQUVELG9CQUNFcEUsTUFBQSxZQUFBa0QsYUFBQSxDQUFDN0MsU0FBQSxXQUFRO0lBQUN5RCxJQUFJLEVBQUVBLElBQUs7SUFBQ0MsR0FBRyxFQUFFQSxHQUFJO0lBQUNDLFFBQVEsRUFBRUEsUUFBUztJQUFDSSxPQUFPLEVBQUVBO0VBQVEsZ0JBQ25FcEUsTUFBQSxZQUFBa0QsYUFBQSxDQUFDUSxhQUFhO0lBQUNtQixTQUFTLEVBQUM7RUFBbUIsZ0JBQzFDN0UsTUFBQSxZQUFBa0QsYUFBQSxDQUFDNUMsYUFBQSxXQUFZO0lBQ1h3RSxPQUFPLEVBQUVULFlBQWE7SUFDdEJDLGNBQWMsRUFBRUEsY0FBZTtJQUMvQlMsYUFBYSxFQUFFLFNBQWZBLGFBQWFBLENBQUVDLE1BQU07TUFBQSxPQUFLQSxNQUFNLENBQW1CUixLQUFLO0lBQUEsQ0FBQztJQUN6RFMsZ0JBQWdCLEVBQUVQLHFCQUFzQjtJQUN4Q1EsS0FBSztFQUFBLENBQ04sQ0FDWSxDQUNQLENBQUM7QUFFZixDQUFDO0FBZ0JELElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBSXRCLEtBQTBCLEVBQUs7RUFBQSxJQUFBdUIsZUFBQTtFQUNyRCxJQUNFcEIsUUFBUSxHQVFOSCxLQUFLLENBUlBHLFFBQVE7SUFDUnFCLE1BQU0sR0FPSnhCLEtBQUssQ0FQUHdCLE1BQU07SUFDTkMsT0FBTyxHQU1MekIsS0FBSyxDQU5QeUIsT0FBTztJQUNQQyxpQkFBaUIsR0FLZjFCLEtBQUssQ0FMUDBCLGlCQUFpQjtJQUNqQkMsZUFBZSxHQUliM0IsS0FBSyxDQUpQMkIsZUFBZTtJQUNmQyxjQUFjLEdBR1o1QixLQUFLLENBSFA0QixjQUFjO0lBQ2RDLGVBQWUsR0FFYjdCLEtBQUssQ0FGUDZCLGVBQWU7SUFDZnZCLGdCQUFnQixHQUNkTixLQUFLLENBRFBNLGdCQUFnQjtFQUVsQixJQUFBd0IsU0FBQSxHQUEwQyxJQUFBQyxlQUFRLEVBQUMsS0FBSyxDQUFDO0lBQUFDLFVBQUEsT0FBQUMsZUFBQSxhQUFBSCxTQUFBO0lBQWxESSxhQUFhLEdBQUFGLFVBQUE7SUFBRUcsZ0JBQWdCLEdBQUFILFVBQUE7RUFDdEMsSUFBTVosZ0JBQTBDLEdBQUcsSUFBQU4sa0JBQVcsRUFDNUQsVUFBQXNCLEtBQUEsRUFBYTtJQUFBLElBQVhoRCxLQUFLLEdBQUFnRCxLQUFBLENBQUxoRCxLQUFLO0lBQ0wsUUFBUUEsS0FBSztNQUNYLEtBQUtpRCx1QkFBWSxDQUFDQyxRQUFRO1FBQ3hCWCxlQUFlLENBQUNZLHFCQUFVLENBQUNDLFNBQVMsQ0FBQztRQUNyQztNQUNGLEtBQUtILHVCQUFZLENBQUNJLFFBQVE7UUFDeEJkLGVBQWUsQ0FBQ1kscUJBQVUsQ0FBQ0csVUFBVSxDQUFDO1FBQ3RDO01BQ0YsS0FBS0wsdUJBQVksQ0FBQ00sTUFBTTtRQUN0QmhCLGVBQWUsQ0FBQ1kscUJBQVUsQ0FBQ0ksTUFBTSxDQUFDO1FBQ2xDO01BQ0YsS0FBS04sdUJBQVksQ0FBQ08sR0FBRztRQUNuQmhCLGNBQWMsQ0FBQyxDQUFDO1FBQ2hCO01BQ0YsS0FBS1MsdUJBQVksQ0FBQ1EsS0FBSztRQUNyQmpCLGNBQWMsQ0FBQyxDQUFDO1FBQ2hCO01BQ0YsS0FBS1MsdUJBQVksQ0FBQ1MsSUFBSTtRQUNwQmpCLGVBQWUsQ0FBQyxDQUFDO1FBQ2pCO01BQ0YsS0FBS1EsdUJBQVksQ0FBQ1UsYUFBYTtRQUM3QlosZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1FBQ3RCO01BQ0Y7UUFDRTtJQUNKO0lBRUFULGlCQUFpQixDQUFDRixNQUFNLENBQUM7RUFDM0IsQ0FBQyxFQUNELENBQUNBLE1BQU0sRUFBRUcsZUFBZSxFQUFFQyxjQUFjLEVBQUVDLGVBQWUsRUFBRUgsaUJBQWlCLENBQzlFLENBQUM7RUFFRCxJQUFNc0IsdUJBQXVCLEdBQUc7SUFDOUJDLEdBQUcsRUFBSEEsVUFBRztJQUNIQyxTQUFTLEVBQVRBLGdCQUFTO0lBQ1RDLE9BQU8sRUFBUEEsY0FBTztJQUNQQyxTQUFTLEVBQVRBLGdCQUFTO0lBQ1RDLE1BQU0sRUFBTkEsYUFBTTtJQUNOQyxJQUFJLEVBQUpBO0VBQ0YsQ0FBQztFQUVELElBQU05QyxZQUFZLEdBQUcsSUFBQStDLDJCQUFvQixFQUFDOUIsT0FBTyxDQUFDRCxNQUFNLENBQUMsQ0FBQ2dDLElBQUksQ0FBQztFQUMvRCxJQUFNdkMsT0FBTyxHQUFHd0MsNEJBQWlCLENBQUNsRixNQUFNLENBQUMsVUFBQW1GLEVBQUUsRUFBSTtJQUM3QztJQUNBO0lBQ0EsSUFBTUMsYUFBYSxHQUFHRCxFQUFFLENBQUN0RSxLQUFLLEtBQUtpRCx1QkFBWSxDQUFDVSxhQUFhLElBQUl2QyxZQUFZLENBQUMzQixNQUFNO0lBQ3BGLE9BQU8sQ0FBQyxDQUFDNkUsRUFBRSxDQUFDRSxTQUFTLElBQUlGLEVBQUUsQ0FBQ0UsU0FBUyxDQUFDNUQsS0FBSyxDQUFDLEtBQUsyRCxhQUFhO0VBQ2hFLENBQUMsQ0FBQyxDQUFDRSxHQUFHLENBQUMsVUFBQUgsRUFBRTtJQUFBLE9BQUEvRSxhQUFBLENBQUFBLGFBQUEsS0FDSitFLEVBQUU7TUFDTHBFLElBQUksRUFBRTBELHVCQUF1QixDQUFDVSxFQUFFLENBQUNwRSxJQUFJO0lBQUM7RUFBQSxDQUN0QyxDQUFDO0VBRUgsSUFBTWlCLE9BQU8sR0FBRyxJQUFBTyxrQkFBVyxFQUFDLFlBQU07SUFDaENxQixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFDdkJULGlCQUFpQixDQUFDRixNQUFNLENBQUM7RUFDM0IsQ0FBQyxFQUFFLENBQUNBLE1BQU0sRUFBRUUsaUJBQWlCLENBQUMsQ0FBQztFQUUvQixvQkFDRXZGLE1BQUEsWUFBQWtELGFBQUEsQ0FBQzdDLFNBQUEsV0FBUTtJQUFDc0gsS0FBSyxFQUFFLEdBQUk7SUFBQzVELEdBQUcsRUFBRSxFQUFHO0lBQUNDLFFBQVEsRUFBRUEsUUFBUztJQUFDSSxPQUFPLEVBQUVBO0VBQVEsZ0JBQ2xFcEUsTUFBQSxZQUFBa0QsYUFBQSxDQUFDSSxxQkFBcUI7SUFBQ3VCLFNBQVMsRUFBQztFQUFjLGdCQUM3QzdFLE1BQUEsWUFBQWtELGFBQUEsQ0FBQzVDLGFBQUEsV0FBWTtJQUNYeUUsYUFBYSxFQUFFLFNBQWZBLGFBQWFBLENBQUU2QyxDQUFDO01BQUEsT0FBS0EsQ0FBQyxDQUFpQnZFLE9BQU87SUFBQSxDQUFDO0lBQy9DeUIsT0FBTyxFQUFFQSxPQUFRO0lBQ2pCK0MsdUJBQXVCLEVBQUU5RSxRQUFTO0lBQ2xDa0MsZ0JBQWdCLEVBQUVBLGdCQUFpQjtJQUNuQ0MsS0FBSztFQUFBLENBQ04sQ0FBQyxlQUNGbEYsTUFBQSxZQUFBa0QsYUFBQSxDQUFDUyxpQkFBaUI7SUFDaEJHLElBQUksRUFBRSxHQUFJO0lBQ1ZDLEdBQUcsRUFBRSxDQUFDLEVBQUc7SUFDVEMsUUFBUSxFQUFFOEQsT0FBTyxDQUFDOUQsUUFBUSxJQUFJK0IsYUFBYSxDQUFFO0lBQzdDMUIsWUFBWSxFQUFFQSxZQUFhO0lBQzNCSCxhQUFhLEdBQUFrQixlQUFBLEdBQUVFLE9BQU8sQ0FBQ0QsTUFBTSxDQUFDLGNBQUFELGVBQUEsdUJBQWZBLGVBQUEsQ0FBaUJsQixhQUFjO0lBQzlDQyxnQkFBZ0IsRUFBRUEsZ0JBQWlCO0lBQ25DQyxPQUFPLEVBQUVBO0VBQVEsQ0FDbEIsQ0FDb0IsQ0FDZixDQUFDO0FBRWYsQ0FBQztBQUFDLElBQUEyRCxRQUFBLEdBQUFuRSxPQUFBLGNBRWF1QixjQUFjIiwiaWdub3JlTGlzdCI6W119
|
|
160
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcG9ydGFsZWQiLCJfZHJvcGRvd25MaXN0IiwiX2NvbnN0YW50cyIsIl91dGlscyIsIl9pY29ucyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJMaXN0SXRlbSIsIl9yZWYiLCJ2YWx1ZSIsImNyZWF0ZUVsZW1lbnQiLCJpY29uIiwiaGVpZ2h0IiwiZGlzcGxheSIsIlN0eWxlZE9wdGlvbnNEcm9wZG93biIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiU3R5bGVkUG9wb3ZlciIsIkZvcm1hdHRlckRyb3Bkb3duIiwiZXhwb3J0cyIsInByb3BzIiwibGVmdCIsInRvcCIsImlzT3BlbmVkIiwiX3Byb3BzJGRpc3BsYXlGb3JtYXQiLCJkaXNwbGF5Rm9ybWF0Iiwic2V0RGlzcGxheUZvcm1hdCIsIm9uQ2xvc2UiLCJmb3JtYXRMYWJlbHMiLCJzZWxlY3Rpb25JbmRleCIsImZpbmRJbmRleCIsImxhYmVsIiwiZm9ybWF0Iiwib25TZWxlY3REaXNwbGF5Rm9ybWF0IiwidXNlQ2FsbGJhY2siLCJyZXN1bHQiLCJjbGFzc05hbWUiLCJvcHRpb25zIiwiZGlzcGxheU9wdGlvbiIsIm9wdGlvbiIsIm9uT3B0aW9uU2VsZWN0ZWQiLCJsaWdodCIsIk9wdGlvbkRyb3Bkb3duIiwiX2NvbE1ldGEkY29sdW1uIiwiY29sdW1uIiwiY29sTWV0YSIsInRvZ2dsZU1vcmVPcHRpb25zIiwic29ydFRhYmxlQ29sdW1uIiwicGluVGFibGVDb2x1bW4iLCJjb3B5VGFibGVDb2x1bW4iLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzaG93Rm9ybWF0dGVyIiwic2V0U2hvd0Zvcm1hdHRlciIsIl9yZWYyIiwiVEFCTEVfT1BUSU9OIiwiU09SVF9BU0MiLCJTT1JUX09SREVSIiwiQVNDRU5ESU5HIiwiU09SVF9ERVMiLCJERVNDRU5ESU5HIiwiVU5TT1JUIiwiUElOIiwiVU5QSU4iLCJDT1BZIiwiRk9STUFUX0NPTFVNTiIsIlRBQkxFX09QVElPTl9MSVNUX0lDT05TIiwiUGluIiwiQXJyb3dEb3duIiwiQXJyb3dVcCIsIkNsaXBib2FyZCIsIkNhbmNlbCIsIkhhc2giLCJnZXRGaWVsZEZvcm1hdExhYmVscyIsInR5cGUiLCJUQUJMRV9PUFRJT05fTElTVCIsIm9wIiwidmFsaWRUb0Zvcm1hdCIsImNvbmRpdGlvbiIsIm1hcCIsInJpZ2h0IiwiZCIsImN1c3RvbUxpc3RJdGVtQ29tcG9uZW50IiwiQm9vbGVhbiIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1vbi9kYXRhLXRhYmxlL29wdGlvbi1kcm9wZG93bi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBQb3J0YWxlZCBmcm9tICcuLi9wb3J0YWxlZCc7XG5pbXBvcnQgRHJvcGRvd25MaXN0IGZyb20gJy4uL2l0ZW0tc2VsZWN0b3IvZHJvcGRvd24tbGlzdCc7XG5pbXBvcnQge1xuICBTT1JUX09SREVSLFxuICBUQUJMRV9PUFRJT04sXG4gIFRBQkxFX09QVElPTl9MSVNULFxuICBUb29sdGlwRm9ybWF0LFxuICBUYWJsZU9wdGlvblxufSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge2dldEZpZWxkRm9ybWF0TGFiZWxzfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7Q29sTWV0YX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0Fycm93RG93biwgQXJyb3dVcCwgQ2xpcGJvYXJkLCBQaW4sIENhbmNlbCwgSGFzaH0gZnJvbSAnLi4vaWNvbnMnO1xuXG5jb25zdCBMaXN0SXRlbSA9ICh7dmFsdWV9KSA9PiAoXG4gIDxkaXY+XG4gICAgPHZhbHVlLmljb24gaGVpZ2h0PVwiMTNweFwiIC8+XG4gICAge3ZhbHVlLmRpc3BsYXl9XG4gIDwvZGl2PlxuKTtcblxuLy8gbWFrZSBoYXNoIGljb24gc21hbGxlclxuY29uc3QgU3R5bGVkT3B0aW9uc0Ryb3Bkb3duID0gc3R5bGVkLmRpdmBcbiAgLmxpc3Qtc2VsZWN0b3Ige1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICB9XG5cbiAgLmxpc3RfX2l0ZW0gPiBkaXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcblxuICAgIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG5cbiAgICAuZGF0YS1leC1pY29ucy1oYXNoIHtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgc3Ryb2tlLXdpZHRoOiAxcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRQb3BvdmVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDE4NHB4O1xuICBoZWlnaHQ6IDE2MHB4O1xuICB6LWluZGV4OiAxMDE7XG4gIC5saXN0LXNlbGVjdG9yIHtcbiAgICBtYXgtaGVpZ2h0OiAxNjBweDtcbiAgfVxuICAuaG92ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcXFxcMjcxMyc7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxuYDtcblxuZXhwb3J0IHR5cGUgRm9ybWF0dGVyRHJvcGRvd25Qcm9wcyA9IHtcbiAgbGVmdDogbnVtYmVyO1xuICB0b3A6IG51bWJlcjtcbiAgaXNPcGVuZWQ6IGJvb2xlYW47XG4gIGRpc3BsYXlGb3JtYXQ/OiBzdHJpbmc7XG4gIHNldERpc3BsYXlGb3JtYXQ/OiAoZGlzcGxheUZvcm1hdDogVG9vbHRpcEZvcm1hdCkgPT4gdm9pZDtcbiAgb25DbG9zZTogKCkgPT4gdm9pZDtcbiAgZm9ybWF0TGFiZWxzOiBUb29sdGlwRm9ybWF0W107XG59O1xuXG5leHBvcnQgY29uc3QgRm9ybWF0dGVyRHJvcGRvd246IFJlYWN0LkZDPEZvcm1hdHRlckRyb3Bkb3duUHJvcHM+ID0gKFxuICBwcm9wczogRm9ybWF0dGVyRHJvcGRvd25Qcm9wc1xuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBsZWZ0LFxuICAgIHRvcCxcbiAgICBpc09wZW5lZCxcbiAgICBkaXNwbGF5Rm9ybWF0ID0gJ05vbmUnLFxuICAgIHNldERpc3BsYXlGb3JtYXQsXG4gICAgb25DbG9zZSxcbiAgICBmb3JtYXRMYWJlbHNcbiAgfSA9IHByb3BzO1xuICBjb25zdCBzZWxlY3Rpb25JbmRleCA9IGZvcm1hdExhYmVscy5maW5kSW5kZXgobGFiZWwgPT4gbGFiZWwuZm9ybWF0ID09PSBkaXNwbGF5Rm9ybWF0KTtcblxuICBjb25zdCBvblNlbGVjdERpc3BsYXlGb3JtYXQgPSB1c2VDYWxsYmFjayhcbiAgICByZXN1bHQgPT4ge1xuICAgICAgc2V0RGlzcGxheUZvcm1hdD8uKHJlc3VsdCk7XG4gICAgICBvbkNsb3NlKCk7XG4gICAgfSxcbiAgICBbc2V0RGlzcGxheUZvcm1hdCwgb25DbG9zZV1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxQb3J0YWxlZCBsZWZ0PXtsZWZ0fSB0b3A9e3RvcH0gaXNPcGVuZWQ9e2lzT3BlbmVkfSBvbkNsb3NlPXtvbkNsb3NlfT5cbiAgICAgIDxTdHlsZWRQb3BvdmVyIGNsYXNzTmFtZT1cImZvcm1hdHRlci1wb3BvdmVyXCI+XG4gICAgICAgIDxEcm9wZG93bkxpc3RcbiAgICAgICAgICBvcHRpb25zPXtmb3JtYXRMYWJlbHN9XG4gICAgICAgICAgc2VsZWN0aW9uSW5kZXg9e3NlbGVjdGlvbkluZGV4fVxuICAgICAgICAgIGRpc3BsYXlPcHRpb249e29wdGlvbiA9PiAob3B0aW9uIGFzIFRvb2x0aXBGb3JtYXQpLmxhYmVsfVxuICAgICAgICAgIG9uT3B0aW9uU2VsZWN0ZWQ9e29uU2VsZWN0RGlzcGxheUZvcm1hdH1cbiAgICAgICAgICBsaWdodFxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRQb3BvdmVyPlxuICAgIDwvUG9ydGFsZWQ+XG4gICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbkRyb3Bkb3duUHJvcHMge1xuICBpc09wZW5lZD86IGJvb2xlYW47XG4gIGNvbHVtbjogc3RyaW5nO1xuICBjb2xNZXRhOiBDb2xNZXRhO1xuICB0b2dnbGVNb3JlT3B0aW9uczogKGNvbHVtbjogc3RyaW5nKSA9PiB2b2lkO1xuICBzb3J0VGFibGVDb2x1bW4/OiAoc29ydDogc3RyaW5nKSA9PiB2b2lkO1xuICBwaW5UYWJsZUNvbHVtbjogKCkgPT4gdm9pZDtcbiAgY29weVRhYmxlQ29sdW1uOiAoKSA9PiB2b2lkO1xuICBzZXREaXNwbGF5Rm9ybWF0PzogKGRpc3BsYXlGb3JtYXQ6IGFueSkgPT4gdm9pZDtcbiAgc29ydE1vZGU/OiBzdHJpbmc7XG4gIGlzU29ydGVkPzogc3RyaW5nO1xuICBpc1Bpbm5lZD86IGJvb2xlYW47XG59XG5cbmNvbnN0IE9wdGlvbkRyb3Bkb3duID0gKHByb3BzOiBPcHRpb25Ecm9wZG93blByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBpc09wZW5lZCxcbiAgICBjb2x1bW4sXG4gICAgY29sTWV0YSxcbiAgICB0b2dnbGVNb3JlT3B0aW9ucyxcbiAgICBzb3J0VGFibGVDb2x1bW4sXG4gICAgcGluVGFibGVDb2x1bW4sXG4gICAgY29weVRhYmxlQ29sdW1uLFxuICAgIHNldERpc3BsYXlGb3JtYXRcbiAgfSA9IHByb3BzO1xuICBjb25zdCBbc2hvd0Zvcm1hdHRlciwgc2V0U2hvd0Zvcm1hdHRlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IG9uT3B0aW9uU2VsZWN0ZWQ6ICh2OiBUYWJsZU9wdGlvbikgPT4gdm9pZCA9IHVzZUNhbGxiYWNrKFxuICAgICh7dmFsdWV9KSA9PiB7XG4gICAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICAgIGNhc2UgVEFCTEVfT1BUSU9OLlNPUlRfQVNDOlxuICAgICAgICAgIHNvcnRUYWJsZUNvbHVtbj8uKFNPUlRfT1JERVIuQVNDRU5ESU5HKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBUQUJMRV9PUFRJT04uU09SVF9ERVM6XG4gICAgICAgICAgc29ydFRhYmxlQ29sdW1uPy4oU09SVF9PUkRFUi5ERVNDRU5ESU5HKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBUQUJMRV9PUFRJT04uVU5TT1JUOlxuICAgICAgICAgIHNvcnRUYWJsZUNvbHVtbj8uKFNPUlRfT1JERVIuVU5TT1JUKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBUQUJMRV9PUFRJT04uUElOOlxuICAgICAgICAgIHBpblRhYmxlQ29sdW1uKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVEFCTEVfT1BUSU9OLlVOUElOOlxuICAgICAgICAgIHBpblRhYmxlQ29sdW1uKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVEFCTEVfT1BUSU9OLkNPUFk6XG4gICAgICAgICAgY29weVRhYmxlQ29sdW1uKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVEFCTEVfT1BUSU9OLkZPUk1BVF9DT0xVTU46XG4gICAgICAgICAgc2V0U2hvd0Zvcm1hdHRlcih0cnVlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIHRvZ2dsZU1vcmVPcHRpb25zKGNvbHVtbik7XG4gICAgfSxcbiAgICBbY29sdW1uLCBzb3J0VGFibGVDb2x1bW4sIHBpblRhYmxlQ29sdW1uLCBjb3B5VGFibGVDb2x1bW4sIHRvZ2dsZU1vcmVPcHRpb25zXVxuICApO1xuXG4gIGNvbnN0IFRBQkxFX09QVElPTl9MSVNUX0lDT05TID0ge1xuICAgIFBpbixcbiAgICBBcnJvd0Rvd24sXG4gICAgQXJyb3dVcCxcbiAgICBDbGlwYm9hcmQsXG4gICAgQ2FuY2VsLFxuICAgIEhhc2hcbiAgfTtcblxuICBjb25zdCBmb3JtYXRMYWJlbHMgPSBnZXRGaWVsZEZvcm1hdExhYmVscyhjb2xNZXRhW2NvbHVtbl0udHlwZSk7XG4gIGNvbnN0IG9wdGlvbnMgPSBUQUJMRV9PUFRJT05fTElTVC5maWx0ZXIob3AgPT4ge1xuICAgIC8vIGNhbnQgdXNlIGNvbmRpdGlvbnMgYmVjYXVzZSBpdCBjcmVhdGVzIGEgY2lyY3VsYXIgZGVwZW5kZW5jeVxuICAgIC8vIFRPRE86IG1vdmUgY29uZGl0aW9uIGNsYXVzZSBvdXQgb2YgZGVmYXVsdC1zZXR0aW5ncyBUQUJMRV9PUFRJT05fTElTVFxuICAgIGNvbnN0IHZhbGlkVG9Gb3JtYXQgPSBvcC52YWx1ZSAhPT0gVEFCTEVfT1BUSU9OLkZPUk1BVF9DT0xVTU4gfHwgZm9ybWF0TGFiZWxzLmxlbmd0aDtcbiAgICByZXR1cm4gKCFvcC5jb25kaXRpb24gfHwgb3AuY29uZGl0aW9uKHByb3BzKSkgJiYgdmFsaWRUb0Zvcm1hdDtcbiAgfSkubWFwKG9wID0+ICh7XG4gICAgLi4ub3AsXG4gICAgaWNvbjogVEFCTEVfT1BUSU9OX0xJU1RfSUNPTlNbb3AuaWNvbl1cbiAgfSkpO1xuXG4gIGNvbnN0IG9uQ2xvc2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0U2hvd0Zvcm1hdHRlcihmYWxzZSk7XG4gICAgdG9nZ2xlTW9yZU9wdGlvbnMoY29sdW1uKTtcbiAgfSwgW2NvbHVtbiwgdG9nZ2xlTW9yZU9wdGlvbnNdKTtcblxuICByZXR1cm4gKFxuICAgIDxQb3J0YWxlZCByaWdodD17MTIwfSB0b3A9ezIwfSBpc09wZW5lZD17aXNPcGVuZWR9IG9uQ2xvc2U9e29uQ2xvc2V9PlxuICAgICAgPFN0eWxlZE9wdGlvbnNEcm9wZG93biBjbGFzc05hbWU9XCJtb3JlLW9wdGlvbnNcIj5cbiAgICAgICAgPERyb3Bkb3duTGlzdFxuICAgICAgICAgIGRpc3BsYXlPcHRpb249e2QgPT4gKGQgYXMgVGFibGVPcHRpb24pLmRpc3BsYXl9XG4gICAgICAgICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICAgICAgICBjdXN0b21MaXN0SXRlbUNvbXBvbmVudD17TGlzdEl0ZW19XG4gICAgICAgICAgb25PcHRpb25TZWxlY3RlZD17b25PcHRpb25TZWxlY3RlZH1cbiAgICAgICAgICBsaWdodFxuICAgICAgICAvPlxuICAgICAgICA8Rm9ybWF0dGVyRHJvcGRvd25cbiAgICAgICAgICBsZWZ0PXsxMjB9XG4gICAgICAgICAgdG9wPXstMTB9XG4gICAgICAgICAgaXNPcGVuZWQ9e0Jvb2xlYW4oaXNPcGVuZWQgJiYgc2hvd0Zvcm1hdHRlcil9XG4gICAgICAgICAgZm9ybWF0TGFiZWxzPXtmb3JtYXRMYWJlbHN9XG4gICAgICAgICAgZGlzcGxheUZvcm1hdD17Y29sTWV0YVtjb2x1bW5dPy5kaXNwbGF5Rm9ybWF0fVxuICAgICAgICAgIHNldERpc3BsYXlGb3JtYXQ9e3NldERpc3BsYXlGb3JtYXR9XG4gICAgICAgICAgb25DbG9zZT17b25DbG9zZX1cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkT3B0aW9uc0Ryb3Bkb3duPlxuICAgIDwvUG9ydGFsZWQ+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBPcHRpb25Ecm9wZG93bjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksYUFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBT0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBRUEsSUFBQU8sTUFBQSxHQUFBUCxPQUFBO0FBQTBFLElBQUFRLGVBQUEsRUFBQUMsZ0JBQUEsRUFoQjFFO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVosd0JBQUFZLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEs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
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* For React 16.8 compatibility
|
|
4
4
|
*/
|
|
5
5
|
import React, { ReactNode } from 'react';
|
|
6
|
-
import
|
|
6
|
+
import Window from 'global/window';
|
|
7
7
|
export declare type FileDropProps = {
|
|
8
8
|
dropEffect?: 'copy' | 'move' | 'link' | 'none';
|
|
9
|
-
frame?: typeof document | typeof
|
|
9
|
+
frame?: typeof document | typeof Window | HTMLElement;
|
|
10
10
|
className?: string;
|
|
11
11
|
targetClassName?: string;
|
|
12
12
|
draggingOverFrameClassName?: string;
|