@kepler.gl/components 3.1.1 → 3.1.3
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/common/checkbox.js +14 -5
- package/dist/common/dnd-layer-items.d.ts +8 -0
- package/dist/common/dnd-layer-items.js +18 -0
- package/dist/common/histogram-plot.js +13 -13
- package/dist/common/icons/index.js +1 -1
- package/dist/common/index.d.ts +1 -1
- package/dist/common/index.js +9 -3
- package/dist/common/item-selector/chickleted-input.js +8 -4
- package/dist/common/item-selector/dropdown-list.d.ts +1 -1
- package/dist/common/item-selector/dropdown-list.js +5 -5
- package/dist/common/item-selector/dropdown-select.js +8 -3
- package/dist/common/item-selector/item-selector.js +5 -2
- package/dist/common/item-selector/typeahead.js +8 -3
- package/dist/common/range-brush.js +4 -4
- package/dist/common/range-slider.js +7 -7
- package/dist/common/slider/slider-bar-handle.d.ts +2 -2
- package/dist/common/slider/slider-bar-handle.js +4 -4
- package/dist/common/slider/slider-handle.d.ts +3 -3
- package/dist/common/slider/slider-handle.js +11 -11
- package/dist/common/slider/slider.d.ts +3 -3
- package/dist/common/slider/slider.js +6 -6
- package/dist/common/styled-components.d.ts +4 -3
- package/dist/common/styled-components.js +47 -12
- package/dist/dnd-context.d.ts +1 -1
- package/dist/dnd-context.js +11 -12
- package/dist/effects/effect-list.js +5 -4
- package/dist/hooks/use-dnd-effects.js +4 -4
- package/dist/hooks/use-dnd-layers.js +5 -5
- package/dist/hooks/use-legend-position.d.ts +2 -10
- package/dist/hooks/use-legend-position.js +5 -3
- package/dist/index.d.ts +1 -1
- package/dist/index.js +11 -4
- package/dist/kepler-gl.js +6 -14
- package/dist/loading-indicator.d.ts +2 -2
- package/dist/loading-indicator.js +5 -5
- package/dist/map/map-control.d.ts +2 -0
- package/dist/map/map-control.js +3 -3
- package/dist/map/map-legend-panel.d.ts +3 -1
- package/dist/map/map-legend-panel.js +23 -29
- package/dist/map-container.js +14 -11
- package/dist/side-panel/common/dataset-title.js +4 -4
- package/dist/side-panel/common/types.d.ts +1 -1
- package/dist/side-panel/common/types.js +1 -1
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -3
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +7 -7
- package/dist/side-panel/layer-manager.js +84 -108
- package/dist/side-panel/layer-panel/color-palette.d.ts +2 -2
- package/dist/side-panel/layer-panel/color-palette.js +6 -6
- package/dist/side-panel/layer-panel/color-selector.js +7 -3
- package/dist/side-panel/layer-panel/custom-palette.js +7 -3
- package/dist/side-panel/layer-panel/dataset-section.js +3 -3
- package/dist/side-panel/layer-panel/layer-config-group.js +5 -2
- package/dist/side-panel/layer-panel/layer-list.js +9 -8
- package/dist/side-panel/layer-panel/layer-panel-header.js +9 -5
- package/dist/side-panel/layer-panel/radius-by-zoom-input.js +3 -3
- package/dist/side-panel/map-manager.js +76 -101
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +3 -3
- package/dist/side-panel/map-style-panel/map-layer-group-item.js +4 -4
- package/dist/side-panel/panel-header-action.js +8 -8
- package/dist/side-panel/panel-view-list-toggle.d.ts +1 -1
- package/dist/side-panel/panel-view-list-toggle.js +3 -3
- package/package.json +15 -15
|
@@ -76,7 +76,9 @@ var StyledButtonContainer = _styledComponents["default"].div(_templateObject7 ||
|
|
|
76
76
|
var StyledAddStepContainer = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: 11px;\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n padding: 0 12px;\n color: ", ";\n .addcolor {\n margin-top: 4px;\n }\n"])), function (props) {
|
|
77
77
|
return props.theme.inputColor;
|
|
78
78
|
});
|
|
79
|
-
var StyledInput = (0, _styledComponents["default"])(_styledComponents2.Input)(
|
|
79
|
+
var StyledInput = (0, _styledComponents["default"])(_styledComponents2.Input).withConfig({
|
|
80
|
+
shouldForwardProp: _styledComponents2.shouldForwardProp
|
|
81
|
+
})(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n text-align: ", ";\n pointer-events: ", ";\n"])), function (props) {
|
|
80
82
|
var _props$width;
|
|
81
83
|
return (_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : '100%';
|
|
82
84
|
}, function (props) {
|
|
@@ -85,7 +87,9 @@ var StyledInput = (0, _styledComponents["default"])(_styledComponents2.Input)(_t
|
|
|
85
87
|
}, function (props) {
|
|
86
88
|
return props.disabled ? 'none' : 'all';
|
|
87
89
|
});
|
|
88
|
-
var InputText = _styledComponents["default"].div(
|
|
90
|
+
var InputText = _styledComponents["default"].div.withConfig({
|
|
91
|
+
shouldForwardProp: _styledComponents2.shouldForwardProp
|
|
92
|
+
})(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n background-color: transparent;\n border-color: transparent;\n width: ", ";\n text-align: ", ";\n\n &:hover {\n cursor: auto;\n background-color: transparent;\n border-color: transparent;\n }\n"])), function (props) {
|
|
89
93
|
return props.theme.input;
|
|
90
94
|
}, function (props) {
|
|
91
95
|
var _props$width2;
|
|
@@ -726,4 +730,4 @@ function CustomPaletteFactory() {
|
|
|
726
730
|
return CustomPalette;
|
|
727
731
|
}
|
|
728
732
|
var _default = exports["default"] = CustomPaletteFactory;
|
|
729
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfbG9kYXNoIiwiX3JlYWN0U29ydGFibGVIb2MiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9wb3J0YWxlZCIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl90eXBlYWhlYWQiLCJfY2hpY2tsZXRlZElucHV0IiwiX2Ryb3Bkb3duTGlzdCIsIl9jb21tb25VdGlscyIsIl9jb25zdGFudHMiLCJfdXRpbHMiLCJfaWNvbnMiLCJfY3VzdG9tUGlja2VyIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl90ZW1wbGF0ZU9iamVjdDkiLCJfdGVtcGxhdGVPYmplY3QxMCIsIl90ZW1wbGF0ZU9iamVjdDExIiwiX3RlbXBsYXRlT2JqZWN0MTIiLCJfdGVtcGxhdGVPYmplY3QxMyIsIl90ZW1wbGF0ZU9iamVjdDE0IiwiX3RlbXBsYXRlT2JqZWN0MTUiLCJfdGVtcGxhdGVPYmplY3QxNiIsIl90ZW1wbGF0ZU9iamVjdDE3IiwiX3RlbXBsYXRlT2JqZWN0MTgiLCJfdGVtcGxhdGVPYmplY3QxOSIsIl90ZW1wbGF0ZU9iamVjdDIwIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJkZWZhdWx0QWN0aW9uSWNvbnMiLCJUcmFzaCIsInNvcnQiLCJWZXJ0RG90cyIsImFkZCIsIkFkZCIsImRyYWdIYW5kbGVBY3RpdmUiLCJjc3MiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJ0ZXh0Q29sb3JIbCIsIkNvbG9yUGFsZXR0ZUl0ZW0iLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2IiwiZHJvcGRvd25XcmFwcGVyWiIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwiU3R5bGVkRHJhZ0hhbmRsZSIsIlN0eWxlZEFjdGlvbiIsInN1YnRleHRDb2xvciIsInN1YnRleHRDb2xvckFjdGl2ZSIsIkRpdmlkZXJMaW5lIiwiZHJvcGRvd25MaXN0Qm9yZGVyVG9wIiwiQ29sb3JTd2F0Y2giLCJhdHRycyIsImNsYXNzTmFtZSIsImNvbG9yIiwiYm94U2hhZG93IiwiU3R5bGVkQnV0dG9uQ29udGFpbmVyIiwiU3R5bGVkQWRkU3RlcENvbnRhaW5lciIsImlucHV0Q29sb3IiLCJTdHlsZWRJbnB1dCIsIklucHV0IiwiX3Byb3BzJHdpZHRoIiwid2lkdGgiLCJfcHJvcHMkdGV4dEFsaWduIiwidGV4dEFsaWduIiwiZGlzYWJsZWQiLCJJbnB1dFRleHQiLCJpbnB1dCIsIl9wcm9wcyR3aWR0aDIiLCJfcHJvcHMkdGV4dEFsaWduMiIsIlNvcnRhYmxlSXRlbSIsIlNvcnRhYmxlRWxlbWVudCIsIl9yZWYiLCJjaGlsZHJlbiIsImlzU29ydGluZyIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc25hbWVzIiwic29ydGluZyIsIldyYXBwZWRTb3J0YWJsZUNvbnRhaW5lciIsIlNvcnRhYmxlQ29udGFpbmVyIiwiX3JlZjIiLCJEcmFnSGFuZGxlIiwiU29ydGFibGVIYW5kbGUiLCJfcmVmMyIsIkNvbG9yUGFsZXR0ZUlucHV0IiwiX3JlZjQiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwiaWQiLCJlZGl0YWJsZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInN0YXRlVmFsdWUiLCJzZXRWYWx1ZSIsImlucHV0UmVmIiwidXNlUmVmIiwidXNlRWZmZWN0Iiwib25LZXlEb3duIiwidXNlQ2FsbGJhY2siLCJrZXlDb2RlIiwiS2V5RXZlbnQiLCJET01fVktfRU5URVIiLCJET01fVktfUkVUVVJOIiwiY3VycmVudCIsImJsdXIiLCJfb25DaGFuZ2UiLCJ0YXJnZXQiLCJvbkJsdXIiLCJyZWYiLCJzZWNvbmRhcnkiLCJEYXNoIiwiU3R5bGVkUmFuZ2VJbnB1dCIsIlN0eWxlZENvbG9ySGV4SW5wdXQiLCJFZGl0YWJsZUNvbG9yUmFuZ2UiLCJfcmVmNSIsIml0ZW0iLCJpc0xhc3QiLCJpbmRleCIsImVkaXRDb2xvck1hcCIsIm5vTWluQm91bmQiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImlucHV0cyIsIm5vTWF4Qm91bmQiLCJvbkNoYW5nZUxlZnQiLCJ2YWwiLCJwYXJzZUZsb2F0Iiwib25DaGFuZ2VSaWdodCIsInRvU3RyaW5nIiwiY29uY2F0IiwiQWRkQ29sb3JTdG9wIiwiX3JlZjYiLCJvbkNvbG9yQWRkIiwiSWNvbkNvbXBvbmVudCIsIm9uQ2xpY2siLCJoZWlnaHQiLCJEZWxldGVDb2xvclN0b3AiLCJfcmVmNyIsIm9uQ29sb3JEZWxldGUiLCJDdXN0b21QYWxldHRlSW5wdXQiLCJfcmVmOCIsImNvbG9yQnJlYWtzIiwiaW5wdXRDb2xvckhleCIsImVkaXRDb2xvck1hcFZhbHVlIiwiX3JlZjgkYWN0aW9uSWNvbnMiLCJhY3Rpb25JY29ucyIsImRpc2FibGVBcHBlbmQiLCJkaXNhYmxlRGVsZXRlIiwib25EZWxldGUiLCJvbkFkZCIsIm9uVG9nZ2xlU2tldGNoZXIiLCJvbkNsaWNrU3d0YWNoIiwib25Db2xvcklucHV0IiwidiIsInNob3dIZXhJbnB1dCIsInRvVXBwZXJDYXNlIiwiaXNOdW1lcmljQ29sb3JCcmVha3MiLCJTdHlsZWRDYXRlZ29yaWNhbFZhbHVlUGlja2VyV3JhcHBlciIsIlN0eWxlZENhdGVnb3JpY2FsVmFsdWVQaWNrZXIiLCJub0JvcmRlciIsIkRyb3Bkb3duVmFsdWVzV3JhcHBlciIsIlNlbGVjdGVkVmFsdWVzV3JhcHBlciIsIlN0eWxlZERyb3Bkb3duSGVhZGVyIiwiU3R5bGVkVG9vbHRpcENvbnRlbnQiLCJOVU1CRVJfVkFMVUVTX0lOX1RPT0xUSVAiLCJDYXRlZ29yaWNhbFNlbGVjdG9yQ29udGV4dCIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsIm9uU2VsZWN0UmVzdCIsIm9uUmVzZXQiLCJNb2RpZmllZERyb3Bkb3duTGlzdCIsIl9Ecm9wZG93bkxpc3QiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJyZW5kZXIiLCJfdGhpcyIsIkZyYWdtZW50IiwiQ29uc3VtZXIiLCJjb250ZXh0IiwiQnV0dG9uIiwibGluayIsInNpemUiLCJEcm9wZG93bkxpc3QiLCJDYXRlZ29yaWNhbFNlbGVjdG9yIiwiX3JlZjkiLCJzZWxlY3RlZFZhbHVlcyIsImFsbFZhbHVlcyIsImFkZENvbG9yTWFwVmFsdWUiLCJyZW1vdmVDb2xvck1hcFZhbHVlIiwicmVzZXRDb2xvck1hcFZhbHVlIiwic2VsZWN0UmVzdENvbG9yTWFwVmFsdWUiLCJfcmVmOSRlZGl0YWJsZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2hvd1R5cGVhaGVhZCIsInNldFNob3dUeXBlYWhlYWQiLCJvbk9wdGlvblNlbGVjdGVkIiwicHJldmlvdXNTZWxlY3RlZCIsInRvQXJyYXkiLCJpdGVtcyIsInVuaXEiLCJvbk9wZW5Ecm9wZG93biIsIm9uQ2xvc2VEcm9wZG93biIsIm9uUmVtb3ZlSXRlbSIsIlRvb2x0aXAiLCJwbGFjZSIsImludGVyYWN0aXZlIiwic2xpY2UiLCJtYXAiLCJsZWZ0IiwidG9wIiwiaXNPcGVuZWQiLCJvbkNsb3NlIiwic2VsZWN0ZWRJdGVtcyIsInBsYWNlaG9sZGVyIiwicmVtb3ZlSXRlbSIsIkN1c3RvbUNoaWNrbGV0Q29tcG9uZW50Iiwic3R5bGUiLCJwb3NpdGlvbiIsIlByb3ZpZGVyIiwiY3VzdG9tQ2xhc3NlcyIsInJlc3VsdHMiLCJsaXN0SXRlbSIsImxpc3RBbmNob3IiLCJvcHRpb25zIiwiY3VzdG9tTGlzdENvbXBvbmVudCIsImN1c3RvbUxpc3RJdGVtQ29tcG9uZW50IiwiTGlzdEl0ZW0iLCJzZWFyY2hhYmxlIiwic2hvd09wdGlvbnNXaGVuRW1wdHkiLCJDYXRlZ29yaWNhbEN1c3RvbVBhbGV0dGVJbnB1dCIsIl9yZWYxMCIsImNvbG9yTWFwIiwiX3JlZjEwJGFjdGlvbkljb25zIiwidXNlTWVtbyIsInZhbHVlcyIsIkFycmF5IiwiaXNBcnJheSIsIkJvdHRvbUFjdGlvbiIsIl9yZWYxMSIsIm9uQ2FuY2VsIiwib25Db25maXJtIiwic21hbGwiLCJTdHlsZWRDdXN0b21QYWxldHRlIiwiQ3VzdG9tUGFsZXR0ZUZhY3RvcnkiLCJDdXN0b21QYWxldHRlIiwiX3JlZjEyIiwib3JkaW5hbERvbWFpbiIsImN1c3RvbVBhbGV0dGUiLCJzZXRDb2xvclBhbGV0dGVVSSIsInNob3dTa2V0Y2hlciIsIl9yZWYxMiRhY3Rpb25JY29ucyIsIm9uQXBwbHkiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInNldElzU29ydGluZyIsImNvbG9ycyIsInR5cGUiLCJjb2xvck1hcFRvQ29sb3JCcmVha3MiLCJjb2xvck1hcFRvQ2F0ZWdvcmljYWxDb2xvckJyZWFrcyIsIm9uUGlja2VyVXBkYXRlIiwibmV3Q3VzdG9tUGFsZXR0ZSIsInVwZGF0ZUN1c3RvbVBhbGV0dGVDb2xvciIsImhleCIsInJlbW92ZUN1c3RvbVBhbGV0dGVDb2xvciIsImFkZEN1c3RvbVBhbGV0dGVDb2xvciIsIm9uQWRkQ2F0ZWdvcmljYWxTdGVwIiwib25Td2F0Y2hDbG9zZSIsImV2ZW50Iiwic3RvcFByb3BhZ2F0aW9uIiwicHJldmVudERlZmF1bHQiLCJvblNvcnRFbmQiLCJfcmVmMTMiLCJvbGRJbmRleCIsIm5ld0luZGV4Iiwic29ydEN1c3RvbVBhbGV0dGVDb2xvciIsIm9uU29ydFN0YXJ0IiwibmV3Q29sb3JNYXAiLCJjbSIsImJyZWFrcyIsImIiLCJzb3J0ZWROZXdDb2xvck1hcCIsInJlbW92ZUNhdGVnb3JpY2FsQ29sb3JNYXBWYWx1ZSIsInJlbW92ZUNhdGVnb3JpY2FsVmFsdWVGcm9tQ29sb3JNYXAiLCJhZGRDYXRlZ29yaWNhbENvbG9yTWFwVmFsdWUiLCJhZGRDYXRlZ29yaWNhbFZhbHVlc1RvQ29sb3JNYXAiLCJyZXNldENhdGVnb3JpY2FsQ29sb3JNYXBWYWx1ZSIsInJlc2V0Q2F0ZWdvcmljYWxDb2xvck1hcEJ5SW5kZXgiLCJzZWxlY3RSZXN0Q2F0ZWdvcmljYWxDb2xvck1hcCIsInNlbGVjdFJlc3RDYXRlZ29yaWNhbENvbG9yTWFwQnlJbmRleCIsImxvY2tBeGlzIiwiaGVscGVyQ2xhc3MiLCJ1c2VEcmFnSGFuZGxlIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lkZS1wYW5lbC9sYXllci1wYW5lbC9jdXN0b20tcGFsZXR0ZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUmVhY3QsIHtcbiAgRWxlbWVudFR5cGUsXG4gIFByb3BzV2l0aENoaWxkcmVuLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1bmlxIGZyb20gJ2xvZGFzaC51bmlxJztcbmltcG9ydCB7XG4gIFNvcnRhYmxlQ29udGFpbmVyLFxuICBTb3J0YWJsZUNvbnRhaW5lclByb3BzLFxuICBTb3J0YWJsZUVsZW1lbnQsXG4gIFNvcnRhYmxlRWxlbWVudFByb3BzLFxuICBTb3J0YWJsZUhhbmRsZVxufSBmcm9tICdyZWFjdC1zb3J0YWJsZS1ob2MnO1xuaW1wb3J0IHN0eWxlZCwge2Nzc30gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFBvcnRhbGVkIGZyb20gJy4uLy4uL2NvbW1vbi9wb3J0YWxlZCc7XG5pbXBvcnQge1Rvb2x0aXB9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgVHlwZWFoZWFkIGZyb20gJy4uLy4uL2NvbW1vbi9pdGVtLXNlbGVjdG9yL3R5cGVhaGVhZCc7XG5pbXBvcnQgQ2hpY2tsZXRlZElucHV0IGZyb20gJy4uLy4uL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2NoaWNrbGV0ZWQtaW5wdXQnO1xuaW1wb3J0IERyb3Bkb3duTGlzdCwge0xpc3RJdGVtfSBmcm9tICcuLi8uLi9jb21tb24vaXRlbS1zZWxlY3Rvci9kcm9wZG93bi1saXN0JztcblxuaW1wb3J0IHt0b0FycmF5fSBmcm9tICdAa2VwbGVyLmdsL2NvbW1vbi11dGlscyc7XG5pbXBvcnQge0tleUV2ZW50fSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0NvbG9yTWFwLCBDb2xvclVJLCBIZXhDb2xvciwgTmVzdGVkUGFydGlhbH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1xuICBhZGRDYXRlZ29yaWNhbFZhbHVlc1RvQ29sb3JNYXAsXG4gIGFkZEN1c3RvbVBhbGV0dGVDb2xvcixcbiAgY29sb3JNYXBUb0NhdGVnb3JpY2FsQ29sb3JCcmVha3MsXG4gIGNvbG9yTWFwVG9Db2xvckJyZWFrcyxcbiAgaXNOdW1lcmljQ29sb3JCcmVha3MsXG4gIHJlc2V0Q2F0ZWdvcmljYWxDb2xvck1hcEJ5SW5kZXgsXG4gIHJlbW92ZUNhdGVnb3JpY2FsVmFsdWVGcm9tQ29sb3JNYXAsXG4gIHJlbW92ZUN1c3RvbVBhbGV0dGVDb2xvcixcbiAgc2VsZWN0UmVzdENhdGVnb3JpY2FsQ29sb3JNYXBCeUluZGV4LFxuICBzb3J0Q3VzdG9tUGFsZXR0ZUNvbG9yLFxuICB1cGRhdGVDdXN0b21QYWxldHRlQ29sb3Jcbn0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0NvbG9yQnJlYWssIENvbG9yQnJlYWtPcmRpbmFsfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7QWRkLCBUcmFzaCwgVmVydERvdHN9IGZyb20gJy4uLy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge0J1dHRvbiwgSW5wdXR9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgQ3VzdG9tUGlja2VyIGZyb20gJy4vY3VzdG9tLXBpY2tlcic7XG5cbmV4cG9ydCB0eXBlIEFjdGlvbkljb25zID0ge1xuICBkZWxldGU6IEVsZW1lbnRUeXBlO1xuICBzb3J0OiBFbGVtZW50VHlwZTtcbiAgYWRkOiBFbGVtZW50VHlwZTtcbn07XG5cbmV4cG9ydCB0eXBlIEVkaXRDb2xvck1hcEZ1bmMgPSAodjogbnVtYmVyLCBpOiBudW1iZXIpID0+IHZvaWQ7XG5leHBvcnQgdHlwZSBTZXRDb2xvclVJRnVuYyA9IChuZXdDb25maWc6IE5lc3RlZFBhcnRpYWw8Q29sb3JVST4pID0+IHZvaWQ7XG5cbi8qKlxuICogRWRpdGFibGVDb2xvclJhbmdlXG4gKi9cbmV4cG9ydCB0eXBlIEVkaXRhYmxlQ29sb3JSYW5nZVByb3BzID0ge1xuICBpdGVtOiBDb2xvckJyZWFrO1xuICBpc0xhc3Q6IGJvb2xlYW47XG4gIGluZGV4OiBudW1iZXI7XG4gIGVkaXRDb2xvck1hcD86IEVkaXRDb2xvck1hcEZ1bmM7XG4gIGVkaXRhYmxlOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tUGFsZXR0ZVByb3BzID0ge1xuICBjdXN0b21QYWxldHRlOiBDb2xvclVJWydjdXN0b21QYWxldHRlJ107XG4gIHNldENvbG9yUGFsZXR0ZVVJOiBTZXRDb2xvclVJRnVuYztcbiAgc2hvd1NrZXRjaGVyOiBudW1iZXIgfCBib29sZWFuO1xuICBvcmRpbmFsRG9tYWluPzogc3RyaW5nW10gfCBudW1iZXJbXTtcbiAgYWN0aW9uSWNvbnM/OiBBY3Rpb25JY29ucztcbiAgb25BcHBseTogKGU6IFJlYWN0Lk1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gIG9uQ2FuY2VsOiAoKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tUGFsZXR0ZUlucHV0UHJvcHMgPSB7XG4gIGluZGV4OiBudW1iZXI7XG4gIGlzU29ydGluZzogYm9vbGVhbjtcbiAgY29sb3I6IEhleENvbG9yO1xuICBjb2xvckJyZWFrczogQ29sb3JCcmVha09yZGluYWxbXSB8IENvbG9yQnJlYWtbXSB8IG51bGw7XG4gIGlucHV0Q29sb3JIZXg6IChpbmRleDogbnVtYmVyLCB2OiBIZXhDb2xvcikgPT4gdm9pZDtcbiAgZWRpdENvbG9yTWFwVmFsdWU6IEVkaXRDb2xvck1hcEZ1bmM7XG4gIGFjdGlvbkljb25zPzogQWN0aW9uSWNvbnM7XG4gIGRpc2FibGVBcHBlbmQ/OiBib29sZWFuO1xuICBkaXNhYmxlRGVsZXRlPzogYm9vbGVhbjtcbiAgb25EZWxldGU6IChpbmRleDogbnVtYmVyKSA9PiB2b2lkO1xuICBvbkFkZDogKGluZGV4OiBudW1iZXIpID0+IHZvaWQ7XG4gIG9uVG9nZ2xlU2tldGNoZXI6IChpbmRleDogbnVtYmVyKSA9PiB2b2lkO1xufTtcblxuY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICBkZWxldGU6IFRyYXNoLFxuICBzb3J0OiBWZXJ0RG90cyxcbiAgYWRkOiBBZGRcbn07XG5cbmNvbnN0IGRyYWdIYW5kbGVBY3RpdmUgPSBjc3NgXG4gIC5sYXllcl9fZHJhZy1oYW5kbGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGN1cnNvcjogbW92ZTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IENvbG9yUGFsZXR0ZUl0ZW0gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICB6LWluZGV4OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duV3JhcHBlclogKyAxfTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIC5jdXN0b20tcGFsZXR0ZS1pbnB1dF9fbGVmdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLmN1c3RvbS1wYWxldHRlLWlucHV0X19yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgfVxuXG4gICY6bm90KC5zb3J0aW5nKTpub3QoLmRpc2FibGVkKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICAgICR7ZHJhZ0hhbmRsZUFjdGl2ZX07XG4gICAgfVxuICB9XG5cbiAgJi5zb3J0aW5nLWNvbG9ycyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgJHtkcmFnSGFuZGxlQWN0aXZlfTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkRHJhZ0hhbmRsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG5gO1xuXG5jb25zdCBTdHlsZWRBY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3J9O1xuICBzdmcge1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yQWN0aXZlfTtcbiAgICB9XG4gIH1cblxuICBtYXJnaW4tbGVmdDogNHB4O1xuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBEaXZpZGVyTGluZSA9IHN0eWxlZC5kaXZgXG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEJvcmRlclRvcH07XG4gIG1hcmdpbi10b3A6IDhweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBDb2xvclN3YXRjaCA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjdXN0b20tcGFsZXR0ZV9fc3dhdGNoJ1xufSlgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuY29sb3J9O1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm94U2hhZG93fTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDExcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpcmVjdGlvbjogcnRsO1xuICBwYWRkaW5nOiAwIDEycHg7XG5gO1xuXG5jb25zdCBTdHlsZWRBZGRTdGVwQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTFweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwIDEycHg7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Q29sb3J9O1xuICAuYWRkY29sb3Ige1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQoSW5wdXQpPHt3aWR0aDogc3RyaW5nOyB0ZXh0QWxpZ246IHN0cmluZ30+YFxuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy53aWR0aCA/PyAnMTAwJSd9O1xuICB0ZXh0LWFsaWduOiAke3Byb3BzID0+IHByb3BzLnRleHRBbGlnbiA/PyAnZW5kJ307XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG5gO1xuXG5jb25zdCBJbnB1dFRleHQgPSBzdHlsZWQuZGl2PHt3aWR0aDogc3RyaW5nOyB0ZXh0QWxpZ246IHN0cmluZ30+YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0fTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRoID8/ICcxMDAlJ307XG4gIHRleHQtYWxpZ246ICR7cHJvcHMgPT4gcHJvcHMudGV4dEFsaWduID8/ICdlbmQnfTtcblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuYDtcblxudHlwZSBTb3J0YWJsZUl0ZW1Qcm9wcyA9IFNvcnRhYmxlRWxlbWVudFByb3BzICYge1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBpc1NvcnRpbmc6IGJvb2xlYW47XG59O1xuXG5jb25zdCBTb3J0YWJsZUl0ZW0gPSBTb3J0YWJsZUVsZW1lbnQ8U29ydGFibGVJdGVtUHJvcHM+KCh7Y2hpbGRyZW4sIGlzU29ydGluZ30pID0+IChcbiAgPENvbG9yUGFsZXR0ZUl0ZW0gY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdjdXN0b20tcGFsZXR0ZV9fc29ydGFibGUtaXRlbXMnLCB7c29ydGluZzogaXNTb3J0aW5nfSl9PlxuICAgIHtjaGlsZHJlbn1cbiAgPC9Db2xvclBhbGV0dGVJdGVtPlxuKSk7XG5cbnR5cGUgV3JhcHBlZFNvcnRhYmxlQ29udGFpbmVyUHJvcHMgPSBTb3J0YWJsZUNvbnRhaW5lclByb3BzICYge1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xufTtcblxuLy8gVE9ETzogU2hvdWxkIGNsYXNzTmFtZSBiZSBhcHBsaWVkIHRvIHRoZSBkaXYgaGVyZT9cbmNvbnN0IFdyYXBwZWRTb3J0YWJsZUNvbnRhaW5lciA9IFNvcnRhYmxlQ29udGFpbmVyPFdyYXBwZWRTb3J0YWJsZUNvbnRhaW5lclByb3BzPihcbiAgKHtjaGlsZHJlbiwgY2xhc3NOYW1lfSkgPT4gPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZX0+e2NoaWxkcmVufTwvZGl2PlxuKTtcblxudHlwZSBEcmFnSGFuZGxlUHJvcHMgPSBQcm9wc1dpdGhDaGlsZHJlbjx7Y2xhc3NOYW1lPzogc3RyaW5nOyBsaXN0ZW5lcnM/OiB1bmtub3dufT47XG5cbmV4cG9ydCBjb25zdCBEcmFnSGFuZGxlID0gU29ydGFibGVIYW5kbGU8RHJhZ0hhbmRsZVByb3BzPigoe2NsYXNzTmFtZSwgY2hpbGRyZW59KSA9PiAoXG4gIDxTdHlsZWREcmFnSGFuZGxlIGNsYXNzTmFtZT17Y2xhc3NOYW1lfT57Y2hpbGRyZW59PC9TdHlsZWREcmFnSGFuZGxlPlxuKSk7XG5cbmV4cG9ydCB0eXBlIENvbG9yUGFsZXR0ZUlucHV0UHJvcHMgPSB7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG4gIG9uQ2hhbmdlOiAodmFsOiB1bmtub3duKSA9PiB2b2lkO1xuICBpZDogc3RyaW5nO1xuICB3aWR0aDogc3RyaW5nO1xuICB0ZXh0QWxpZ246IHN0cmluZztcbiAgZWRpdGFibGU6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY29uc3QgQ29sb3JQYWxldHRlSW5wdXQgPSAoe1xuICB2YWx1ZSxcbiAgb25DaGFuZ2UsXG4gIGlkLFxuICB3aWR0aCxcbiAgdGV4dEFsaWduLFxuICBlZGl0YWJsZVxufTogQ29sb3JQYWxldHRlSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBbc3RhdGVWYWx1ZSwgc2V0VmFsdWVdID0gdXNlU3RhdGUodmFsdWUpO1xuICBjb25zdCBpbnB1dFJlZiA9IHVzZVJlZihudWxsKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRWYWx1ZSh2YWx1ZSk7XG4gIH0sIFt2YWx1ZV0pO1xuXG4gIGNvbnN0IG9uS2V5RG93biA9IHVzZUNhbGxiYWNrKFxuICAgIGUgPT4ge1xuICAgICAgc3dpdGNoIChlLmtleUNvZGUpIHtcbiAgICAgICAgY2FzZSBLZXlFdmVudC5ET01fVktfRU5URVI6XG4gICAgICAgIGNhc2UgS2V5RXZlbnQuRE9NX1ZLX1JFVFVSTjpcbiAgICAgICAgICBvbkNoYW5nZShzdGF0ZVZhbHVlKTtcbiAgICAgICAgICBpZiAoaW5wdXRSZWYgIT09IG51bGwpIHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGlucHV0UmVmPy5jdXJyZW50LmJsdXIoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25DaGFuZ2UsIHN0YXRlVmFsdWVdXG4gICk7XG5cbiAgY29uc3QgX29uQ2hhbmdlID0gdXNlQ2FsbGJhY2soZSA9PiBzZXRWYWx1ZShlLnRhcmdldC52YWx1ZSksIFtzZXRWYWx1ZV0pO1xuICBjb25zdCBvbkJsdXIgPSB1c2VDYWxsYmFjaygoKSA9PiBvbkNoYW5nZShzdGF0ZVZhbHVlKSwgW29uQ2hhbmdlLCBzdGF0ZVZhbHVlXSk7XG5cbiAgcmV0dXJuIGVkaXRhYmxlID8gKFxuICAgIDxTdHlsZWRJbnB1dFxuICAgICAgcmVmPXtpbnB1dFJlZn1cbiAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1wYWxldHRlLWhleF9faW5wdXRcIlxuICAgICAgdmFsdWU9e3N0YXRlVmFsdWV9XG4gICAgICBvbkNoYW5nZT17X29uQ2hhbmdlfVxuICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgIGlkPXtpZH1cbiAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgIHRleHRBbGlnbj17dGV4dEFsaWdufVxuICAgICAgc2Vjb25kYXJ5XG4gICAgLz5cbiAgKSA6IChcbiAgICA8SW5wdXRUZXh0IGNsYXNzTmFtZT1cImN1c3RvbS1wYWxldHRlLWhleF9faW5wdXRfX3RleHRcIiB3aWR0aD17d2lkdGh9IHRleHRBbGlnbj17dGV4dEFsaWdufT5cbiAgICAgIHt2YWx1ZX1cbiAgICA8L0lucHV0VGV4dD5cbiAgKTtcbn07XG5cbmNvbnN0IERhc2ggPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogNnB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3J9O1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFJhbmdlSW5wdXQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogMTJweDtcbmA7XG5cbmNvbnN0IFN0eWxlZENvbG9ySGV4SW5wdXQgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tbGVmdDogMTJweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBFZGl0YWJsZUNvbG9yUmFuZ2U6IFJlYWN0LkZDPEVkaXRhYmxlQ29sb3JSYW5nZVByb3BzPiA9ICh7XG4gIGl0ZW0sXG4gIGlzTGFzdCxcbiAgaW5kZXgsXG4gIGVkaXRDb2xvck1hcCxcbiAgZWRpdGFibGVcbn0pID0+IHtcbiAgY29uc3Qgbm9NaW5Cb3VuZCA9ICFOdW1iZXIuaXNGaW5pdGUoaXRlbS5pbnB1dHNbMF0pICYmIGluZGV4ID09PSAwO1xuICBjb25zdCBub01heEJvdW5kID0gIU51bWJlci5pc0Zpbml0ZShpdGVtLmlucHV0c1sxXSkgJiYgaXNMYXN0O1xuICBjb25zdCBvbkNoYW5nZUxlZnQgPSB1c2VDYWxsYmFjayhcbiAgICB2YWwgPT4ge1xuICAgICAgaWYgKGVkaXRhYmxlICYmIGVkaXRDb2xvck1hcCkgZWRpdENvbG9yTWFwKHBhcnNlRmxvYXQodmFsKSwgaW5kZXggLSAxKTtcbiAgICB9LFxuICAgIFtlZGl0Q29sb3JNYXAsIGluZGV4LCBlZGl0YWJsZV1cbiAgKTtcbiAgY29uc3Qgb25DaGFuZ2VSaWdodCA9IHVzZUNhbGxiYWNrKFxuICAgIHZhbCA9PiB7XG4gICAgICBpZiAoZWRpdGFibGUgJiYgZWRpdENvbG9yTWFwKSBlZGl0Q29sb3JNYXAocGFyc2VGbG9hdCh2YWwpLCBpbmRleCk7XG4gICAgfSxcbiAgICBbZWRpdENvbG9yTWFwLCBpbmRleCwgZWRpdGFibGVdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkUmFuZ2VJbnB1dD5cbiAgICAgIDxDb2xvclBhbGV0dGVJbnB1dFxuICAgICAgICB2YWx1ZT17bm9NaW5Cb3VuZCA/ICdMZXNzJyA6IGl0ZW0uaW5wdXRzWzBdLnRvU3RyaW5nKCl9XG4gICAgICAgIGlkPXtgY29sb3ItcGFsZXR0ZS1pbnB1dC0ke2luZGV4fS1sZWZ0YH1cbiAgICAgICAgd2lkdGg9XCI1MHB4XCJcbiAgICAgICAgdGV4dEFsaWduPVwiZW5kXCJcbiAgICAgICAgZWRpdGFibGU9e25vTWluQm91bmQgPyBmYWxzZSA6IGVkaXRhYmxlfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2VMZWZ0fVxuICAgICAgLz5cbiAgICAgIDxEYXNoIC8+XG4gICAgICA8Q29sb3JQYWxldHRlSW5wdXRcbiAgICAgICAgdmFsdWU9e25vTWF4Qm91bmQgPyAnTW9yZScgOiBpdGVtLmlucHV0c1sxXS50b1N0cmluZygpfVxuICAgICAgICBpZD17YGNvbG9yLXBhbGV0dGUtaW5wdXQtJHtpbmRleH0tcmlnaHRgfVxuICAgICAgICB3aWR0aD1cIjUwcHhcIlxuICAgICAgICB0ZXh0QWxpZ249XCJlbmRcIlxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2VSaWdodH1cbiAgICAgICAgZWRpdGFibGU9e25vTWF4Qm91bmQgPyBmYWxzZSA6IGVkaXRhYmxlfVxuICAgICAgLz5cbiAgICA8L1N0eWxlZFJhbmdlSW5wdXQ+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgQWRkQ29sb3JTdG9wID0gKHtvbkNvbG9yQWRkLCBJY29uQ29tcG9uZW50fSkgPT4gKFxuICA8U3R5bGVkQWN0aW9uIG9uQ2xpY2s9e29uQ29sb3JBZGR9IGNsYXNzTmFtZT1cImFkZGNvbG9yXCI+XG4gICAgPEljb25Db21wb25lbnQgaGVpZ2h0PVwiMTRweFwiIC8+XG4gIDwvU3R5bGVkQWN0aW9uPlxuKTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUNvbG9yU3RvcCA9ICh7b25Db2xvckRlbGV0ZSwgSWNvbkNvbXBvbmVudH0pID0+IChcbiAgPFN0eWxlZEFjdGlvbiBvbkNsaWNrPXtvbkNvbG9yRGVsZXRlfSBjbGFzc05hbWU9XCJ0cmFzaGJpblwiPlxuICAgIDxJY29uQ29tcG9uZW50IGhlaWdodD1cIjE0cHhcIiAvPlxuICA8L1N0eWxlZEFjdGlvbj5cbik7XG5cbmV4cG9ydCBjb25zdCBDdXN0b21QYWxldHRlSW5wdXQ6IFJlYWN0LkZDPEN1c3RvbVBhbGV0dGVJbnB1dFByb3BzPiA9ICh7XG4gIGluZGV4LFxuICBpc1NvcnRpbmcsXG4gIGNvbG9yLFxuICBjb2xvckJyZWFrcyxcbiAgaW5wdXRDb2xvckhleCxcbiAgZWRpdENvbG9yTWFwVmFsdWUsXG4gIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zLFxuICBkaXNhYmxlQXBwZW5kLFxuICBkaXNhYmxlRGVsZXRlLFxuICBvbkRlbGV0ZSxcbiAgb25BZGQsXG4gIG9uVG9nZ2xlU2tldGNoZXJcbn0pID0+IHtcbiAgY29uc3Qgb25DbGlja1N3dGFjaCA9IHVzZUNhbGxiYWNrKCgpID0+IG9uVG9nZ2xlU2tldGNoZXIoaW5kZXgpLCBbb25Ub2dnbGVTa2V0Y2hlciwgaW5kZXhdKTtcbiAgY29uc3Qgb25Db2xvcklucHV0ID0gdXNlQ2FsbGJhY2sodiA9PiBpbnB1dENvbG9ySGV4KGluZGV4LCB2KSwgW2lucHV0Q29sb3JIZXgsIGluZGV4XSk7XG4gIGNvbnN0IG9uQ29sb3JEZWxldGUgPSB1c2VDYWxsYmFjaygoKSA9PiBvbkRlbGV0ZShpbmRleCksIFtvbkRlbGV0ZSwgaW5kZXhdKTtcbiAgY29uc3Qgb25Db2xvckFkZCA9IHVzZUNhbGxiYWNrKCgpID0+IG9uQWRkKGluZGV4KSwgW29uQWRkLCBpbmRleF0pO1xuICBjb25zdCBzaG93SGV4SW5wdXQgPSAhY29sb3JCcmVha3M7XG5cbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJdGVtIGluZGV4PXtpbmRleH0gaXNTb3J0aW5nPXtpc1NvcnRpbmd9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tcGFsZXR0ZS1pbnB1dF9fbGVmdFwiPlxuICAgICAgICA8RHJhZ0hhbmRsZSBjbGFzc05hbWU9XCJsYXllcl9fZHJhZy1oYW5kbGVcIj5cbiAgICAgICAgICA8YWN0aW9uSWNvbnMuc29ydCBoZWlnaHQ9XCIyMHB4XCIgLz5cbiAgICAgICAgPC9EcmFnSGFuZGxlPlxuICAgICAgICA8Q29sb3JTd2F0Y2ggY29sb3I9e2NvbG9yfSBvbkNsaWNrPXtvbkNsaWNrU3d0YWNofSAvPlxuICAgICAgICB7c2hvd0hleElucHV0ID8gKFxuICAgICAgICAgIDxTdHlsZWRDb2xvckhleElucHV0PlxuICAgICAgICAgICAgPENvbG9yUGFsZXR0ZUlucHV0XG4gICAgICAgICAgICAgIHZhbHVlPXtjb2xvci50b1VwcGVyQ2FzZSgpfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17b25Db2xvcklucHV0fVxuICAgICAgICAgICAgICBpZD17YGlucHV0LWxheWVyLWxhYmVsLSR7aW5kZXh9YH1cbiAgICAgICAgICAgICAgZWRpdGFibGVcbiAgICAgICAgICAgICAgdGV4dEFsaWduPVwibGVmdFwiXG4gICAgICAgICAgICAgIHdpZHRoPVwiNzBweFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvU3R5bGVkQ29sb3JIZXhJbnB1dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIHtpc051bWVyaWNDb2xvckJyZWFrcyhjb2xvckJyZWFrcykgPyAoXG4gICAgICAgICAgPEVkaXRhYmxlQ29sb3JSYW5nZVxuICAgICAgICAgICAgaXRlbT17Y29sb3JCcmVha3NbaW5kZXhdfVxuICAgICAgICAgICAgaXNMYXN0PXtpbmRleCA9PT0gY29sb3JCcmVha3MubGVuZ3RoIC0gMX1cbiAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgIGVkaXRDb2xvck1hcD17ZWRpdENvbG9yTWFwVmFsdWV9XG4gICAgICAgICAgICBlZGl0YWJsZVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImN1c3RvbS1wYWxldHRlLWlucHV0X19yaWdodFwiPlxuICAgICAgICB7IWRpc2FibGVBcHBlbmQgPyAoXG4gICAgICAgICAgPEFkZENvbG9yU3RvcCBvbkNvbG9yQWRkPXtvbkNvbG9yQWRkfSBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5hZGR9IC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICB7IWRpc2FibGVEZWxldGUgPyAoXG4gICAgICAgICAgPERlbGV0ZUNvbG9yU3RvcCBvbkNvbG9yRGVsZXRlPXtvbkNvbG9yRGVsZXRlfSBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5kZWxldGV9IC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgPC9Tb3J0YWJsZUl0ZW0+XG4gICk7XG59O1xuXG5jb25zdCBTdHlsZWRDYXRlZ29yaWNhbFZhbHVlUGlja2VyV3JhcHBlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjYXRlZ29yaWNhbC12YWx1ZS1waWNrZXInXG59KWBcbiAgd2lkdGg6IDE1MHB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dENvbG9yfTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgY29sdW1uLWdhcDogOHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5gO1xuXG50eXBlIFN0eWxlZENhdGVnb3JpY2FsVmFsdWVQaWNrZXJQcm9wcyA9IHtub0JvcmRlcjogYm9vbGVhbn07XG5jb25zdCBTdHlsZWRDYXRlZ29yaWNhbFZhbHVlUGlja2VyID0gc3R5bGVkLmRpdjxTdHlsZWRDYXRlZ29yaWNhbFZhbHVlUGlja2VyUHJvcHM+YFxuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgYm9yZGVyLWJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMubm9Cb3JkZXIgPyAnJyA6ICcxcHggZGFzaGVkJyl9O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDEwMHB4O1xuYDtcblxudHlwZSBEcm9wZG93blZhbHVlc1dyYXBwZXJQcm9wcyA9IHt3aWR0aDogbnVtYmVyfTtcbmNvbnN0IERyb3Bkb3duVmFsdWVzV3JhcHBlciA9IHN0eWxlZC5kaXY8RHJvcGRvd25WYWx1ZXNXcmFwcGVyUHJvcHM+YFxuICBib3JkZXI6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duV3JhcHBlclp9O1xuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy53aWR0aH1weDtcbmA7XG5cbnR5cGUgU2VsZWN0ZWRWYWx1ZXNXcmFwcGVyUHJvcHMgPSB7d2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXJ9O1xuY29uc3QgU2VsZWN0ZWRWYWx1ZXNXcmFwcGVyID0gc3R5bGVkKERyb3Bkb3duVmFsdWVzV3JhcHBlcik8U2VsZWN0ZWRWYWx1ZXNXcmFwcGVyUHJvcHM+YFxuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy53aWR0aH1weDtcbiAgbWF4LWhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy5oZWlnaHR9cHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIC5jdXN0b20tcGFsZXR0ZS1jaGlja2xldGVkLWlucHV0IHtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bldyYXBwZXJafTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkRHJvcGRvd25IZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Q29sb3J9O1xuICBwYWRkaW5nOiAwIDhweDtcbiAgZm9udC1zaXplOiAxMHB4O1xuXG4gIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkVG9vbHRpcENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiA4cHg7XG4gIHdpZHRoOiAxNTBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXG4gIGRpdiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB9XG5gO1xuXG5jb25zdCBOVU1CRVJfVkFMVUVTX0lOX1RPT0xUSVAgPSAxMDtcblxuY29uc3QgQ2F0ZWdvcmljYWxTZWxlY3RvckNvbnRleHQgPSBSZWFjdC5jcmVhdGVDb250ZXh0KHtcbiAgb25TZWxlY3RSZXN0OiAoKSA9PiBudWxsLFxuICBvblJlc2V0OiAoKSA9PiBudWxsXG59KTtcblxuLy8gQ2F0ZWdvcmljYWwgdmFsdWVzIGRyb3Bkb3dubGlzdDpcbi8vIGV4dGVuZGluZyBEcm9wZG93bkxpc3QgYW5kIGFkZGluZyAnU2VsZWN0IHRoZSBSZXN0JyBhbmQgJ1Jlc2V0JyBidXR0b25zXG5jbGFzcyBNb2RpZmllZERyb3Bkb3duTGlzdCBleHRlbmRzIERyb3Bkb3duTGlzdCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8Q2F0ZWdvcmljYWxTZWxlY3RvckNvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgICAge2NvbnRleHQgPT4gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPFN0eWxlZERyb3Bkb3duSGVhZGVyPlxuICAgICAgICAgICAgICAgIDxCdXR0b24gbGluayBzaXplPVwic21hbFwiIG9uQ2xpY2s9e2NvbnRleHQub25TZWxlY3RSZXN0fT5cbiAgICAgICAgICAgICAgICAgIFNlbGVjdCB0aGUgUmVzdFxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxCdXR0b24gbGluayBzaXplPVwic21hbFwiIG9uQ2xpY2s9e2NvbnRleHQub25SZXNldH0+XG4gICAgICAgICAgICAgICAgICBSZXNldFxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICA8L1N0eWxlZERyb3Bkb3duSGVhZGVyPlxuICAgICAgICAgICAgICA8RGl2aWRlckxpbmUgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duTGlzdCB7Li4udGhpcy5wcm9wc30gLz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvQ2F0ZWdvcmljYWxTZWxlY3RvckNvbnRleHQuQ29uc3VtZXI+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIENhdGVnb3JpY2FsU2VsZWN0b3JQcm9wcyA9IHtcbiAgaW5kZXg6IG51bWJlcjtcbiAgc2VsZWN0ZWRWYWx1ZXM6IChzdHJpbmcgfCBudW1iZXIgfCBudWxsKVtdO1xuICBhbGxWYWx1ZXM6IHN0cmluZ1tdIHwgbnVtYmVyW107XG4gIGFkZENvbG9yTWFwVmFsdWU/OiAodjogKG51bWJlciB8IHN0cmluZyB8IG51bGwpW10sIGk6IG51bWJlcikgPT4gdm9pZDtcbiAgcmVtb3ZlQ29sb3JNYXBWYWx1ZT86ICh2OiBudW1iZXIgfCBzdHJpbmcsIGk6IG51bWJlcikgPT4gdm9pZDtcbiAgcmVzZXRDb2xvck1hcFZhbHVlPzogKGk6IG51bWJlcikgPT4gdm9pZDtcbiAgc2VsZWN0UmVzdENvbG9yTWFwVmFsdWU/OiAoaTogbnVtYmVyKSA9PiB2b2lkO1xuICBlZGl0YWJsZT86IGJvb2xlYW47XG59O1xuXG4vLyBDYXRlZ29yaWNhbCB2YWx1ZXMgc2VsZWN0b3IgZm9yIGVkaXRpbmcgY2F0ZWdvcmljYWwgdmFsdWVzXG5leHBvcnQgY29uc3QgQ2F0ZWdvcmljYWxTZWxlY3RvcjogUmVhY3QuRkM8Q2F0ZWdvcmljYWxTZWxlY3RvclByb3BzPiA9ICh7XG4gIGluZGV4LFxuICBzZWxlY3RlZFZhbHVlcyxcbiAgYWxsVmFsdWVzLFxuICBhZGRDb2xvck1hcFZhbHVlLFxuICByZW1vdmVDb2xvck1hcFZhbHVlLFxuICByZXNldENvbG9yTWFwVmFsdWUsXG4gIHNlbGVjdFJlc3RDb2xvck1hcFZhbHVlLFxuICBlZGl0YWJsZSA9IHRydWVcbn06IENhdGVnb3JpY2FsU2VsZWN0b3JQcm9wcykgPT4ge1xuICBjb25zdCBbc2hvd1R5cGVhaGVhZCwgc2V0U2hvd1R5cGVhaGVhZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3Qgb25PcHRpb25TZWxlY3RlZCA9IHVzZUNhbGxiYWNrKFxuICAgIHZhbHVlID0+IHtcbiAgICAgIGNvbnN0IHByZXZpb3VzU2VsZWN0ZWQgPSB0b0FycmF5KHNlbGVjdGVkVmFsdWVzKTtcbiAgICAgIGNvbnN0IGl0ZW1zID0gdW5pcShwcmV2aW91c1NlbGVjdGVkLmNvbmNhdCh0b0FycmF5KHZhbHVlKSkpO1xuICAgICAgYWRkQ29sb3JNYXBWYWx1ZT8uKGl0ZW1zLCBpbmRleCk7XG4gICAgfSxcbiAgICBbc2VsZWN0ZWRWYWx1ZXMsIGluZGV4LCBhZGRDb2xvck1hcFZhbHVlXVxuICApO1xuXG4gIGNvbnN0IG9uT3BlbkRyb3Bkb3duID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFNob3dUeXBlYWhlYWQodHJ1ZSk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBvbkNsb3NlRHJvcGRvd24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0U2hvd1R5cGVhaGVhZChmYWxzZSk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBvblJlbW92ZUl0ZW0gPSB1c2VDYWxsYmFjayhcbiAgICB2YWx1ZSA9PiB7XG4gICAgICByZW1vdmVDb2xvck1hcFZhbHVlPy4odmFsdWUsIGluZGV4KTtcbiAgICB9LFxuICAgIFtpbmRleCwgcmVtb3ZlQ29sb3JNYXBWYWx1ZV1cbiAgKTtcblxuICBjb25zdCBvblJlc2V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlc2V0Q29sb3JNYXBWYWx1ZT8uKGluZGV4KTtcbiAgICBzZXRTaG93VHlwZWFoZWFkKGZhbHNlKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSwgW3Jlc2V0Q29sb3JNYXBWYWx1ZSwgaW5kZXhdKTtcblxuICBjb25zdCBvblNlbGVjdFJlc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2VsZWN0UmVzdENvbG9yTWFwVmFsdWU/LihpbmRleCk7XG4gICAgc2V0U2hvd1R5cGVhaGVhZChmYWxzZSk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0sIFtzZWxlY3RSZXN0Q29sb3JNYXBWYWx1ZSwgaW5kZXhdKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDYXRlZ29yaWNhbFZhbHVlUGlja2VyV3JhcHBlcj5cbiAgICAgIHtlZGl0YWJsZSAmJiA8QWRkIGhlaWdodD1cIjEycHhcIiBvbkNsaWNrPXtvbk9wZW5Ecm9wZG93bn0gLz59XG4gICAgICA8U3R5bGVkQ2F0ZWdvcmljYWxWYWx1ZVBpY2tlclxuICAgICAgICBub0JvcmRlcj17c2VsZWN0ZWRWYWx1ZXMubGVuZ3RoID09PSAwIHx8ICFlZGl0YWJsZX1cbiAgICAgICAgb25DbGljaz17b25PcGVuRHJvcGRvd259XG4gICAgICAgIGRhdGEtdGlwXG4gICAgICAgIGRhdGEtZm9yPXtgY2F0ZWdvcnktdmFsdWVzLSR7aW5kZXh9YH1cbiAgICAgID5cbiAgICAgICAge3NlbGVjdGVkVmFsdWVzLmxlbmd0aCA9PT0gMFxuICAgICAgICAgID8gJ0FkZCBWYWx1ZSdcbiAgICAgICAgICA6IHNlbGVjdGVkVmFsdWVzLmxlbmd0aCA9PT0gMVxuICAgICAgICAgID8gc2VsZWN0ZWRWYWx1ZXNbMF1cbiAgICAgICAgICA6IGAke3NlbGVjdGVkVmFsdWVzLmxlbmd0aH0gc2VsZWN0ZWRgfVxuICAgICAgICB7c2VsZWN0ZWRWYWx1ZXMubGVuZ3RoID4gMSAmJiAoXG4gICAgICAgICAgPFRvb2x0aXAgaWQ9e2BjYXRlZ29yeS12YWx1ZXMtJHtpbmRleH1gfSBwbGFjZT1cInRvcFwiIGludGVyYWN0aXZlPXt0cnVlfT5cbiAgICAgICAgICAgIDxTdHlsZWRUb29sdGlwQ29udGVudD5cbiAgICAgICAgICAgICAge3NlbGVjdGVkVmFsdWVzLnNsaWNlKDAsIE5VTUJFUl9WQUxVRVNfSU5fVE9PTFRJUCkubWFwKCh2YWx1ZSwgaSkgPT4gKFxuICAgICAgICAgICAgICAgIDxkaXYga2V5PXtpfT57dmFsdWV9PC9kaXY+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICB7c2VsZWN0ZWRWYWx1ZXMubGVuZ3RoID4gTlVNQkVSX1ZBTFVFU19JTl9UT09MVElQICYmIDxkaXY+Li4uPC9kaXY+fVxuICAgICAgICAgICAgPC9TdHlsZWRUb29sdGlwQ29udGVudD5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZENhdGVnb3JpY2FsVmFsdWVQaWNrZXI+XG4gICAgICB7ZWRpdGFibGUgJiYgKFxuICAgICAgICA8UG9ydGFsZWQgbGVmdD17MH0gdG9wPXswfSBpc09wZW5lZD17c2hvd1R5cGVhaGVhZH0gb25DbG9zZT17b25DbG9zZURyb3Bkb3dufT5cbiAgICAgICAgICB7c2VsZWN0ZWRWYWx1ZXMubGVuZ3RoID4gMSAmJiAoXG4gICAgICAgICAgICA8U2VsZWN0ZWRWYWx1ZXNXcmFwcGVyIHdpZHRoPXsyNTB9IGhlaWdodD17MjAwfT5cbiAgICAgICAgICAgICAgPENoaWNrbGV0ZWRJbnB1dFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J2N1c3RvbS1wYWxldHRlLWNoaWNrbGV0ZWQtaW5wdXQnfVxuICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e3NlbGVjdGVkVmFsdWVzfVxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXsnJ31cbiAgICAgICAgICAgICAgICByZW1vdmVJdGVtPXtvblJlbW92ZUl0ZW19XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gbnVsbH1cbiAgICAgICAgICAgICAgICBDdXN0b21DaGlja2xldENvbXBvbmVudD17bnVsbH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvU2VsZWN0ZWRWYWx1ZXNXcmFwcGVyPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPERyb3Bkb3duVmFsdWVzV3JhcHBlciB3aWR0aD17MjUwfT5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3twb3NpdGlvbjogJ3JlbGF0aXZlJ319PlxuICAgICAgICAgICAgICA8Q2F0ZWdvcmljYWxTZWxlY3RvckNvbnRleHQuUHJvdmlkZXJcbiAgICAgICAgICAgICAgICB2YWx1ZT17e1xuICAgICAgICAgICAgICAgICAgb25SZXNldCxcbiAgICAgICAgICAgICAgICAgIG9uU2VsZWN0UmVzdFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8VHlwZWFoZWFkXG4gICAgICAgICAgICAgICAgICBjdXN0b21DbGFzc2VzPXt7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdHM6ICdsaXN0LXNlbGVjdG9yJyxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQ6ICd0eXBlYWhlYWRfX2lucHV0JyxcbiAgICAgICAgICAgICAgICAgICAgbGlzdEl0ZW06ICdsaXN0X19pdGVtJyxcbiAgICAgICAgICAgICAgICAgICAgbGlzdEFuY2hvcjogJ2xpc3RfX2l0ZW1fX2FuY2hvcidcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBvcHRpb25zPXthbGxWYWx1ZXN9XG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17J1NlYXJjaCd9XG4gICAgICAgICAgICAgICAgICBvbk9wdGlvblNlbGVjdGVkPXtvbk9wdGlvblNlbGVjdGVkfVxuICAgICAgICAgICAgICAgICAgY3VzdG9tTGlzdENvbXBvbmVudD17TW9kaWZpZWREcm9wZG93bkxpc3R9XG4gICAgICAgICAgICAgICAgICBjdXN0b21MaXN0SXRlbUNvbXBvbmVudD17TGlzdEl0ZW19XG4gICAgICAgICAgICAgICAgICBzZWFyY2hhYmxlPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgc2hvd09wdGlvbnNXaGVuRW1wdHlcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbXM9e3NlbGVjdGVkVmFsdWVzfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvQ2F0ZWdvcmljYWxTZWxlY3RvckNvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L0Ryb3Bkb3duVmFsdWVzV3JhcHBlcj5cbiAgICAgICAgPC9Qb3J0YWxlZD5cbiAgICAgICl9XG4gICAgPC9TdHlsZWRDYXRlZ29yaWNhbFZhbHVlUGlja2VyV3JhcHBlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCB0eXBlIENhdGVnb3JpY2FsQ3VzdG9tUGFsZXR0ZUlucHV0UHJvcHMgPSB7XG4gIGluZGV4OiBudW1iZXI7XG4gIGlzU29ydGluZzogYm9vbGVhbjtcbiAgY29sb3I6IEhleENvbG9yO1xuICBjb2xvck1hcD86IENvbG9yTWFwIHwgbnVsbDtcbiAgYWRkQ29sb3JNYXBWYWx1ZTogKHY6IChudW1iZXIgfCBzdHJpbmcgfCBudWxsKVtdLCBpOiBudW1iZXIpID0+IHZvaWQ7XG4gIHJlbW92ZUNvbG9yTWFwVmFsdWU6ICh2OiBudW1iZXIgfCBzdHJpbmcsIGk6IG51bWJlcikgPT4gdm9pZDtcbiAgcmVzZXRDb2xvck1hcFZhbHVlOiAoaTogbnVtYmVyKSA9PiB2b2lkO1xuICBzZWxlY3RSZXN0Q29sb3JNYXBWYWx1ZTogKGk6IG51bWJlcikgPT4gdm9pZDtcbiAgYWN0aW9uSWNvbnM/OiBBY3Rpb25JY29ucztcbiAgb25EZWxldGU6IChpbmRleDogbnVtYmVyKSA9PiB2b2lkO1xuICBvbkFkZDogKGluZGV4OiBudW1iZXIpID0+IHZvaWQ7XG4gIG9uVG9nZ2xlU2tldGNoZXI6IChpbmRleDogbnVtYmVyKSA9PiB2b2lkO1xuICBhbGxWYWx1ZXM6IHN0cmluZ1tdIHwgbnVtYmVyW107XG4gIGRpc2FibGVEZWxldGU/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IENhdGVnb3JpY2FsQ3VzdG9tUGFsZXR0ZUlucHV0OiBSZWFjdC5GQzxDYXRlZ29yaWNhbEN1c3RvbVBhbGV0dGVJbnB1dFByb3BzPiA9ICh7XG4gIGluZGV4LFxuICBpc1NvcnRpbmcsXG4gIGNvbG9yLFxuICBjb2xvck1hcCxcbiAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnMsXG4gIG9uRGVsZXRlLFxuICBkaXNhYmxlRGVsZXRlLFxuICBvblRvZ2dsZVNrZXRjaGVyLFxuICBhZGRDb2xvck1hcFZhbHVlLFxuICByZW1vdmVDb2xvck1hcFZhbHVlLFxuICByZXNldENvbG9yTWFwVmFsdWUsXG4gIHNlbGVjdFJlc3RDb2xvck1hcFZhbHVlLFxuICBhbGxWYWx1ZXNcbn06IENhdGVnb3JpY2FsQ3VzdG9tUGFsZXR0ZUlucHV0UHJvcHMpID0+IHtcbiAgY29uc3Qgc2VsZWN0ZWRWYWx1ZXM6IChudW1iZXIgfCBzdHJpbmcgfCBudWxsKVtdID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFjb2xvck1hcCB8fCAhY29sb3JNYXBbaW5kZXhdKSByZXR1cm4gW107XG4gICAgY29uc3QgdmFsdWUgPSBjb2xvck1hcFtpbmRleF1bMF07XG4gICAgY29uc3QgdmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IHZhbHVlICE9PSBudWxsID8gW3ZhbHVlXSA6IFtdO1xuICAgIHJldHVybiB2YWx1ZXM7XG4gIH0sIFtjb2xvck1hcCwgaW5kZXhdKTtcblxuICBjb25zdCBvbkNsaWNrU3d0YWNoID0gdXNlQ2FsbGJhY2soKCkgPT4gb25Ub2dnbGVTa2V0Y2hlcihpbmRleCksIFtvblRvZ2dsZVNrZXRjaGVyLCBpbmRleF0pO1xuICBjb25zdCBvbkNvbG9yRGVsZXRlID0gdXNlQ2FsbGJhY2soKCkgPT4gb25EZWxldGUoaW5kZXgpLCBbb25EZWxldGUsIGluZGV4XSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJdGVtIGluZGV4PXtpbmRleH0gaXNTb3J0aW5nPXtpc1NvcnRpbmd9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tcGFsZXR0ZS1pbnB1dF9fbGVmdFwiPlxuICAgICAgICA8RHJhZ0hhbmRsZSBjbGFzc05hbWU9XCJsYXllcl9fZHJhZy1oYW5kbGVcIj5cbiAgICAgICAgICA8YWN0aW9uSWNvbnMuc29ydCBoZWlnaHQ9XCIyMHB4XCIgLz5cbiAgICAgICAgPC9EcmFnSGFuZGxlPlxuICAgICAgICA8Q29sb3JTd2F0Y2ggY29sb3I9e2NvbG9yfSBvbkNsaWNrPXtvbkNsaWNrU3d0YWNofSAvPlxuICAgICAgICB7Y29sb3JNYXAgJiYgY29sb3JNYXBbaW5kZXhdICYmIChcbiAgICAgICAgICA8Q2F0ZWdvcmljYWxTZWxlY3RvclxuICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZXM9e3NlbGVjdGVkVmFsdWVzfVxuICAgICAgICAgICAgYWxsVmFsdWVzPXthbGxWYWx1ZXN9XG4gICAgICAgICAgICBhZGRDb2xvck1hcFZhbHVlPXthZGRDb2xvck1hcFZhbHVlfVxuICAgICAgICAgICAgcmVtb3ZlQ29sb3JNYXBWYWx1ZT17cmVtb3ZlQ29sb3JNYXBWYWx1ZX1cbiAgICAgICAgICAgIHJlc2V0Q29sb3JNYXBWYWx1ZT17cmVzZXRDb2xvck1hcFZhbHVlfVxuICAgICAgICAgICAgc2VsZWN0UmVzdENvbG9yTWFwVmFsdWU9e3NlbGVjdFJlc3RDb2xvck1hcFZhbHVlfVxuICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY3VzdG9tLXBhbGV0dGUtaW5wdXRfX3JpZ2h0XCI+XG4gICAgICAgIHshZGlzYWJsZURlbGV0ZSA/IChcbiAgICAgICAgICA8RGVsZXRlQ29sb3JTdG9wIG9uQ29sb3JEZWxldGU9e29uQ29sb3JEZWxldGV9IEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLmRlbGV0ZX0gLz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L2Rpdj5cbiAgICA8L1NvcnRhYmxlSXRlbT5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBCb3R0b21BY3Rpb24gPSAoe29uQ2FuY2VsLCBvbkNvbmZpcm19KSA9PiAoXG4gIDxTdHlsZWRCdXR0b25Db250YWluZXI+XG4gICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJjb25maXJtLWFwcGx5X19idXR0b25cIiBzbWFsbCBvbkNsaWNrPXtvbkNvbmZpcm19PlxuICAgICAgQ29uZmlybVxuICAgIDwvQnV0dG9uPlxuICAgIDxCdXR0b24gbGluayBzbWFsbCBvbkNsaWNrPXtvbkNhbmNlbH0+XG4gICAgICBDYW5jZWxcbiAgICA8L0J1dHRvbj5cbiAgPC9TdHlsZWRCdXR0b25Db250YWluZXI+XG4pO1xuXG5jb25zdCBTdHlsZWRDdXN0b21QYWxldHRlID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2N1c3RvbS1wYWxldHRlJ1xufSlgXG4gIG1hcmdpbi10b3A6IDhweDtcbmA7XG5cbmZ1bmN0aW9uIEN1c3RvbVBhbGV0dGVGYWN0b3J5KCk6IFJlYWN0LkZDPEN1c3RvbVBhbGV0dGVQcm9wcz4ge1xuICBjb25zdCBDdXN0b21QYWxldHRlOiBSZWFjdC5GQzxDdXN0b21QYWxldHRlUHJvcHM+ID0gKHtcbiAgICBvcmRpbmFsRG9tYWluLFxuICAgIGN1c3RvbVBhbGV0dGUsXG4gICAgc2V0Q29sb3JQYWxldHRlVUksXG4gICAgc2hvd1NrZXRjaGVyLFxuICAgIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zLFxuICAgIG9uQ2FuY2VsLFxuICAgIG9uQXBwbHlcbiAgfSkgPT4ge1xuICAgIGNvbnN0IFtpc1NvcnRpbmcsIHNldElzU29ydGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3Qge2NvbG9ycywgY29sb3JNYXB9ID0gY3VzdG9tUGFsZXR0ZTtcbiAgICBjb25zdCBjb2xvckJyZWFrcyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBjb2xvck1hcFxuICAgICAgICAgID8gY3VzdG9tUGFsZXR0ZS50eXBlID09PSAnY3VzdG9tJ1xuICAgICAgICAgICAgPyBjb2xvck1hcFRvQ29sb3JCcmVha3MoY29sb3JNYXApXG4gICAgICAgICAgICA6IGNvbG9yTWFwVG9DYXRlZ29yaWNhbENvbG9yQnJlYWtzKGNvbG9yTWFwKVxuICAgICAgICAgIDogbnVsbCxcbiAgICAgIFtjdXN0b21QYWxldHRlLnR5cGUsIGNvbG9yTWFwXVxuICAgICk7XG5cbiAgICBjb25zdCBvblBpY2tlclVwZGF0ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgY29sb3IgPT4ge1xuICAgICAgICBpZiAoY29sb3IgJiYgTnVtYmVyLmlzRmluaXRlKHNob3dTa2V0Y2hlcikpIHtcbiAgICAgICAgICBjb25zdCBuZXdDdXN0b21QYWxldHRlID0gdXBkYXRlQ3VzdG9tUGFsZXR0ZUNvbG9yKFxuICAgICAgICAgICAgY3VzdG9tUGFsZXR0ZSxcbiAgICAgICAgICAgIE51bWJlcihzaG93U2tldGNoZXIpLFxuICAgICAgICAgICAgY29sb3IuaGV4XG4gICAgICAgICAgKTtcbiAgICAgICAgICBzZXRDb2xvclBhbGV0dGVVSSh7XG4gICAgICAgICAgICBjdXN0b21QYWxldHRlOiBuZXdDdXN0b21QYWxldHRlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbY3VzdG9tUGFsZXR0ZSwgc2hvd1NrZXRjaGVyLCBzZXRDb2xvclBhbGV0dGVVSV1cbiAgICApO1xuICAgIGNvbnN0IG9uVG9nZ2xlU2tldGNoZXIgPSB1c2VDYWxsYmFjayhcbiAgICAgIHZhbCA9PiB7XG4gICAgICAgIHNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgICAgICBzaG93U2tldGNoZXI6IHZhbFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBbc2V0Q29sb3JQYWxldHRlVUldXG4gICAgKTtcbiAgICBjb25zdCBvbkRlbGV0ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgaW5kZXggPT4ge1xuICAgICAgICBjb25zdCBuZXdDdXN0b21QYWxldHRlID0gcmVtb3ZlQ3VzdG9tUGFsZXR0ZUNvbG9yKGN1c3RvbVBhbGV0dGUsIGluZGV4KTtcbiAgICAgICAgc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgICAgIGN1c3RvbVBhbGV0dGU6IG5ld0N1c3RvbVBhbGV0dGVcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgW2N1c3RvbVBhbGV0dGUsIHNldENvbG9yUGFsZXR0ZVVJXVxuICAgICk7XG5cbiAgICBjb25zdCBvbkFkZCA9IHVzZUNhbGxiYWNrKFxuICAgICAgaW5kZXggPT4ge1xuICAgICAgICAvLyBhZGQgY29sb3IgYXQgdGhlIGVuZFxuICAgICAgICBjb25zdCBuZXdDdXN0b21QYWxldHRlID0gYWRkQ3VzdG9tUGFsZXR0ZUNvbG9yKGN1c3RvbVBhbGV0dGUsIGluZGV4KTtcbiAgICAgICAgc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgICAgIGN1c3RvbVBhbGV0dGU6IG5ld0N1c3RvbVBhbGV0dGVcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgW2N1c3RvbVBhbGV0dGUsIHNldENvbG9yUGFsZXR0ZVVJXVxuICAgICk7XG5cbiAgICBjb25zdCBvbkFkZENhdGVnb3JpY2FsU3RlcCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIG9uQWRkKGNvbG9ycy5sZW5ndGggLSAxKTtcbiAgICB9LCBbY29sb3JzLmxlbmd0aCwgb25BZGRdKTtcblxuICAgIGNvbnN0IG9uU3dhdGNoQ2xvc2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBvblRvZ2dsZVNrZXRjaGVyKGZhbHNlKTtcbiAgICB9LCBbb25Ub2dnbGVTa2V0Y2hlcl0pO1xuXG4gICAgY29uc3Qgb25Db25maXJtID0gdXNlQ2FsbGJhY2soXG4gICAgICBldmVudCA9PiB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBvbkNhbmNlbCgpO1xuICAgICAgICBvbkFwcGx5KGV2ZW50KTtcbiAgICAgIH0sXG4gICAgICBbb25DYW5jZWwsIG9uQXBwbHldXG4gICAgKTtcblxuICAgIGNvbnN0IG9uU29ydEVuZCA9IHVzZUNhbGxiYWNrKFxuICAgICAgKHtvbGRJbmRleCwgbmV3SW5kZXh9KSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0N1c3RvbVBhbGV0dGUgPSBzb3J0Q3VzdG9tUGFsZXR0ZUNvbG9yKGN1c3RvbVBhbGV0dGUsIG9sZEluZGV4LCBuZXdJbmRleCk7XG4gICAgICAgIHNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgICAgICBjdXN0b21QYWxldHRlOiBuZXdDdXN0b21QYWxldHRlXG4gICAgICAgIH0pO1xuICAgICAgICBzZXRJc1NvcnRpbmcoZmFsc2UpO1xuICAgICAgfSxcbiAgICAgIFtjdXN0b21QYWxldHRlLCBzZXRDb2xvclBhbGV0dGVVSSwgc2V0SXNTb3J0aW5nXVxuICAgICk7XG5cbiAgICBjb25zdCBvblNvcnRTdGFydCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldElzU29ydGluZyh0cnVlKTtcbiAgICB9LCBbc2V0SXNTb3J0aW5nXSk7XG5cbiAgICBjb25zdCBpbnB1dENvbG9ySGV4ID0gdXNlQ2FsbGJhY2soXG4gICAgICAoaW5kZXgsIHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0N1c3RvbVBhbGV0dGUgPSB1cGRhdGVDdXN0b21QYWxldHRlQ29sb3IoY3VzdG9tUGFsZXR0ZSwgaW5kZXgsIHZhbHVlKTtcbiAgICAgICAgLy8gc2V0Q29sb3JzKG5ld0NvbG9ycyk7XG4gICAgICAgIHNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgICAgICBjdXN0b21QYWxldHRlOiBuZXdDdXN0b21QYWxldHRlXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIFtjdXN0b21QYWxldHRlLCBzZXRDb2xvclBhbGV0dGVVSV1cbiAgICApO1xuXG4gICAgY29uc3QgZWRpdENvbG9yTWFwVmFsdWUgPSB1c2VDYWxsYmFjayhcbiAgICAgICh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKCFjdXN0b21QYWxldHRlLmNvbG9yTWFwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld0NvbG9yTWFwID0gY3VzdG9tUGFsZXR0ZS5jb2xvck1hcC5tYXAoXG4gICAgICAgICAgKGNtLCBpKSA9PiAoaSA9PT0gaW5kZXggPyBbdmFsdWUsIGNtWzFdXSA6IGNtKSBhcyBbc3RyaW5nLCBzdHJpbmddXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gc29ydCB0aGUgdXNlciBpbnB1dHMgaW4gY2FzZSB0aGUgYnJlYWsgdmFsdWVzIGFyZSBub3Qgb3JkZXJlZFxuICAgICAgICBjb25zdCBicmVha3MgPSBuZXdDb2xvck1hcFxuICAgICAgICAgIC5tYXAoY20gPT4gY21bMF0gYXMgc3RyaW5nIHwgbnVsbClcbiAgICAgICAgICAuc2xpY2UoMCwgLTEpXG4gICAgICAgICAgLnNvcnQoKGEsIGIpID0+IE51bWJlcihhKSAtIE51bWJlcihiKSlcbiAgICAgICAgICAuY29uY2F0KG51bGwpO1xuICAgICAgICBjb25zdCBzb3J0ZWROZXdDb2xvck1hcDogQ29sb3JNYXAgPSBuZXdDb2xvck1hcC5tYXAoKGNtLCBpKSA9PiBbYnJlYWtzW2ldLCBjbVsxXV0pO1xuXG4gICAgICAgIHNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgICAgICBjdXN0b21QYWxldHRlOiB7XG4gICAgICAgICAgICAuLi5jdXN0b21QYWxldHRlLFxuICAgICAgICAgICAgY29sb3JNYXA6IHNvcnRlZE5ld0NvbG9yTWFwXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBbc2V0Q29sb3JQYWxldHRlVUksIGN1c3RvbVBhbGV0dGVdXG4gICAgKTtcblxuICAgIC8vIHJlbW92ZSBhIHNlbGVjdGVkIGNhdGVnb3J5IGl0ZW0gZnJvbSBhIGNvbG9yIG1hcFxuICAgIGNvbnN0IHJlbW92ZUNhdGVnb3JpY2FsQ29sb3JNYXBWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgIGlmICghY29sb3JNYXApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgICAgIGN1c3RvbVBhbGV0dGU6IHtcbiAgICAgICAgICAgIC4uLmN1c3RvbVBhbGV0dGUsXG4gICAgICAgICAgICBjb2xvck1hcDogcmVtb3ZlQ2F0ZWdvcmljYWxWYWx1ZUZyb21Db2xvck1hcChjb2xvck1hcCwgaXRlbSwgaW5kZXgpXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBbc2V0Q29sb3JQYWxldHRlVUksIGN1c3RvbVBhbGV0dGUsIGNvbG9yTWFwXVxuICAgICk7XG5cbiAgICAvLyBhZGQgc2VsZWN0ZWQgY2F0ZWdvcmljYWwgaXRlbXMgdG8gYSBjb2xvciBtYXBcbiAgICBjb25zdCBhZGRDYXRlZ29yaWNhbENvbG9yTWFwVmFsdWUgPSB1c2VDYWxsYmFjayhcbiAgICAgIChpdGVtcywgaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKCFjb2xvck1hcCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXRDb2xvclBhbGV0dGVVSSh7XG4gICAgICAgICAgY3VzdG9tUGFsZXR0ZToge1xuICAgICAgICAgICAgLi4uY3VzdG9tUGFsZXR0ZSxcbiAgICAgICAgICAgIGNvbG9yTWFwOiBhZGRDYXRlZ29yaWNhbFZhbHVlc1RvQ29sb3JNYXAoY29sb3JNYXAsIGl0ZW1zLCBpbmRleClcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIFtzZXRDb2xvclBhbGV0dGVVSSwgY3VzdG9tUGFsZXR0ZSwgY29sb3JNYXBdXG4gICAgKTtcblxuICAgIC8vIHJlc2V0IGEgY29sb3IgbWFwXG4gICAgY29uc3QgcmVzZXRDYXRlZ29yaWNhbENvbG9yTWFwVmFsdWUgPSB1c2VDYWxsYmFjayhcbiAgICAgIGluZGV4ID0+IHtcbiAgICAgICAgaWYgKCFjb2xvck1hcCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXRDb2xvclBhbGV0dGVVSSh7XG4gICAgICAgICAgY3VzdG9tUGFsZXR0ZToge1xuICAgICAgICAgICAgLi4uY3VzdG9tUGFsZXR0ZSxcbiAgICAgICAgICAgIGNvbG9yTWFwOiByZXNldENhdGVnb3JpY2FsQ29sb3JNYXBCeUluZGV4KGNvbG9yTWFwLCBpbmRleClcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIFtzZXRDb2xvclBhbGV0dGVVSSwgY3VzdG9tUGFsZXR0ZSwgY29sb3JNYXBdXG4gICAgKTtcblxuICAgIC8vIHNlbGVjdCB0aGUgcmVzdCB2YWx1ZXMgZm9yIGEgY29sb3IgbWFwXG4gICAgY29uc3Qgc2VsZWN0UmVzdENhdGVnb3JpY2FsQ29sb3JNYXAgPSB1c2VDYWxsYmFjayhcbiAgICAgIGluZGV4ID0+IHtcbiAgICAgICAgaWYgKCFjb2xvck1hcCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXRDb2xvclBhbGV0dGVVSSh7XG4gICAgICAgICAgY3VzdG9tUGFsZXR0ZToge1xuICAgICAgICAgICAgLi4uY3VzdG9tUGFsZXR0ZSxcbiAgICAgICAgICAgIGNvbG9yTWFwOiBzZWxlY3RSZXN0Q2F0ZWdvcmljYWxDb2xvck1hcEJ5SW5kZXgoY29sb3JNYXAsIGluZGV4LCBvcmRpbmFsRG9tYWluKVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgW3NldENvbG9yUGFsZXR0ZVVJLCBjdXN0b21QYWxldHRlLCBjb2xvck1hcCwgb3JkaW5hbERvbWFpbl1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRDdXN0b21QYWxldHRlPlxuICAgICAgICA8V3JhcHBlZFNvcnRhYmxlQ29udGFpbmVyXG4gICAgICAgICAgY2xhc3NOYW1lPVwiY3VzdG9tLXBhbGV0dGVfX3NvcnRhYmxlLWNvbnRhaW5lclwiXG4gICAgICAgICAgb25Tb3J0RW5kPXtvblNvcnRFbmR9XG4gICAgICAgICAgb25Tb3J0U3RhcnQ9e29uU29ydFN0YXJ0fVxuICAgICAgICAgIGxvY2tBeGlzPVwieVwiXG4gICAgICAgICAgaGVscGVyQ2xhc3M9XCJzb3J0aW5nLWNvbG9yc1wiXG4gICAgICAgICAgdXNlRHJhZ0hhbmRsZVxuICAgICAgICA+XG4gICAgICAgICAge2NvbG9ycy5tYXAoKGNvbG9yLCBpbmRleCkgPT5cbiAgICAgICAgICAgIGN1c3RvbVBhbGV0dGUudHlwZSA9PT0gJ2N1c3RvbScgPyAoXG4gICAgICAgICAgICAgIDxDdXN0b21QYWxldHRlSW5wdXRcbiAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgIGNvbG9yQnJlYWtzPXtjb2xvckJyZWFrc31cbiAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgaXNTb3J0aW5nPXtpc1NvcnRpbmd9XG4gICAgICAgICAgICAgICAgY29sb3I9e2NvbG9yfVxuICAgICAgICAgICAgICAgIGlucHV0Q29sb3JIZXg9e2lucHV0Q29sb3JIZXh9XG4gICAgICAgICAgICAgICAgZGlzYWJsZUFwcGVuZD17Y29sb3JzLmxlbmd0aCA+PSAyMH1cbiAgICAgICAgICAgICAgICBkaXNhYmxlRGVsZXRlPXtjb2xvcnMubGVuZ3RoIDw9IDJ9XG4gICAgICAgICAgICAgICAgYWN0aW9uSWNvbnM9e2FjdGlvbkljb25zfVxuICAgICAgICAgICAgICAgIG9uQWRkPXtvbkFkZH1cbiAgICAgICAgICAgICAgICBvbkRlbGV0ZT17b25EZWxldGV9XG4gICAgICAgICAgICAgICAgb25Ub2dnbGVTa2V0Y2hlcj17b25Ub2dnbGVTa2V0Y2hlcn1cbiAgICAgICAgICAgICAgICBlZGl0Q29sb3JNYXBWYWx1ZT17ZWRpdENvbG9yTWFwVmFsdWV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICBvcmRpbmFsRG9tYWluICYmIChcbiAgICAgICAgICAgICAgICA8Q2F0ZWdvcmljYWxDdXN0b21QYWxldHRlSW5wdXRcbiAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICBjb2xvck1hcD17Y29sb3JNYXB9XG4gICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICBpc1NvcnRpbmc9e2lzU29ydGluZ31cbiAgICAgICAgICAgICAgICAgIGNvbG9yPXtjb2xvcn1cbiAgICAgICAgICAgICAgICAgIGFjdGlvbkljb25zPXthY3Rpb25JY29uc31cbiAgICAgICAgICAgICAgICAgIG9uQWRkPXtvbkFkZH1cbiAgICAgICAgICAgICAgICAgIG9uRGVsZXRlPXtvbkRlbGV0ZX1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVEZWxldGU9e2NvbG9ycy5sZW5ndGggPD0gMn1cbiAgICAgICAgICAgICAgICAgIG9uVG9nZ2xlU2tldGNoZXI9e29uVG9nZ2xlU2tldGNoZXJ9XG4gICAgICAgICAgICAgICAgICBhZGRDb2xvck1hcFZhbHVlPXthZGRDYXRlZ29yaWNhbENvbG9yTWFwVmFsdWV9XG4gICAgICAgICAgICAgICAgICByZW1vdmVDb2xvck1hcFZhbHVlPXtyZW1vdmVDYXRlZ29yaWNhbENvbG9yTWFwVmFsdWV9XG4gICAgICAgICAgICAgICAgICByZXNldENvbG9yTWFwVmFsdWU9e3Jlc2V0Q2F0ZWdvcmljYWxDb2xvck1hcFZhbHVlfVxuICAgICAgICAgICAgICAgICAgc2VsZWN0UmVzdENvbG9yTWFwVmFsdWU9e3NlbGVjdFJlc3RDYXRlZ29yaWNhbENvbG9yTWFwfVxuICAgICAgICAgICAgICAgICAgYWxsVmFsdWVzPXtvcmRpbmFsRG9tYWlufVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICApfVxuICAgICAgICA8L1dyYXBwZWRTb3J0YWJsZUNvbnRhaW5lcj5cbiAgICAgICAge2N1c3RvbVBhbGV0dGUudHlwZSA9PT0gJ2N1c3RvbU9yZGluYWwnICYmIChcbiAgICAgICAgICA8U3R5bGVkQWRkU3RlcENvbnRhaW5lcj5cbiAgICAgICAgICAgIDxBZGRDb2xvclN0b3Agb25Db2xvckFkZD17b25BZGRDYXRlZ29yaWNhbFN0ZXB9IEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLmFkZH0gLz5cbiAgICAgICAgICAgIDxCdXR0b24gbGluayBzaXplPVwic21hbFwiIG9uQ2xpY2s9e29uQWRkQ2F0ZWdvcmljYWxTdGVwfT5cbiAgICAgICAgICAgICAgQWRkIFN0ZXBcbiAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDwvU3R5bGVkQWRkU3RlcENvbnRhaW5lcj5cbiAgICAgICAgKX1cbiAgICAgICAgPERpdmlkZXJMaW5lIC8+XG4gICAgICAgIHsvKiBDYW5jZWwgb3IgQ29uZmlybSBCdXR0b25zICovfVxuICAgICAgICA8Qm90dG9tQWN0aW9uIG9uQ2FuY2VsPXtvbkNhbmNlbH0gb25Db25maXJtPXtvbkNvbmZpcm19IC8+XG4gICAgICAgIDxQb3J0YWxlZCBpc09wZW5lZD17c2hvd1NrZXRjaGVyICE9PSBmYWxzZX0gbGVmdD17MjgwfSB0b3A9ey0zMDB9IG9uQ2xvc2U9e29uU3dhdGNoQ2xvc2V9PlxuICAgICAgICAgIDxDdXN0b21QaWNrZXIgY29sb3I9e2NvbG9yc1tOdW1iZXIoc2hvd1NrZXRjaGVyKV19IG9uQ2hhbmdlPXtvblBpY2tlclVwZGF0ZX0gLz5cbiAgICAgICAgPC9Qb3J0YWxlZD5cbiAgICAgIDwvU3R5bGVkQ3VzdG9tUGFsZXR0ZT5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBDdXN0b21QYWxldHRlO1xufVxuXG5leHBvcnQgZGVmYXVsdCBDdXN0b21QYWxldHRlRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQVNBLElBQUFHLE9BQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLGlCQUFBLEdBQUFKLE9BQUE7QUFPQSxJQUFBSyxpQkFBQSxHQUFBSCx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU0sU0FBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sa0JBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFVBQUEsR0FBQVQsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFTLGdCQUFBLEdBQUFWLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBVSxhQUFBLEdBQUFSLHVCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBVyxZQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxVQUFBLEdBQUFaLE9BQUE7QUFFQSxJQUFBYSxNQUFBLEdBQUFiLE9BQUE7QUFjQSxJQUFBYyxNQUFBLEdBQUFkLE9BQUE7QUFFQSxJQUFBZSxhQUFBLEdBQUFoQixzQkFBQSxDQUFBQyxPQUFBO0FBQTJDLElBQUFnQixlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLGlCQUFBLEVBQUFDLGlCQUFBLEVBL0MzQztBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFuQyx3QkFBQW1DLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsQ0FBQSxTQUFBRyxDQUFBLEdBQUFQLENBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFjLENBQUEsVUFBQUcsQ0FBQSxLQUFBQSxDQUFBLENBQUFWLEdBQUEsSUFBQVUsQ0FBQSxDQUFBQyxHQUFBLElBQUFQLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSixDQUFBLEVBQUFNLENBQUEsRUFBQUcsQ0FBQSxJQUFBVCxDQUFBLENBQUFNLENBQUEsSUFBQWQsQ0FBQSxDQUFBYyxDQUFBLFlBQUFOLENBQUEsY0FBQVIsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQWUsR0FBQSxDQUFBbEIsQ0FBQSxFQUFBUSxDQUFBLEdBQUFBLENBQUE7QUFBQSxTQUFBVyxRQUFBbkIsQ0FBQSxFQUFBRSxDQUFBLFFBQUFDLENBQUEsR0FBQVEsTUFBQSxDQUFBUyxJQUFBLENBQUFwQixDQUFBLE9BQUFXLE1BQUEsQ0FBQVUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBWCxNQUFBLENBQUFVLHFCQUFBLENBQUFyQixDQUFBLEdBQUFFLENBQUEsS0FBQW9CLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFyQixDQUFBLFdBQUFTLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBRSxDQUFBLEVBQUFzQixVQUFBLE9BQUFyQixDQUFBLENBQUFzQixJQUFBLENBQUFDLEtBQUEsQ0FBQXZCLENBQUEsRUFBQW1CLENBQUEsWUFBQW5CLENBQUE7QUFBQSxTQUFBd0IsY0FBQTNCLENBQUEsYUFBQUUsQ0FBQSxNQUFBQSxDQUFBLEdBQUEwQixTQUFBLENBQUFDLE1BQUEsRUFBQTNCLENBQUEsVUFBQUMsQ0FBQSxXQUFBeUIsU0FBQSxDQUFBMUIsQ0FBQSxJQUFBMEIsU0FBQSxDQUFBMUIsQ0FBQSxRQUFBQSxDQUFBLE9BQUFpQixPQUFBLENBQUFSLE1BQUEsQ0FBQVIsQ0FBQSxPQUFBMkIsT0FBQSxXQUFBNUIsQ0FBQSxRQUFBNkIsZ0JBQUEsYUFBQS9CLENBQUEsRUFBQUUsQ0FBQSxFQUFBQyxDQUFBLENBQUFELENBQUEsU0FBQVMsTUFBQSxDQUFBcUIseUJBQUEsR0FBQXJCLE1BQUEsQ0FBQXNCLGdCQUFBLENBQUFqQyxDQUFBLEVBQUFXLE1BQUEsQ0FBQXFCLHlCQUFBLENBQUE3QixDQUFBLEtBQUFnQixPQUFBLENBQUFSLE1BQUEsQ0FBQVIsQ0FBQSxHQUFBMkIsT0FBQSxXQUFBNUIsQ0FBQSxJQUFBUyxNQUFBLENBQUFDLGNBQUEsQ0FBQVosQ0FBQSxFQUFBRSxDQUFBLEVBQUFTLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVYsQ0FBQSxFQUFBRCxDQUFBLGlCQUFBRixDQUFBO0FBQUEsU0FBQWtDLFdBQUEvQixDQUFBLEVBQUFtQixDQUFBLEVBQUF0QixDQUFBLFdBQUFzQixDQUFBLE9BQUFhLGdCQUFBLGFBQUFiLENBQUEsT0FBQWMsMkJBQUEsYUFBQWpDLENBQUEsRUFBQWtDLHlCQUFBLEtBQUFDLE9BQUEsQ0FBQUMsU0FBQSxDQUFBakIsQ0FBQSxFQUFBdEIsQ0FBQSxZQUFBbUMsZ0JBQUEsYUFBQWhDLENBQUEsRUFBQXFDLFdBQUEsSUFBQWxCLENBQUEsQ0FBQUksS0FBQSxDQUFBdkIsQ0FBQSxFQUFBSCxDQUFBO0FBQUEsU0FBQXFDLDBCQUFBLGNBQUFsQyxDQUFBLElBQUFzQyxPQUFBLENBQUFDLFNBQUEsQ0FBQUMsT0FBQSxDQUFBM0IsSUFBQSxDQUFBc0IsT0FBQSxDQUFBQyxTQUFBLENBQUFFLE9BQUEsaUNBQUF0QyxDQUFBLGFBQUFrQyx5QkFBQSxZQUFBQSwwQkFBQSxhQUFBbEMsQ0FBQTtBQXlEQTtBQUNBO0FBQ0E7O0FBa0NBLElBQU15QyxrQkFBa0IsR0FBRztFQUN6QixVQUFRQyxZQUFLO0VBQ2JDLElBQUksRUFBRUMsZUFBUTtFQUNkQyxHQUFHLEVBQUVDO0FBQ1AsQ0FBQztBQUVELElBQU1DLGdCQUFnQixPQUFHQyxxQkFBRyxFQUFBeEUsZUFBQSxLQUFBQSxlQUFBLE9BQUF5RSx1QkFBQSwyR0FFZixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLFdBQVc7QUFBQSxFQUk1QztBQUVNLElBQU1DLGdCQUFnQixHQUFBQyxPQUFBLENBQUFELGdCQUFBLEdBQUdFLDRCQUFNLENBQUNDLEdBQUcsQ0FBQS9FLGdCQUFBLEtBQUFBLGdCQUFBLE9BQUF3RSx1QkFBQSwyaEJBSzdCLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ00sZ0JBQWdCLEdBQUcsQ0FBQztBQUFBLEdBZ0I1QixVQUFBUCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNPLG9CQUFvQjtBQUFBLEdBQzNEWCxnQkFBZ0IsRUFLQSxVQUFBRyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNPLG9CQUFvQjtBQUFBLEdBQzNEWCxnQkFBZ0IsQ0FFckI7QUFFRCxJQUFNWSxnQkFBZ0IsR0FBR0osNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBOUUsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQXVFLHVCQUFBLCtFQUlsQztBQUVELElBQU1XLFlBQVksR0FBR0wsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBN0UsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQXNFLHVCQUFBLDhKQUNwQixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNVLFlBQVk7QUFBQSxHQUc3QixVQUFBWCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNXLGtCQUFrQjtBQUFBLEVBUXJEO0FBRU0sSUFBTUMsV0FBVyxHQUFBVCxPQUFBLENBQUFTLFdBQUEsR0FBR1IsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBNUUsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQXFFLHVCQUFBLHNGQUVmLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ2EscUJBQXFCO0FBQUEsRUFFL0Q7QUFFTSxJQUFNQyxXQUFXLEdBQUFYLE9BQUEsQ0FBQVcsV0FBQSxHQUFHViw0QkFBTSxDQUFDQyxHQUFHLENBQUNVLEtBQUssQ0FBQztFQUMxQ0MsU0FBUyxFQUFFO0FBQ2IsQ0FBQyxDQUFDLENBQUF0RixnQkFBQSxLQUFBQSxnQkFBQSxPQUFBb0UsdUJBQUEsNEtBQ29CLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNrQixLQUFLO0FBQUEsR0FLeEIsVUFBQWxCLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ2tCLFNBQVM7QUFBQSxFQUcvQztBQUVELElBQU1DLHFCQUFxQixHQUFHZiw0QkFBTSxDQUFDQyxHQUFHLENBQUExRSxnQkFBQSxLQUFBQSxnQkFBQSxPQUFBbUUsdUJBQUEsb0dBS3ZDO0FBRUQsSUFBTXNCLHNCQUFzQixHQUFHaEIsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBekUsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQWtFLHVCQUFBLDROQU85QixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxQixVQUFVO0FBQUEsRUFJekM7QUFFRCxJQUFNQyxXQUFXLEdBQUcsSUFBQWxCLDRCQUFNLEVBQUNtQix3QkFBSyxDQUFDLENBQUExRixnQkFBQSxLQUFBQSxnQkFBQSxPQUFBaUUsdUJBQUEscUZBQ3RCLFVBQUFDLEtBQUs7RUFBQSxJQUFBeUIsWUFBQTtFQUFBLFFBQUFBLFlBQUEsR0FBSXpCLEtBQUssQ0FBQzBCLEtBQUssY0FBQUQsWUFBQSxjQUFBQSxZQUFBLEdBQUksTUFBTTtBQUFBLEdBQ3pCLFVBQUF6QixLQUFLO0VBQUEsSUFBQTJCLGdCQUFBO0VBQUEsUUFBQUEsZ0JBQUEsR0FBSTNCLEtBQUssQ0FBQzRCLFNBQVMsY0FBQUQsZ0JBQUEsY0FBQUEsZ0JBQUEsR0FBSSxLQUFLO0FBQUEsR0FDN0IsVUFBQTNCLEtBQUs7RUFBQSxPQUFLQSxLQUFLLENBQUM2QixRQUFRLEdBQUcsTUFBTSxHQUFHLEtBQUs7QUFBQSxDQUFDLENBQzdEO0FBRUQsSUFBTUMsU0FBUyxHQUFHekIsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBdkUsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQWdFLHVCQUFBLGdQQUN4QixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUM4QixLQUFLO0FBQUEsR0FHbkIsVUFBQS9CLEtBQUs7RUFBQSxJQUFBZ0MsYUFBQTtFQUFBLFFBQUFBLGFBQUEsR0FBSWhDLEtBQUssQ0FBQzBCLEtBQUssY0FBQU0sYUFBQSxjQUFBQSxhQUFBLEdBQUksTUFBTTtBQUFBLEdBQ3pCLFVBQUFoQyxLQUFLO0VBQUEsSUFBQWlDLGlCQUFBO0VBQUEsUUFBQUEsaUJBQUEsR0FBSWpDLEtBQUssQ0FBQzRCLFNBQVMsY0FBQUssaUJBQUEsY0FBQUEsaUJBQUEsR0FBSSxLQUFLO0FBQUEsRUFPaEQ7QUFRRCxJQUFNQyxZQUFZLEdBQUcsSUFBQUMsaUNBQWUsRUFBb0IsVUFBQUMsSUFBQTtFQUFBLElBQUVDLFFBQVEsR0FBQUQsSUFBQSxDQUFSQyxRQUFRO0lBQUVDLFNBQVMsR0FBQUYsSUFBQSxDQUFURSxTQUFTO0VBQUEsb0JBQzNFL0gsTUFBQSxZQUFBZ0ksYUFBQSxDQUFDcEMsZ0JBQWdCO0lBQUNjLFNBQVMsRUFBRSxJQUFBdUIsc0JBQVUsRUFBQyxnQ0FBZ0MsRUFBRTtNQUFDQyxPQUFPLEVBQUVIO0lBQVMsQ0FBQztFQUFFLEdBQzdGRCxRQUNlLENBQUM7QUFBQSxDQUNwQixDQUFDO0FBT0Y7QUFDQSxJQUFNSyx3QkFBd0IsR0FBRyxJQUFBQyxtQ0FBaUIsRUFDaEQsVUFBQUMsS0FBQTtFQUFBLElBQUVQLFFBQVEsR0FBQU8sS0FBQSxDQUFSUCxRQUFRO0lBQUVwQixTQUFTLEdBQUEyQixLQUFBLENBQVQzQixTQUFTO0VBQUEsb0JBQU0xRyxNQUFBLFlBQUFnSSxhQUFBO0lBQUt0QixTQUFTLEVBQUVBO0VBQVUsR0FBRW9CLFFBQWMsQ0FBQztBQUFBLENBQ3hFLENBQUM7QUFJTSxJQUFNUSxVQUFVLEdBQUF6QyxPQUFBLENBQUF5QyxVQUFBLEdBQUcsSUFBQUMsZ0NBQWMsRUFBa0IsVUFBQUMsS0FBQTtFQUFBLElBQUU5QixTQUFTLEdBQUE4QixLQUFBLENBQVQ5QixTQUFTO0lBQUVvQixRQUFRLEdBQUFVLEtBQUEsQ0FBUlYsUUFBUTtFQUFBLG9CQUM3RTlILE1BQUEsWUFBQWdJLGFBQUEsQ0FBQzlCLGdCQUFnQjtJQUFDUSxTQUFTLEVBQUVBO0VBQVUsR0FBRW9CLFFBQTJCLENBQUM7QUFBQSxDQUN0RSxDQUFDO0FBV0ssSUFBTVcsaUJBQWlCLEdBQUE1QyxPQUFBLENBQUE0QyxpQkFBQSxHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUFDLEtBQUEsRUFPQTtFQUFBLElBTjVCQyxLQUFLLEdBQUFELEtBQUEsQ0FBTEMsS0FBSztJQUNMQyxRQUFRLEdBQUFGLEtBQUEsQ0FBUkUsUUFBUTtJQUNSQyxFQUFFLEdBQUFILEtBQUEsQ0FBRkcsRUFBRTtJQUNGMUIsS0FBSyxHQUFBdUIsS0FBQSxDQUFMdkIsS0FBSztJQUNMRSxTQUFTLEdBQUFxQixLQUFBLENBQVRyQixTQUFTO0lBQ1R5QixRQUFRLEdBQUFKLEtBQUEsQ0FBUkksUUFBUTtFQUVSLElBQUFDLFNBQUEsR0FBK0IsSUFBQUMsZUFBUSxFQUFDTCxLQUFLLENBQUM7SUFBQU0sVUFBQSxPQUFBQyxlQUFBLGFBQUFILFNBQUE7SUFBdkNJLFVBQVUsR0FBQUYsVUFBQTtJQUFFRyxRQUFRLEdBQUFILFVBQUE7RUFDM0IsSUFBTUksUUFBUSxHQUFHLElBQUFDLGFBQU0sRUFBQyxJQUFJLENBQUM7RUFDN0IsSUFBQUMsZ0JBQVMsRUFBQyxZQUFNO0lBQ2RILFFBQVEsQ0FBQ1QsS0FBSyxDQUFDO0VBQ2pCLENBQUMsRUFBRSxDQUFDQSxLQUFLLENBQUMsQ0FBQztFQUVYLElBQU1hLFNBQVMsR0FBRyxJQUFBQyxrQkFBVyxFQUMzQixVQUFBckgsQ0FBQyxFQUFJO0lBQ0gsUUFBUUEsQ0FBQyxDQUFDc0gsT0FBTztNQUNmLEtBQUtDLG1CQUFRLENBQUNDLFlBQVk7TUFDMUIsS0FBS0QsbUJBQVEsQ0FBQ0UsYUFBYTtRQUN6QmpCLFFBQVEsQ0FBQ08sVUFBVSxDQUFDO1FBQ3BCLElBQUlFLFFBQVEsS0FBSyxJQUFJLEVBQUU7VUFDckI7VUFDQUEsUUFBUSxhQUFSQSxRQUFRLGVBQVJBLFFBQVEsQ0FBRVMsT0FBTyxDQUFDQyxJQUFJLENBQUMsQ0FBQztRQUMxQjtRQUNBO01BQ0Y7UUFDRTtJQUNKO0VBQ0YsQ0FBQyxFQUNELENBQUNuQixRQUFRLEVBQUVPLFVBQVUsQ0FDdkIsQ0FBQztFQUVELElBQU1hLFNBQVMsR0FBRyxJQUFBUCxrQkFBVyxFQUFDLFVBQUFySCxDQUFDO0lBQUEsT0FBSWdILFFBQVEsQ0FBQ2hILENBQUMsQ0FBQzZILE1BQU0sQ0FBQ3RCLEtBQUssQ0FBQztFQUFBLEdBQUUsQ0FBQ1MsUUFBUSxDQUFDLENBQUM7RUFDeEUsSUFBTWMsTUFBTSxHQUFHLElBQUFULGtCQUFXLEVBQUM7SUFBQSxPQUFNYixRQUFRLENBQUNPLFVBQVUsQ0FBQztFQUFBLEdBQUUsQ0FBQ1AsUUFBUSxFQUFFTyxVQUFVLENBQUMsQ0FBQztFQUU5RSxPQUFPTCxRQUFRLGdCQUNiOUksTUFBQSxZQUFBZ0ksYUFBQSxDQUFDaEIsV0FBVztJQUNWbUQsR0FBRyxFQUFFZCxRQUFTO0lBQ2QzQyxTQUFTLEVBQUMsMkJBQTJCO0lBQ3JDaUMsS0FBSyxFQUFFUSxVQUFXO0lBQ2xCUCxRQUFRLEVBQUVvQixTQUFVO0lBQ3BCRSxNQUFNLEVBQUVBLE1BQU87SUFDZlYsU0FBUyxFQUFFQSxTQUFVO0lBQ3JCWCxFQUFFLEVBQUVBLEVBQUc7SUFDUDFCLEtBQUssRUFBRUEsS0FBTTtJQUNiRSxTQUFTLEVBQUVBLFNBQVU7SUFDckIrQyxTQUFTO0VBQUEsQ0FDVixDQUFDLGdCQUVGcEssTUFBQSxZQUFBZ0ksYUFBQSxDQUFDVCxTQUFTO0lBQUNiLFNBQVMsRUFBQyxpQ0FBaUM7SUFBQ1MsS0FBSyxFQUFFQSxLQUFNO0lBQUNFLFNBQVMsRUFBRUE7RUFBVSxHQUN2RnNCLEtBQ1EsQ0FDWjtBQUNILENBQUM7QUFFRCxJQUFNMEIsSUFBSSxHQUFHdkUsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBdEUsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQStELHVCQUFBLGdIQUVHLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ1UsWUFBWTtBQUFBLEVBRzFEO0FBRUQsSUFBTWtFLGdCQUFnQixHQUFHeEUsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBckUsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQThELHVCQUFBLG9IQUtsQztBQUVELElBQU0rRSxtQkFBbUIsR0FBR3pFLDRCQUFNLENBQUNDLEdBQUcsQ0FBQXBFLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUE2RCx1QkFBQSw0Q0FFckM7QUFFTSxJQUFNZ0Ysa0JBQXFELEdBQUEzRSxPQUFBLENBQUEyRSxrQkFBQSxHQUFHLFNBQXhEQSxrQkFBcURBLENBQUFDLEtBQUEsRUFNNUQ7RUFBQSxJQUxKQyxJQUFJLEdBQUFELEtBQUEsQ0FBSkMsSUFBSTtJQUNKQyxNQUFNLEdBQUFGLEtBQUEsQ0FBTkUsTUFBTTtJQUNOQyxLQUFLLEdBQUFILEtBQUEsQ0FBTEcsS0FBSztJQUNMQyxZQUFZLEdBQUFKLEtBQUEsQ0FBWkksWUFBWTtJQUNaL0IsUUFBUSxHQUFBMkIsS0FBQSxDQUFSM0IsUUFBUTtFQUVSLElBQU1nQyxVQUFVLEdBQUcsQ0FBQ0MsTUFBTSxDQUFDQyxRQUFRLENBQUNOLElBQUksQ0FBQ08sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUlMLEtBQUssS0FBSyxDQUFDO0VBQ2xFLElBQU1NLFVBQVUsR0FBRyxDQUFDSCxNQUFNLENBQUNDLFFBQVEsQ0FBQ04sSUFBSSxDQUFDTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSU4sTUFBTTtFQUM3RCxJQUFNUSxZQUFZLEdBQUcsSUFBQTFCLGtCQUFXLEVBQzlCLFVBQUEyQixHQUFHLEVBQUk7SUFDTCxJQUFJdEMsUUFBUSxJQUFJK0IsWUFBWSxFQUFFQSxZQUFZLENBQUNRLFVBQVUsQ0FBQ0QsR0FBRyxDQUFDLEVBQUVSLEtBQUssR0FBRyxDQUFDLENBQUM7RUFDeEUsQ0FBQyxFQUNELENBQUNDLFlBQVksRUFBRUQsS0FBSyxFQUFFOUIsUUFBUSxDQUNoQyxDQUFDO0VBQ0QsSUFBTXdDLGFBQWEsR0FBRyxJQUFBN0Isa0JBQVcsRUFDL0IsVUFBQTJCLEdBQUcsRUFBSTtJQUNMLElBQUl0QyxRQUFRLElBQUkrQixZQUFZLEVBQUVBLFlBQVksQ0FBQ1EsVUFBVSxDQUFDRCxHQUFHLENBQUMsRUFBRVIsS0FBSyxDQUFDO0VBQ3BFLENBQUMsRUFDRCxDQUFDQyxZQUFZLEVBQUVELEtBQUssRUFBRTlCLFFBQVEsQ0FDaEMsQ0FBQztFQUVELG9CQUNFOUksTUFBQSxZQUFBZ0ksYUFBQSxDQUFDc0MsZ0JBQWdCLHFCQUNmdEssTUFBQSxZQUFBZ0ksYUFBQSxDQUFDUyxpQkFBaUI7SUFDaEJFLEtBQUssRUFBRW1DLFVBQVUsR0FBRyxNQUFNLEdBQUdKLElBQUksQ0FBQ08sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDTSxRQUFRLENBQUMsQ0FBRTtJQUN2RDFDLEVBQUUseUJBQUEyQyxNQUFBLENBQXlCWixLQUFLLFVBQVE7SUFDeEN6RCxLQUFLLEVBQUMsTUFBTTtJQUNaRSxTQUFTLEVBQUMsS0FBSztJQUNmeUIsUUFBUSxFQUFFZ0MsVUFBVSxHQUFHLEtBQUssR0FBR2hDLFFBQVM7SUFDeENGLFFBQVEsRUFBRXVDO0VBQWEsQ0FDeEIsQ0FBQyxlQUNGbkwsTUFBQSxZQUFBZ0ksYUFBQSxDQUFDcUMsSUFBSSxNQUFFLENBQUMsZUFDUnJLLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQ1MsaUJBQWlCO0lBQ2hCRSxLQUFLLEVBQUV1QyxVQUFVLEdBQUcsTUFBTSxHQUFHUixJQUFJLENBQUNPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQ00sUUFBUSxDQUFDLENBQUU7SUFDdkQxQyxFQUFFLHlCQUFBMkMsTUFBQSxDQUF5QlosS0FBSyxXQUFTO0lBQ3pDekQsS0FBSyxFQUFDLE1BQU07SUFDWkUsU0FBUyxFQUFDLEtBQUs7SUFDZnVCLFFBQVEsRUFBRTBDLGFBQWM7SUFDeEJ4QyxRQUFRLEVBQUVvQyxVQUFVLEdBQUcsS0FBSyxHQUFHcEM7RUFBUyxDQUN6QyxDQUNlLENBQUM7QUFFdkIsQ0FBQztBQUVNLElBQU0yQyxZQUFZLEdBQUE1RixPQUFBLENBQUE0RixZQUFBLEdBQUcsU0FBZkEsWUFBWUEsQ0FBQUMsS0FBQTtFQUFBLElBQUtDLFVBQVUsR0FBQUQsS0FBQSxDQUFWQyxVQUFVO0lBQUVDLGFBQWEsR0FBQUYsS0FBQSxDQUFiRSxhQUFhO0VBQUEsb0JBQ3JENUwsTUFBQSxZQUFBZ0ksYUFBQSxDQUFDN0IsWUFBWTtJQUFDMEYsT0FBTyxFQUFFRixVQUFXO0lBQUNqRixTQUFTLEVBQUM7RUFBVSxnQkFDckQxRyxNQUFBLFlBQUFnSSxhQUFBLENBQUM0RCxhQUFhO0lBQUNFLE1BQU0sRUFBQztFQUFNLENBQUUsQ0FDbEIsQ0FBQztBQUFBLENBQ2hCO0FBRU0sSUFBTUMsZUFBZSxHQUFBbEcsT0FBQSxDQUFBa0csZUFBQSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFBQyxLQUFBO0VBQUEsSUFBS0MsYUFBYSxHQUFBRCxLQUFBLENBQWJDLGFBQWE7SUFBRUwsYUFBYSxHQUFBSSxLQUFBLENBQWJKLGFBQWE7RUFBQSxvQkFDM0Q1TCxNQUFBLFlBQUFnSSxhQUFBLENBQUM3QixZQUFZO0lBQUMwRixPQUFPLEVBQUVJLGFBQWM7SUFBQ3ZGLFNBQVMsRUFBQztFQUFVLGdCQUN4RDFHLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQzRELGFBQWE7SUFBQ0UsTUFBTSxFQUFDO0VBQU0sQ0FBRSxDQUNsQixDQUFDO0FBQUEsQ0FDaEI7QUFFTSxJQUFNSSxrQkFBcUQsR0FBQXJHLE9BQUEsQ0FBQXFHLGtCQUFBLEdBQUcsU0FBeERBLGtCQUFxREEsQ0FBQUMsS0FBQSxFQWE1RDtFQUFBLElBWkp2QixLQUFLLEdBQUF1QixLQUFBLENBQUx2QixLQUFLO0lBQ0w3QyxTQUFTLEdBQUFvRSxLQUFBLENBQVRwRSxTQUFTO0lBQ1RwQixLQUFLLEdBQUF3RixLQUFBLENBQUx4RixLQUFLO0lBQ0x5RixXQUFXLEdBQUFELEtBQUEsQ0FBWEMsV0FBVztJQUNYQyxhQUFhLEdBQUFGLEtBQUEsQ0FBYkUsYUFBYTtJQUNiQyxpQkFBaUIsR0FBQUgsS0FBQSxDQUFqQkcsaUJBQWlCO0lBQUFDLGlCQUFBLEdBQUFKLEtBQUEsQ0FDakJLLFdBQVc7SUFBWEEsV0FBVyxHQUFBRCxpQkFBQSxjQUFHdkgsa0JBQWtCLEdBQUF1SCxpQkFBQTtJQUNoQ0UsYUFBYSxHQUFBTixLQUFBLENBQWJNLGFBQWE7SUFDYkMsYUFBYSxHQUFBUCxLQUFBLENBQWJPLGFBQWE7SUFDYkMsUUFBUSxHQUFBUixLQUFBLENBQVJRLFFBQVE7SUFDUkMsS0FBSyxHQUFBVCxLQUFBLENBQUxTLEtBQUs7SUFDTEMsZ0JBQWdCLEdBQUFWLEtBQUEsQ0FBaEJVLGdCQUFnQjtFQUVoQixJQUFNQyxhQUFhLEdBQUcsSUFBQXJELGtCQUFXLEVBQUM7SUFBQSxPQUFNb0QsZ0JBQWdCLENBQUNqQyxLQUFLLENBQUM7RUFBQSxHQUFFLENBQUNpQyxnQkFBZ0IsRUFBRWpDLEtBQUssQ0FBQyxDQUFDO0VBQzNGLElBQU1tQyxZQUFZLEdBQUcsSUFBQXRELGtCQUFXLEVBQUMsVUFBQXVELENBQUM7SUFBQSxPQUFJWCxhQUFhLENBQUN6QixLQUFLLEVBQUVvQyxDQUFDLENBQUM7RUFBQSxHQUFFLENBQUNYLGFBQWEsRUFBRXpCLEtBQUssQ0FBQyxDQUFDO0VBQ3RGLElBQU1xQixhQUFhLEdBQUcsSUFBQXhDLGtCQUFXLEVBQUM7SUFBQSxPQUFNa0QsUUFBUSxDQUFDL0IsS0FBSyxDQUFDO0VBQUEsR0FBRSxDQUFDK0IsUUFBUSxFQUFFL0IsS0FBSyxDQUFDLENBQUM7RUFDM0UsSUFBTWUsVUFBVSxHQUFHLElBQUFsQyxrQkFBVyxFQUFDO0lBQUEsT0FBTW1ELEtBQUssQ0FBQ2hDLEtBQUssQ0FBQztFQUFBLEdBQUUsQ0FBQ2dDLEtBQUssRUFBRWhDLEtBQUssQ0FBQyxDQUFDO0VBQ2xFLElBQU1xQyxZQUFZLEdBQUcsQ0FBQ2IsV0FBVztFQUVqQyxvQkFDRXBNLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQ0wsWUFBWTtJQUFDaUQsS0FBSyxFQUFFQSxLQUFNO0lBQUM3QyxTQUFTLEVBQUVBO0VBQVUsZ0JBQy9DL0gsTUFBQSxZQUFBZ0ksYUFBQTtJQUFLdEIsU0FBUyxFQUFDO0VBQTRCLGdCQUN6QzFHLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQ00sVUFBVTtJQUFDNUIsU0FBUyxFQUFDO0VBQW9CLGdCQUN4QzFHLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQ3dFLFdBQVcsQ0FBQ3RILElBQUk7SUFBQzRHLE1BQU0sRUFBQztFQUFNLENBQUUsQ0FDdkIsQ0FBQyxlQUNiOUwsTUFBQSxZQUFBZ0ksYUFBQSxDQUFDeEIsV0FBVztJQUFDRyxLQUFLLEVBQUVBLEtBQU07SUFBQ2tGLE9BQU8sRUFBRWlCO0VBQWMsQ0FBRSxDQUFDLEVBQ3BERyxZQUFZLGdCQUNYak4sTUFBQSxZQUFBZ0ksYUFBQSxDQUFDdUMsbUJBQW1CLHFCQUNsQnZLLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQ1MsaUJBQWlCO0lBQ2hCRSxLQUFLLEVBQUVoQyxLQUFLLENBQUN1RyxXQUFXLENBQUMsQ0FBRTtJQUMzQnRFLFFBQVEsRUFBRW1FLFlBQWE7SUFDdkJsRSxFQUFFLHVCQUFBMkMsTUFBQSxDQUF1QlosS0FBSyxDQUFHO0lBQ2pDOUIsUUFBUTtJQUNSekIsU0FBUyxFQUFDLE1BQU07SUFDaEJGLEtBQUssRUFBQztFQUFNLENBQ2IsQ0FDa0IsQ0FBQyxHQUNwQixJQUFJLEVBQ1AsSUFBQWdHLDJCQUFvQixFQUFDZixXQUFXLENBQUMsZ0JBQ2hDcE0sTUFBQSxZQUFBZ0ksYUFBQSxDQUFDd0Msa0JBQWtCO0lBQ2pCRSxJQUFJLEVBQUUwQixXQUFXLENBQUN4QixLQUFLLENBQUU7SUFDekJELE1BQU0sRUFBRUMsS0FBSyxLQUFLd0IsV0FBVyxDQUFDbkksTUFBTSxHQUFHLENBQUU7SUFDekMyRyxLQUFLLEVBQUVBLEtBQU07SUFDYkMsWUFBWSxFQUFFeUIsaUJBQWtCO0lBQ2hDeEQsUUFBUTtFQUFBLENBQ1QsQ0FBQyxHQUNBLElBQ0QsQ0FBQyxlQUNOOUksTUFBQSxZQUFBZ0ksYUFBQTtJQUFLdEIsU0FBUyxFQUFDO0VBQTZCLEdBQ3pDLENBQUMrRixhQUFhLGdCQUNiek0sTUFBQSxZQUFBZ0ksYUFBQSxDQUFDeUQsWUFBWTtJQUFDRSxVQUFVLEVBQUVBLFVBQVc7SUFBQ0MsYUFBYSxFQUFFWSxXQUFXLENBQUNwSDtFQUFJLENBQUUsQ0FBQyxHQUN0RSxJQUFJLEVBQ1AsQ0FBQ3NILGFBQWEsZ0JBQ2IxTSxNQUFBLFlBQUFnSSxhQUFBLENBQUMrRCxlQUFlO0lBQUNFLGFBQWEsRUFBRUEsYUFBYztJQUFDTCxhQUFhLEVBQUVZLFdBQVc7RUFBUSxDQUFFLENBQUMsR0FDbEYsSUFDRCxDQUNPLENBQUM7QUFFbkIsQ0FBQztBQUVELElBQU1ZLG1DQUFtQyxHQUFHdEgsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFDVSxLQUFLLENBQUM7RUFDM0RDLFNBQVMsRUFBRTtBQUNiLENBQUMsQ0FBQyxDQUFBOUUsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQTRELHVCQUFBLGdNQUVTLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3FCLFVBQVU7QUFBQSxFQU96QztBQUdELElBQU1zRyw0QkFBNEIsR0FBR3ZILDRCQUFNLENBQUNDLEdBQUcsQ0FBQWxFLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUEyRCx1QkFBQSw0TUFHNUIsVUFBQUMsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQzZILFFBQVEsR0FBRyxFQUFFLEdBQUcsWUFBWTtBQUFBLENBQUMsQ0FNL0Q7QUFHRCxJQUFNQyxxQkFBcUIsR0FBR3pILDRCQUFNLENBQUNDLEdBQUcsQ0FBQWpFLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUEwRCx1QkFBQSxxR0FJM0IsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDTSxnQkFBZ0I7QUFBQSxHQUN2QyxVQUFBUCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDMEIsS0FBSztBQUFBLEVBQzlCO0FBR0QsSUFBTXFHLHFCQUFxQixHQUFHLElBQUExSCw0QkFBTSxFQUFDeUgscUJBQXFCLENBQUMsQ0FBQXhMLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUF5RCx1QkFBQSxnTEFDaEQsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQzBCLEtBQUs7QUFBQSxHQUNmLFVBQUExQixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDcUcsTUFBTTtBQUFBLEdBS2IsVUFBQXJHLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ00sZ0JBQWdCO0FBQUEsRUFFNUQ7QUFFRCxJQUFNeUgsb0JBQW9CLEdBQUczSCw0QkFBTSxDQUFDQyxHQUFHLENBQUEvRCxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBd0QsdUJBQUEseU9BSTVCLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3FCLFVBQVU7QUFBQSxFQVN6QztBQUVELElBQU0yRyxvQkFBb0IsR0FBRzVILDRCQUFNLENBQUNDLEdBQUcsQ0FBQTlELGlCQUFBLEtBQUFBLGlCQUFBLE9BQUF1RCx1QkFBQSxpT0FXdEM7QUFFRCxJQUFNbUksd0JBQXdCLEdBQUcsRUFBRTtBQUVuQyxJQUFNQywwQkFBMEIsZ0JBQUdDLGlCQUFLLENBQUNDLGFBQWEsQ0FBQztFQUNyREMsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUE7SUFBQSxPQUFRLElBQUk7RUFBQTtFQUN4QkMsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7SUFBQSxPQUFRLElBQUk7RUFBQTtBQUNyQixDQUFDLENBQUM7O0FBRUY7QUFDQTtBQUFBLElBQ01DLG9CQUFvQiwwQkFBQUMsYUFBQTtFQUN4QixTQUFBRCxxQkFBWXhJLEtBQUssRUFBRTtJQUFBLElBQUEwSSxnQkFBQSxtQkFBQUYsb0JBQUE7SUFBQSxPQUFBM0osVUFBQSxPQUFBMkosb0JBQUEsR0FDWHhJLEtBQUs7RUFDYjtFQUFDLElBQUEySSxVQUFBLGFBQUFILG9CQUFBLEVBQUFDLGFBQUE7RUFBQSxXQUFBRyxhQUFBLGFBQUFKLG9CQUFBO0lBQUFLLEdBQUE7SUFBQTNGLEtBQUEsRUFFRCxTQUFBNEYsTUFBTUEsQ0FBQSxFQUFHO01BQUEsSUFBQUMsS0FBQTtNQUNQLG9CQUNFeE8sTUFBQSxZQUFBZ0ksYUFBQSxDQUFBaEksTUFBQSxZQUFBeU8sUUFBQSxxQkFDRXpPLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQzRGLDBCQUEwQixDQUFDYyxRQUFRLFFBQ2pDLFVBQUFDLE9BQU87UUFBQSxvQkFDTjNPLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQWhJLE1BQUEsWUFBQXlPLFFBQUEscUJBQ0V6TyxNQUFBLFlBQUFnSSxhQUFBLENBQUN5RixvQkFBb0IscUJBQ25Cek4sTUFBQSxZQUFBZ0ksYUFBQSxDQUFDMUgsa0JBQUEsQ0FBQXNPLE1BQU07VUFBQ0MsSUFBSTtVQUFDQyxJQUFJLEVBQUMsTUFBTTtVQUFDakQsT0FBTyxFQUFFOEMsT0FBTyxDQUFDWjtRQUFhLEdBQUMsaUJBRWhELENBQUMsZUFDVC9OLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQzFILGtCQUFBLENBQUFzTyxNQUFNO1VBQUNDLElBQUk7VUFBQ0MsSUFBSSxFQUFDLE1BQU07VUFBQ2pELE9BQU8sRUFBRThDLE9BQU8sQ0FBQ1g7UUFBUSxHQUFDLE9BRTNDLENBQ1ksQ0FBQyxlQUN2QmhPLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQzFCLFdBQVcsTUFBRSxDQUFDLGVBQ2Z0RyxNQUFBLFlBQUFnSSxhQUFBLENBQUN2SCxhQUFBLFdBQVksRUFBSytOLEtBQUksQ0FBQy9JLEtBQVEsQ0FDL0IsQ0FBQztNQUFBLENBRThCLENBQ3JDLENBQUM7SUFFUDtFQUFDO0FBQUEsRUExQmdDc0osd0JBQVk7QUF3Qy9DO0FBQ08sSUFBTUMsbUJBQXVELEdBQUFuSixPQUFBLENBQUFtSixtQkFBQSxHQUFHLFNBQTFEQSxtQkFBdURBLENBQUFDLEtBQUEsRUFTcEM7RUFBQSxJQVI5QnJFLEtBQUssR0FBQXFFLEtBQUEsQ0FBTHJFLEtBQUs7SUFDTHNFLGNBQWMsR0FBQUQsS0FBQSxDQUFkQyxjQUFjO0lBQ2RDLFNBQVMsR0FBQUYsS0FBQSxDQUFURSxTQUFTO0lBQ1RDLGdCQUFnQixHQUFBSCxLQUFBLENBQWhCRyxnQkFBZ0I7SUFDaEJDLG1CQUFtQixHQUFBSixLQUFBLENBQW5CSSxtQkFBbUI7SUFDbkJDLGtCQUFrQixHQUFBTCxLQUFBLENBQWxCSyxrQkFBa0I7SUFDbEJDLHVCQUF1QixHQUFBTixLQUFBLENBQXZCTSx1QkFBdUI7SUFBQUMsY0FBQSxHQUFBUCxLQUFBLENBQ3ZCbkcsUUFBUTtJQUFSQSxRQUFRLEdBQUEwRyxjQUFBLGNBQUcsSUFBSSxHQUFBQSxjQUFBO0VBRWYsSUFBQUMsVUFBQSxHQUEwQyxJQUFBekcsZUFBUSxFQUFDLEtBQUssQ0FBQztJQUFBMEcsVUFBQSxPQUFBeEcsZUFBQSxhQUFBdUcsVUFBQTtJQUFsREUsYUFBYSxHQUFBRCxVQUFBO0lBQUVFLGdCQUFnQixHQUFBRixVQUFBO0VBRXRDLElBQU1HLGdCQUFnQixHQUFHLElBQUFwRyxrQkFBVyxFQUNsQyxVQUFBZCxLQUFLLEVBQUk7SUFDUCxJQUFNbUgsZ0JBQWdCLEdBQUcsSUFBQUMsb0JBQU8sRUFBQ2IsY0FBYyxDQUFDO0lBQ2hELElBQU1jLEtBQUssR0FBRyxJQUFBQyxrQkFBSSxFQUFDSCxnQkFBZ0IsQ0FBQ3RFLE1BQU0sQ0FBQyxJQUFBdUUsb0JBQU8sRUFBQ3BILEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDM0R5RyxnQkFBZ0IsYUFBaEJBLGdCQUFnQixlQUFoQkEsZ0JBQWdCLENBQUdZLEtBQUssRUFBRXBGLEtBQUssQ0FBQztFQUNsQyxDQUFDLEVBQ0QsQ0FBQ3NFLGNBQWMsRUFBRXRFLEtBQUssRUFBRXdFLGdCQUFnQixDQUMxQyxDQUFDO0VBRUQsSUFBTWMsY0FBYyxHQUFHLElBQUF6RyxrQkFBVyxFQUFDLFlBQU07SUFDdkNtRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7RUFDeEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLElBQU1PLGVBQWUsR0FBRyxJQUFBMUcsa0JBQVcsRUFBQyxZQUFNO0lBQ3hDbUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0VBQ3pCLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNUSxZQUFZLEdBQUcsSUFBQTNHLGtCQUFXLEVBQzlCLFVBQUFkLEtBQUssRUFBSTtJQUNQMEcsbUJBQW1CLGFBQW5CQSxtQkFBbUIsZUFBbkJBLG1CQUFtQixDQUFHMUcsS0FBSyxFQUFFaUMsS0FBSyxDQUFDO0VBQ3JDLENBQUMsRUFDRCxDQUFDQSxLQUFLLEVBQUV5RSxtQkFBbUIsQ0FDN0IsQ0FBQztFQUVELElBQU1yQixPQUFPLEdBQUcsSUFBQXZFLGtCQUFXLEVBQUMsWUFBTTtJQUNoQzZGLGtCQUFrQixhQUFsQkEsa0JBQWtCLGVBQWxCQSxrQkFBa0IsQ0FBRzFFLEtBQUssQ0FBQztJQUMzQmdGLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUN2QixPQUFPLElBQUk7RUFDYixDQUFDLEVBQUUsQ0FBQ04sa0JBQWtCLEVBQUUxRSxLQUFLLENBQUMsQ0FBQztFQUUvQixJQUFNbUQsWUFBWSxHQUFHLElBQUF0RSxrQkFBVyxFQUFDLFlBQU07SUFDckM4Rix1QkFBdUIsYUFBdkJBLHVCQUF1QixlQUF2QkEsdUJBQXVCLENBQUczRSxLQUFLLENBQUM7SUFDaENnRixnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFDdkIsT0FBTyxJQUFJO0VBQ2IsQ0FBQyxFQUFFLENBQUNMLHVCQUF1QixFQUFFM0UsS0FBSyxDQUFDLENBQUM7RUFFcEMsb0JBQ0U1SyxNQUFBLFlBQUFnSSxhQUFBLENBQUNvRixtQ0FBbUMsUUFDakN0RSxRQUFRLGlCQUFJOUksTUFBQSxZQUFBZ0ksYUFBQSxDQUFDbkgsTUFBQSxDQUFBd0UsR0FBRztJQUFDeUcsTUFBTSxFQUFDLE1BQU07SUFBQ0QsT0FBTyxFQUFFcUU7RUFBZSxDQUFFLENBQUMsZUFDM0RsUSxNQUFBLFlBQUFnSSxhQUFBLENBQUNxRiw0QkFBNEI7SUFDM0JDLFFBQVEsRUFBRTRCLGNBQWMsQ0FBQ2pMLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQzZFLFFBQVM7SUFDbkQrQyxPQUFPLEVBQUVxRSxjQUFlO0lBQ3hCLGdCQUFRO0lBQ1IsK0JBQUExRSxNQUFBLENBQTZCWixLQUFLO0VBQUcsR0FFcENzRSxjQUFjLENBQUNqTCxNQUFNLEtBQUssQ0FBQyxHQUN4QixXQUFXLEdBQ1hpTCxjQUFjLENBQUNqTCxNQUFNLEtBQUssQ0FBQyxHQUMzQmlMLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBQTFELE1BQUEsQ0FDZDBELGNBQWMsQ0FBQ2pMLE1BQU0sY0FBVyxFQUN0Q2lMLGNBQWMsQ0FBQ2pMLE1BQU0sR0FBRyxDQUFDLGlCQUN4QmpFLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQzFILGtCQUFBLENBQUErUCxPQUFPO0lBQUN4SCxFQUFFLHFCQUFBMkMsTUFBQSxDQUFxQlosS0FBSyxDQUFHO0lBQUMwRixLQUFLLEVBQUMsS0FBSztJQUFDQyxXQUFXLEVBQUU7RUFBSyxnQkFDckV2USxNQUFBLFlBQUFnSSxhQUFBLENBQUMwRixvQkFBb0IsUUFDbEJ3QixjQUFjLENBQUNzQixLQUFLLENBQUMsQ0FBQyxFQUFFN0Msd0JBQXdCLENBQUMsQ0FBQzhDLEdBQUcsQ0FBQyxVQUFDOUgsS0FBSyxFQUFFdEYsQ0FBQztJQUFBLG9CQUM5RHJELE1BQUEsWUFBQWdJLGFBQUE7TUFBS3NHLEdBQUcsRUFBRWpMO0lBQUUsR0FBRXNGLEtBQVcsQ0FBQztFQUFBLENBQzNCLENBQUMsRUFDRHVHLGNBQWMsQ0FBQ2pMLE1BQU0sR0FBRzBKLHdCQUF3QixpQkFBSTNOLE1BQUEsWUFBQWdJLGFBQUEsY0FBSyxLQUFRLENBQzlDLENBQ2YsQ0FFaUIsQ0FBQyxFQUM5QmMsUUFBUSxpQkFDUDlJLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQzNILFNBQUEsV0FBUTtJQUFDcVEsSUFBSSxFQUFFLENBQUU7SUFBQ0MsR0FBRyxFQUFFLENBQUU7SUFBQ0MsUUFBUSxFQUFFakIsYUFBYztJQUFDa0IsT0FBTyxFQUFFVjtFQUFnQixHQUMxRWpCLGNBQWMsQ0FBQ2pMLE1BQU0sR0FBRyxDQUFDLGlCQUN4QmpFLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQ3dGLHFCQUFxQjtJQUFDckcsS0FBSyxFQUFFLEdBQUk7SUFBQzJFLE1BQU0sRUFBRTtFQUFJLGdCQUM3QzlMLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQ3hILGdCQUFBLFdBQWU7SUFDZGtHLFNBQVMsRUFBRSxpQ0FBa0M7SUFDN0NvSyxhQUFhLEVBQUU1QixjQUFlO0lBQzlCNkIsV0FBVyxFQUFFLEVBQUc7SUFDaEJDLFVBQVUsRUFBRVosWUFBYTtJQUN6QnZFLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO01BQUEsT0FBUSxJQUFJO0lBQUEsQ0FBQztJQUNwQm9GLHVCQUF1QixFQUFFO0VBQUssQ0FDL0IsQ0FDb0IsQ0FDeEIsZUFDRGpSLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQ3VGLHFCQUFxQjtJQUFDcEcsS0FBSyxFQUFFO0VBQUksZ0JBQ2hDbkgsTUFBQSxZQUFBZ0ksYUFBQTtJQUFLa0osS0FBSyxFQUFFO01BQUNDLFFBQVEsRUFBRTtJQUFVO0VBQUUsZ0JBQ2pDblIsTUFBQSxZQUFBZ0ksYUFBQSxDQUFDNEYsMEJBQTBCLENBQUN3RCxRQUFRO0lBQ2xDekksS0FBSyxFQUFFO01BQ0xxRixPQUFPLEVBQVBBLE9BQU87TUFDUEQsWUFBWSxFQUFaQTtJQUNGO0VBQUUsZ0JBRUYvTixNQUFBLFlBQUFnSSxhQUFBLENBQUN6SCxVQUFBLFdBQVM7SUFDUjhRLGFBQWEsRUFBRTtNQUNiQyxPQUFPLEVBQUUsZUFBZTtNQUN4QjlKLEtBQUssRUFBRSxrQkFBa0I7TUFDekIrSixRQUFRLEVBQUUsWUFBWTtNQUN0QkMsVUFBVSxFQUFFO0lBQ2QsQ0FBRTtJQUNGQyxPQUFPLEVBQUV0QyxTQUFVO0lBQ25CNEIsV0FBVyxFQUFFLFFBQVM7SUFDdEJsQixnQkFBZ0IsRUFBRUEsZ0JBQWlCO0lBQ25DNkIsbUJBQW1CLEVBQUV6RCxvQkFBcUI7SUFDMUMwRCx1QkFBdUIsRUFBRUMsc0JBQVM7SUFDbENDLFVBQVUsRUFBRSxJQUFLO0lBQ2pCQyxvQkFBb0I7SUFDcEJoQixhQUFhLEVBQUU1QjtFQUFlLENBQy9CLENBQ2tDLENBQ2xDLENBQ2dCLENBQ2YsQ0FFdUIsQ0FBQztBQUUxQyxDQUFDO0FBbUJNLElBQU02Qyw2QkFBMkUsR0FBQWxNLE9BQUEsQ0FBQWtNLDZCQUFBLEdBQUcsU0FBOUVBLDZCQUEyRUEsQ0FBQUMsTUFBQSxFQWM5QztFQUFBLElBYnhDcEgsS0FBSyxHQUFBb0gsTUFBQSxDQUFMcEgsS0FBSztJQUNMN0MsU0FBUyxHQUFBaUssTUFBQSxDQUFUakssU0FBUztJQUNUcEIsS0FBSyxHQUFBcUwsTUFBQSxDQUFMckwsS0FBSztJQUNMc0wsUUFBUSxHQUFBRCxNQUFBLENBQVJDLFFBQVE7SUFBQUMsa0JBQUEsR0FBQUYsTUFBQSxDQUNSeEYsV0FBVztJQUFYQSxXQUFXLEdBQUEwRixrQkFBQSxjQUFHbE4sa0JBQWtCLEdBQUFrTixrQkFBQTtJQUNoQ3ZGLFFBQVEsR0FBQXFGLE1BQUEsQ0FBUnJGLFFBQVE7SUFDUkQsYUFBYSxHQUFBc0YsTUFBQSxDQUFidEYsYUFBYTtJQUNiRyxnQkFBZ0IsR0FBQW1GLE1BQUEsQ0FBaEJuRixnQkFBZ0I7SUFDaEJ1QyxnQkFBZ0IsR0FBQTRDLE1BQUEsQ0FBaEI1QyxnQkFBZ0I7SUFDaEJDLG1CQUFtQixHQUFBMkMsTUFBQSxDQUFuQjNDLG1CQUFtQjtJQUNuQkMsa0JBQWtCLEdBQUEwQyxNQUFBLENBQWxCMUMsa0JBQWtCO0lBQ2xCQyx1QkFBdUIsR0FBQXlDLE1BQUEsQ0FBdkJ6Qyx1QkFBdUI7SUFDdkJKLFNBQVMsR0FBQTZDLE1BQUEsQ0FBVDdDLFNBQVM7RUFFVCxJQUFNRCxjQUEwQyxHQUFHLElBQUFpRCxjQUFPLEVBQUMsWUFBTTtJQUMvRCxJQUFJLENBQUNGLFFBQVEsSUFBSSxDQUFDQSxRQUFRLENBQUNySCxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUU7SUFDNUMsSUFBTWpDLEtBQUssR0FBR3NKLFFBQVEsQ0FBQ3JILEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyxJQUFNd0gsTUFBTSxHQUFHQyxLQUFLLENBQUNDLE9BQU8sQ0FBQzNKLEtBQUssQ0FBQyxHQUFHQSxLQUFLLEdBQUdBLEtBQUssS0FBSyxJQUFJLEdBQUcsQ0FBQ0EsS0FBSyxDQUFDLEdBQUcsRUFBRTtJQUMzRSxPQUFPeUosTUFBTTtFQUNmLENBQUMsRUFBRSxDQUFDSCxRQUFRLEVBQUVySCxLQUFLLENBQUMsQ0FBQztFQUVyQixJQUFNa0MsYUFBYSxHQUFHLElBQUFyRCxrQkFBVyxFQUFDO0lBQUEsT0FBTW9ELGdCQUFnQixDQUFDakMsS0FBSyxDQUFDO0VBQUEsR0FBRSxDQUFDaUMsZ0JBQWdCLEVBQUVqQyxLQUFLLENBQUMsQ0FBQztFQUMzRixJQUFNcUIsYUFBYSxHQUFHLElBQUF4QyxrQkFBVyxFQUFDO0lBQUEsT0FBTWtELFFBQVEsQ0FBQy9CLEtBQUssQ0FBQztFQUFBLEdBQUUsQ0FBQytCLFFBQVEsRUFBRS9CLEtBQUssQ0FBQyxDQUFDO0VBRTNFLG9CQUNFNUssTUFBQSxZQUFBZ0ksYUFBQSxDQUFDTCxZQUFZO0lBQUNpRCxLQUFLLEVBQUVBLEtBQU07SUFBQzdDLFNBQVMsRUFBRUE7RUFBVSxnQkFDL0MvSCxNQUFBLFlBQUFnSSxhQUFBO0lBQUt0QixTQUFTLEVBQUM7RUFBNEIsZ0JBQ3pDMUcsTUFBQSxZQUFBZ0ksYUFBQSxDQUFDTSxVQUFVO0lBQUM1QixTQUFTLEVBQUM7RUFBb0IsZ0JBQ3hDMUcsTUFBQSxZQUFBZ0ksYUFBQSxDQUFDd0UsV0FBVyxDQUFDdEgsSUFBSTtJQUFDNEcsTUFBTSxFQUFDO0VBQU0sQ0FBRSxDQUN2QixDQUFDLGVBQ2I5TCxNQUFBLFlBQUFnSSxhQUFBLENBQUN4QixXQUFXO0lBQUNHLEtBQUssRUFBRUEsS0FBTTtJQUFDa0YsT0FBTyxFQUFFaUI7RUFBYyxDQUFFLENBQUMsRUFDcERtRixRQUFRLElBQUlBLFFBQVEsQ0FBQ3JILEtBQUssQ0FBQyxpQkFDMUI1SyxNQUFBLFlBQUFnSSxhQUFBLENBQUNnSCxtQkFBbUI7SUFDbEJFLGNBQWMsRUFBRUEsY0FBZTtJQUMvQkMsU0FBUyxFQUFFQSxTQUFVO0lBQ3JCQyxnQkFBZ0IsRUFBRUEsZ0JBQWlCO0lBQ25DQyxtQkFBbUIsRUFBRUEsbUJBQW9CO0lBQ3pDQyxrQkFBa0IsRUFBRUEsa0JBQW1CO0lBQ3ZDQyx1QkFBdUIsRUFBRUEsdUJBQXdCO0lBQ2pEM0UsS0FBSyxFQUFFQTtFQUFNLENBQ2QsQ0FFQSxDQUFDLGVBQ041SyxNQUFBLFlBQUFnSSxhQUFBO0lBQUt0QixTQUFTLEVBQUM7RUFBNkIsR0FDekMsQ0FBQ2dHLGFBQWEsZ0JBQ2IxTSxNQUFBLFlBQUFnSSxhQUFBLENBQUMrRCxlQUFlO0lBQUNFLGFBQWEsRUFBRUEsYUFBYztJQUFDTCxhQUFhLEVBQUVZLFdBQVc7RUFBUSxDQUFFLENBQUMsR0FDbEYsSUFDRCxDQUNPLENBQUM7QUFFbkIsQ0FBQztBQUVNLElBQU0rRixZQUFZLEdBQUExTSxPQUFBLENBQUEwTSxZQUFBLEdBQUcsU0FBZkEsWUFBWUEsQ0FBQUMsTUFBQTtFQUFBLElBQUtDLFFBQVEsR0FBQUQsTUFBQSxDQUFSQyxRQUFRO0lBQUVDLFNBQVMsR0FBQUYsTUFBQSxDQUFURSxTQUFTO0VBQUEsb0JBQy9DMVMsTUFBQSxZQUFBZ0ksYUFBQSxDQUFDbkIscUJBQXFCLHFCQUNwQjdHLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQzFILGtCQUFBLENBQUFzTyxNQUFNO0lBQUNsSSxTQUFTLEVBQUMsdUJBQXVCO0lBQUNpTSxLQUFLO0lBQUM5RyxPQUFPLEVBQUU2RztFQUFVLEdBQUMsU0FFNUQsQ0FBQyxlQUNUMVMsTUFBQSxZQUFBZ0ksYUFBQSxDQUFDMUgsa0JBQUEsQ0FBQXNPLE1BQU07SUFBQ0MsSUFBSTtJQUFDOEQsS0FBSztJQUFDOUcsT0FBTyxFQUFFNEc7RUFBUyxHQUFDLFFBRTlCLENBQ2EsQ0FBQztBQUFBLENBQ3pCO0FBRUQsSUFBTUcsbUJBQW1CLEdBQUc5TSw0QkFBTSxDQUFDQyxHQUFHLENBQUNVLEtBQUssQ0FBQztFQUMzQ0MsU0FBUyxFQUFFO0FBQ2IsQ0FBQyxDQUFDLENBQUF4RSxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBc0QsdUJBQUEsMENBRUQ7QUFFRCxTQUFTcU4sb0JBQW9CQSxDQUFBLEVBQWlDO0VBQzVELElBQU1DLGFBQTJDLEdBQUcsU0FBOUNBLGFBQTJDQSxDQUFBQyxNQUFBLEVBUTNDO0lBQUEsSUFQSkMsYUFBYSxHQUFBRCxNQUFBLENBQWJDLGFBQWE7TUFDYkMsYUFBYSxHQUFBRixNQUFBLENBQWJFLGFBQWE7TUFDYkMsaUJBQWlCLEdBQUFILE1BQUEsQ0FBakJHLGlCQUFpQjtNQUNqQkMsWUFBWSxHQUFBSixNQUFBLENBQVpJLFlBQVk7TUFBQUMsa0JBQUEsR0FBQUwsTUFBQSxDQUNadkcsV0FBVztNQUFYQSxXQUFXLEdBQUE0RyxrQkFBQSxjQUFHcE8sa0JBQWtCLEdBQUFvTyxrQkFBQTtNQUNoQ1gsUUFBUSxHQUFBTSxNQUFBLENBQVJOLFFBQVE7TUFDUlksT0FBTyxHQUFBTixNQUFBLENBQVBNLE9BQU87SUFFUCxJQUFBQyxVQUFBLEdBQWtDLElBQUF0SyxlQUFRLEVBQUMsS0FBSyxDQUFDO01BQUF1SyxVQUFBLE9BQUFySyxlQUFBLGFBQUFvSyxVQUFBO01BQTFDdkwsU0FBUyxHQUFBd0wsVUFBQTtNQUFFQyxZQUFZLEdBQUFELFVBQUE7SUFDOUIsSUFBT0UsTUFBTSxHQUFjUixhQUFhLENBQWpDUSxNQUFNO01BQUV4QixRQUFRLEdBQUlnQixhQUFhLENBQXpCaEIsUUFBUTtJQUN2QixJQUFNN0YsV0FBVyxHQUFHLElBQUErRixjQUFPLEVBQ3pCO01BQUEsT0FDRUYsUUFBUSxHQUNKZ0IsYUFBYSxDQUFDUyxJQUFJLEtBQUssUUFBUSxHQUM3QixJQUFBQyw0QkFBcUIsRUFBQzFCLFFBQVEsQ0FBQyxHQUMvQixJQUFBMkIsdUNBQWdDLEVBQUMzQixRQUFRLENBQUMsR0FDNUMsSUFBSTtJQUFBLEdBQ1YsQ0FBQ2dCLGFBQWEsQ0FBQ1MsSUFBSSxFQUFFekIsUUFBUSxDQUMvQixDQUFDO0lBRUQsSUFBTTRCLGNBQWMsR0FBRyxJQUFBcEssa0JBQVcsRUFDaEMsVUFBQTlDLEtBQUssRUFBSTtNQUNQLElBQUlBLEtBQUssSUFBSW9FLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDbUksWUFBWSxDQUFDLEVBQUU7UUFDMUMsSUFBTVcsZ0JBQWdCLEdBQUcsSUFBQUMsK0JBQXdCLEVBQy9DZCxhQUFhLEVBQ2JsSSxNQUFNLENBQUNvSSxZQUFZLENBQUMsRUFDcEJ4TSxLQUFLLENBQUNxTixHQUNSLENBQUM7UUFDRGQsaUJBQWlCLENBQUM7VUFDaEJELGFBQWEsRUFBRWE7UUFDakIsQ0FBQyxDQUFDO01BQ0o7SUFDRixDQUFDLEVBQ0QsQ0FBQ2IsYUFBYSxFQUFFRSxZQUFZLEVBQUVELGlCQUFpQixDQUNqRCxDQUFDO0lBQ0QsSUFBTXJHLGdCQUFnQixHQUFHLElBQUFwRCxrQkFBVyxFQUNsQyxVQUFBMkIsR0FBRyxFQUFJO01BQ0w4SCxpQkFBaUIsQ0FBQztRQUNoQkMsWUFBWSxFQUFFL0g7TUFDaEIsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxFQUNELENBQUM4SCxpQkFBaUIsQ0FDcEIsQ0FBQztJQUNELElBQU12RyxRQUFRLEdBQUcsSUFBQWxELGtCQUFXLEVBQzFCLFVBQUFtQixLQUFLLEVBQUk7TUFDUCxJQUFNa0osZ0JBQWdCLEdBQUcsSUFBQUcsK0JBQXdCLEVBQUNoQixhQUFhLEVBQUVySSxLQUFLLENBQUM7TUFDdkVzSSxpQkFBaUIsQ0FBQztRQUNoQkQsYUFBYSxFQUFFYTtNQUNqQixDQUFDLENBQUM7SUFDSixDQUFDLEVBQ0QsQ0FBQ2IsYUFBYSxFQUFFQyxpQkFBaUIsQ0FDbkMsQ0FBQztJQUVELElBQU10RyxLQUFLLEdBQUcsSUFBQW5ELGtCQUFXLEVBQ3ZCLFVBQUFtQixLQUFLLEVBQUk7TUFDUDtNQUNBLElBQU1rSixnQkFBZ0IsR0FBRyxJQUFBSSw0QkFBcUIsRUFBQ2pCLGFBQWEsRUFBRXJJLEtBQUssQ0FBQztNQUNwRXNJLGlCQUFpQixDQUFDO1FBQ2hCRCxhQUFhLEVBQUVhO01BQ2pCLENBQUMsQ0FBQztJQUNKLENBQUMsRUFDRCxDQUFDYixhQUFhLEVBQUVDLGlCQUFpQixDQUNuQyxDQUFDO0lBRUQsSUFBTWlCLG9CQUFvQixHQUFHLElBQUExSyxrQkFBVyxFQUFDLFlBQU07TUFDN0NtRCxLQUFLLENBQUM2RyxNQUFNLENBQUN4UCxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLENBQUMsRUFBRSxDQUFDd1AsTUFBTSxDQUFDeFAsTUFBTSxFQUFFMkksS0FBSyxDQUFDLENBQUM7SUFFMUIsSUFBTXdILGFBQWEsR0FBRyxJQUFBM0ssa0JBQVcsRUFBQyxZQUFNO01BQ3RDb0QsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUMsRUFBRSxDQUFDQSxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXRCLElBQU02RixTQUFTLEdBQUcsSUFBQWpKLGtCQUFXLEVBQzNCLFVBQUE0SyxLQUFLLEVBQUk7TUFDUEEsS0FBSyxDQUFDQyxlQUFlLENBQUMsQ0FBQztNQUN2QkQsS0FBSyxDQUFDRSxjQUFjLENBQUMsQ0FBQztNQUN0QjlCLFFBQVEsQ0FBQyxDQUFDO01BQ1ZZLE9BQU8sQ0FBQ2dCLEtBQUssQ0FBQztJQUNoQixDQUFDLEVBQ0QsQ0FBQzVCLFFBQVEsRUFBRVksT0FBTyxDQUNwQixDQUFDO0lBRUQsSUFBTW1CLFNBQVMsR0FBRyxJQUFBL0ssa0JBQVcsRUFDM0IsVUFBQWdMLE1BQUEsRUFBMEI7TUFBQSxJQUF4QkMsUUFBUSxHQUFBRCxNQUFBLENBQVJDLFFBQVE7UUFBRUMsUUFBUSxHQUFBRixNQUFBLENBQVJFLFFBQVE7TUFDbEIsSUFBTWIsZ0JBQWdCLEdBQUcsSUFBQWMsNkJBQXNCLEVBQUMzQixhQUFhLEVBQUV5QixRQUFRLEVBQUVDLFFBQVEsQ0FBQztNQUNsRnpCLGlCQUFpQixDQUFDO1FBQ2hCRCxhQUFhLEVBQUVhO01BQ2pCLENBQUMsQ0FBQztNQUNGTixZQUFZLENBQUMsS0FBSyxDQUFDO0lBQ3JCLENBQUMsRUFDRCxDQUFDUCxhQUFhLEVBQUVDLGlCQUFpQixFQUFFTSxZQUFZLENBQ2pELENBQUM7SUFFRCxJQUFNcUIsV0FBVyxHQUFHLElBQUFwTCxrQkFBVyxFQUFDLFlBQU07TUFDcEMrSixZQUFZLENBQUMsSUFBSSxDQUFDO0lBQ3BCLENBQUMsRUFBRSxDQUFDQSxZQUFZLENBQUMsQ0FBQztJQUVsQixJQUFNbkgsYUFBYSxHQUFHLElBQUE1QyxrQkFBVyxFQUMvQixVQUFDbUIsS0FBSyxFQUFFakMsS0FBSyxFQUFLO01BQ2hCLElBQU1tTCxnQkFBZ0IsR0FBRyxJQUFBQywrQkFBd0IsRUFBQ2QsYUFBYSxFQUFFckksS0FBSyxFQUFFakMsS0FBSyxDQUFDO01BQzlFO01BQ0F1SyxpQkFBaUIsQ0FBQztRQUNoQkQsYUFBYSxFQUFFYTtNQUNqQixDQUFDLENBQUM7SUFDSixDQUFDLEVBQ0QsQ0FBQ2IsYUFBYSxFQUFFQyxpQkFBaUIsQ0FDbkMsQ0FBQztJQUVELElBQU01RyxpQkFBaUIsR0FBRyxJQUFBN0Msa0JBQVcsRUFDbkMsVUFBQ2QsS0FBSyxFQUFFaUMsS0FBSyxFQUFLO01BQ2hCLElBQUksQ0FBQ3FJLGFBQWEsQ0FBQ2hCLFFBQVEsRUFBRTtRQUMzQjtNQUNGO01BQ0EsSUFBTTZDLFdBQVcsR0FBRzdCLGFBQWEsQ0FBQ2hCLFFBQVEsQ0FBQ3hCLEdBQUcsQ0FDNUMsVUFBQ3NFLEVBQUUsRUFBRTFSLENBQUM7UUFBQSxPQUFNQSxDQUFDLEtBQUt1SCxLQUFLLEdBQUcsQ0FBQ2pDLEtBQUssRUFBRW9NLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHQSxFQUFFO01BQUEsQ0FDL0MsQ0FBQzs7TUFFRDtNQUNBLElBQU1DLE1BQU0sR0FBR0YsV0FBVyxDQUN2QnJFLEdBQUcsQ0FBQyxVQUFBc0UsRUFBRTtRQUFBLE9BQUlBLEVBQUUsQ0FBQyxDQUFDLENBQUM7TUFBQSxDQUFpQixDQUFDLENBQ2pDdkUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUNadEwsSUFBSSxDQUFDLFVBQUNwQyxDQUFDLEVBQUVtUyxDQUFDO1FBQUEsT0FBS2xLLE1BQU0sQ0FBQ2pJLENBQUMsQ0FBQyxHQUFHaUksTUFBTSxDQUFDa0ssQ0FBQyxDQUFDO01BQUEsRUFBQyxDQUNyQ3pKLE1BQU0sQ0FBQyxJQUFJLENBQUM7TUFDZixJQUFNMEosaUJBQTJCLEdBQUdKLFdBQVcsQ0FBQ3JFLEdBQUcsQ0FBQyxVQUFDc0UsRUFBRSxFQUFFMVIsQ0FBQztRQUFBLE9BQUssQ0FBQzJSLE1BQU0sQ0FBQzNSLENBQUMsQ0FBQyxFQUFFMFIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO01BQUEsRUFBQztNQUVsRjdCLGlCQUFpQixDQUFDO1FBQ2hCRCxhQUFhLEVBQUFsUCxhQUFBLENBQUFBLGFBQUEsS0FDUmtQLGFBQWE7VUFDaEJoQixRQUFRLEVBQUVpRDtRQUFpQjtNQUUvQixDQUFDLENBQUM7SUFDSixDQUFDLEVBQ0QsQ0FBQ2hDLGlCQUFpQixFQUFFRCxhQUFhLENBQ25DLENBQUM7O0lBRUQ7SUFDQSxJQUFNa0MsOEJBQThCLEdBQUcsSUFBQTFMLGtCQUFXLEVBQ2hELFVBQUNpQixJQUFJLEVBQUVFLEtBQUssRUFBSztNQUNmLElBQUksQ0FBQ3FILFFBQVEsRUFBRTtRQUNiO01BQ0Y7TUFDQWlCLGlCQUFpQixDQUFDO1FBQ2hCRCxhQUFhLEVBQUFsUCxhQUFBLENBQUFBLGFBQUEsS0FDUmtQLGFBQWE7VUFDaEJoQixRQUFRLEVBQUUsSUFBQW1ELHlDQUFrQyxFQUFDbkQsUUFBUSxFQUFFdkgsSUFBSSxFQUFFRSxLQUFLO1FBQUM7TUFFdkUsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxFQUNELENBQUNzSSxpQkFBaUIsRUFBRUQsYUFBYSxFQUFFaEIsUUFBUSxDQUM3QyxDQUFDOztJQUVEO0lBQ0EsSUFBTW9ELDJCQUEyQixHQUFHLElBQUE1TCxrQkFBVyxFQUM3QyxVQUFDdUcsS0FBSyxFQUFFcEYsS0FBSyxFQUFLO01BQ2hCLElBQUksQ0FBQ3FILFFBQVEsRUFBRTtRQUNiO01BQ0Y7TUFDQWlCLGlCQUFpQixDQUFDO1FBQ2hCRCxhQUFhLEVBQUFsUCxhQUFBLENBQUFBLGFBQUEsS0FDUmtQLGFBQWE7VUFDaEJoQixRQUFRLEVBQUUsSUFBQXFELHFDQUE4QixFQUFDckQsUUFBUSxFQUFFakMsS0FBSyxFQUFFcEYsS0FBSztRQUFDO01BRXBFLENBQUMsQ0FBQztJQUNKLENBQUMsRUFDRCxDQUFDc0ksaUJBQWlCLEVBQUVELGFBQWEsRUFBRWhCLFFBQVEsQ0FDN0MsQ0FBQzs7SUFFRDtJQUNBLElBQU1zRCw2QkFBNkIsR0FBRyxJQUFBOUwsa0JBQVcsRUFDL0MsVUFBQW1CLEtBQUssRUFBSTtNQUNQLElBQUksQ0FBQ3FILFFBQVEsRUFBRTtRQUNiO01BQ0Y7TUFDQWlCLGlCQUFpQixDQUFDO1FBQ2hCRCxhQUFhLEVBQUFsUCxhQUFBLENBQUFBLGFBQUEsS0FDUmtQLGFBQWE7VUFDaEJoQixRQUFRLEVBQUUsSUFBQXVELHNDQUErQixFQUFDdkQsUUFBUSxFQUFFckgsS0FBSztRQUFDO01BRTlELENBQUMsQ0FBQztJQUNKLENBQUMsRUFDRCxDQUFDc0ksaUJBQWlCLEVBQUVELGFBQWEsRUFBRWhCLFFBQVEsQ0FDN0MsQ0FBQzs7SUFFRDtJQUNBLElBQU13RCw2QkFBNkIsR0FBRyxJQUFBaE0sa0JBQVcsRUFDL0MsVUFBQW1CLEtBQUssRUFBSTtNQUNQLElBQUksQ0FBQ3FILFFBQVEsRUFBRTtRQUNiO01BQ0Y7TUFDQWlCLGlCQUFpQixDQUFDO1FBQ2hCRCxhQUFhLEVBQUFsUCxhQUFBLENBQUFBLGFBQUEsS0FDUmtQLGFBQWE7VUFDaEJoQixRQUFRLEVBQUUsSUFBQXlELDJDQUFvQyxFQUFDekQsUUFBUSxFQUFFckgsS0FBSyxFQUFFb0ksYUFBYTtRQUFDO01BRWxGLENBQUMsQ0FBQztJQUNKLENBQUMsRUFDRCxDQUFDRSxpQkFBaUIsRUFBRUQsYUFBYSxFQUFFaEIsUUFBUSxFQUFFZSxhQUFhLENBQzVELENBQUM7SUFFRCxvQkFDRWhULE1BQUEsWUFBQWdJLGFBQUEsQ0FBQzRLLG1CQUFtQixxQkFDbEI1UyxNQUFBLFlBQUFnSSxhQUFBLENBQUNHLHdCQUF3QjtNQUN2QnpCLFNBQVMsRUFBQyxvQ0FBb0M7TUFDOUM4TixTQUFTLEVBQUVBLFNBQVU7TUFDckJLLFdBQVcsRUFBRUEsV0FBWTtNQUN6QmMsUUFBUSxFQUFDLEdBQUc7TUFDWkMsV0FBVyxFQUFDLGdCQUFnQjtNQUM1QkMsYUFBYTtJQUFBLEdBRVpwQyxNQUFNLENBQUNoRCxHQUFHLENBQUMsVUFBQzlKLEtBQUssRUFBRWlFLEtBQUs7TUFBQSxPQUN2QnFJLGFBQWEsQ0FBQ1MsSUFBSSxLQUFLLFFBQVEsZ0JBQzdCMVQsTUFBQSxZQUFBZ0ksYUFBQSxDQUFDa0Usa0JBQWtCO1FBQ2pCb0MsR0FBRyxFQUFFMUQsS0FBTTtRQUNYd0IsV0FBVyxFQUFFQSxXQUFZO1FBQ3pCeEIsS0FBSyxFQUFFQSxLQUFNO1FBQ2I3QyxTQUFTLEVBQUVBLFNBQVU7UUFDckJwQixLQUFLLEVBQUVBLEtBQU07UUFDYjBGLGFBQWEsRUFBRUEsYUFBYztRQUM3QkksYUFBYSxFQUFFZ0gsTUFBTSxDQUFDeFAsTUFBTSxJQUFJLEVBQUc7UUFDbkN5SSxhQUFhLEVBQUUrRyxNQUFNLENBQUN4UCxNQUFNLElBQUksQ0FBRTtRQUNsQ3VJLFdBQVcsRUFBRUEsV0FBWTtRQUN6QkksS0FBSyxFQUFFQSxLQUFNO1FBQ2JELFFBQVEsRUFBRUEsUUFBUztRQUNuQkUsZ0JBQWdCLEVBQUVBLGdCQUFpQjtRQUNuQ1AsaUJBQWlCLEVBQUVBO01BQWtCLENBQ3RDLENBQUMsR0FFRjBHLGFBQWEsaUJBQ1hoVCxNQUFBLFlBQUFnSSxhQUFBLENBQUMrSiw2QkFBNkI7UUFDNUJ6RCxHQUFHLEVBQUUxRCxLQUFNO1FBQ1hxSCxRQUFRLEVBQUVBLFFBQVM7UUFDbkJySCxLQUFLLEVBQUVBLEtBQU07UUFDYjdDLFNBQVMsRUFBRUEsU0FBVTtRQUNyQnBCLEtBQUssRUFBRUEsS0FBTTtRQUNiNkYsV0FBVyxFQUFFQSxXQUFZO1FBQ3pCSSxLQUFLLEVBQUVBLEtBQU07UUFDYkQsUUFBUSxFQUFFQSxRQUFTO1FBQ25CRCxhQUFhLEVBQUUrRyxNQUFNLENBQUN4UCxNQUFNLElBQUksQ0FBRTtRQUNsQzRJLGdCQUFnQixFQUFFQSxnQkFBaUI7UUFDbkN1QyxnQkFBZ0IsRUFBRWlHLDJCQUE0QjtRQUM5Q2hHLG1CQUFtQixFQUFFOEYsOEJBQStCO1FBQ3BEN0Ysa0JBQWtCLEVBQUVpRyw2QkFBOEI7UUFDbERoRyx1QkFBdUIsRUFBRWtHLDZCQUE4QjtRQUN2RHRHLFNBQVMsRUFBRTZEO01BQWMsQ0FDMUIsQ0FFSjtJQUFBLENBQ0gsQ0FDd0IsQ0FBQyxFQUMxQkMsYUFBYSxDQUFDUyxJQUFJLEtBQUssZUFBZSxpQkFDckMxVCxNQUFBLFlBQUFnSSxhQUFBLENBQUNsQixzQkFBc0IscUJBQ3JCOUcsTUFBQSxZQUFBZ0ksYUFBQSxDQUFDeUQsWUFBWTtNQUFDRSxVQUFVLEVBQUV3SSxvQkFBcUI7TUFBQ3ZJLGFBQWEsRUFBRVksV0FBVyxDQUFDcEg7SUFBSSxDQUFFLENBQUMsZUFDbEZwRixNQUFBLFlBQUFnSSxhQUFBLENBQUMxSCxrQkFBQSxDQUFBc08sTUFBTTtNQUFDQyxJQUFJO01BQUNDLElBQUksRUFBQyxNQUFNO01BQUNqRCxPQUFPLEVBQUVzSTtJQUFxQixHQUFDLFVBRWhELENBQ2MsQ0FDekIsZUFDRG5VLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQzFCLFdBQVcsTUFBRSxDQUFDLGVBRWZ0RyxNQUFBLFlBQUFnSSxhQUFBLENBQUN1SyxZQUFZO01BQUNFLFFBQVEsRUFBRUEsUUFBUztNQUFDQyxTQUFTLEVBQUVBO0lBQVUsQ0FBRSxDQUFDLGVBQzFEMVMsTUFBQSxZQUFBZ0ksYUFBQSxDQUFDM0gsU0FBQSxXQUFRO01BQUN1USxRQUFRLEVBQUV1QyxZQUFZLEtBQUssS0FBTTtNQUFDekMsSUFBSSxFQUFFLEdBQUk7TUFBQ0MsR0FBRyxFQUFFLENBQUMsR0FBSTtNQUFDRSxPQUFPLEVBQUV1RDtJQUFjLGdCQUN2RnBVLE1BQUEsWUFBQWdJLGFBQUEsQ0FBQ2xILGFBQUEsV0FBWTtNQUFDNkYsS0FBSyxFQUFFOE0sTUFBTSxDQUFDMUksTUFBTSxDQUFDb0ksWUFBWSxDQUFDLENBQUU7TUFBQ3ZLLFFBQVEsRUFBRWlMO0lBQWUsQ0FBRSxDQUN0RSxDQUNTLENBQUM7RUFFMUIsQ0FBQztFQUVELE9BQU9mLGFBQWE7QUFDdEI7QUFBQyxJQUFBZ0QsUUFBQSxHQUFBalEsT0FBQSxjQUVjZ04sb0JBQW9CIiwiaWdub3JlTGlzdCI6W119
|
|
733
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfbG9kYXNoIiwiX3JlYWN0U29ydGFibGVIb2MiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9wb3J0YWxlZCIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl90eXBlYWhlYWQiLCJfY2hpY2tsZXRlZElucHV0IiwiX2Ryb3Bkb3duTGlzdCIsIl9jb21tb25VdGlscyIsIl9jb25zdGFudHMiLCJfdXRpbHMiLCJfaWNvbnMiLCJfY3VzdG9tUGlja2VyIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl90ZW1wbGF0ZU9iamVjdDkiLCJfdGVtcGxhdGVPYmplY3QxMCIsIl90ZW1wbGF0ZU9iamVjdDExIiwiX3RlbXBsYXRlT2JqZWN0MTIiLCJfdGVtcGxhdGVPYmplY3QxMyIsIl90ZW1wbGF0ZU9iamVjdDE0IiwiX3RlbXBsYXRlT2JqZWN0MTUiLCJfdGVtcGxhdGVPYmplY3QxNiIsIl90ZW1wbGF0ZU9iamVjdDE3IiwiX3RlbXBsYXRlT2JqZWN0MTgiLCJfdGVtcGxhdGVPYmplY3QxOSIsIl90ZW1wbGF0ZU9iamVjdDIwIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJkZWZhdWx0QWN0aW9uSWNvbnMiLCJUcmFzaCIsInNvcnQiLCJWZXJ0RG90cyIsImFkZCIsIkFkZCIsImRyYWdIYW5kbGVBY3RpdmUiLCJjc3MiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJ0ZXh0Q29sb3JIbCIsIkNvbG9yUGFsZXR0ZUl0ZW0iLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2IiwiZHJvcGRvd25XcmFwcGVyWiIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwiU3R5bGVkRHJhZ0hhbmRsZSIsIlN0eWxlZEFjdGlvbiIsInN1YnRleHRDb2xvciIsInN1YnRleHRDb2xvckFjdGl2ZSIsIkRpdmlkZXJMaW5lIiwiZHJvcGRvd25MaXN0Qm9yZGVyVG9wIiwiQ29sb3JTd2F0Y2giLCJhdHRycyIsImNsYXNzTmFtZSIsImNvbG9yIiwiYm94U2hhZG93IiwiU3R5bGVkQnV0dG9uQ29udGFpbmVyIiwiU3R5bGVkQWRkU3RlcENvbnRhaW5lciIsImlucHV0Q29sb3IiLCJTdHlsZWRJbnB1dCIsIklucHV0Iiwid2l0aENvbmZpZyIsInNob3VsZEZvcndhcmRQcm9wIiwiX3Byb3BzJHdpZHRoIiwid2lkdGgiLCJfcHJvcHMkdGV4dEFsaWduIiwidGV4dEFsaWduIiwiZGlzYWJsZWQiLCJJbnB1dFRleHQiLCJpbnB1dCIsIl9wcm9wcyR3aWR0aDIiLCJfcHJvcHMkdGV4dEFsaWduMiIsIlNvcnRhYmxlSXRlbSIsIlNvcnRhYmxlRWxlbWVudCIsIl9yZWYiLCJjaGlsZHJlbiIsImlzU29ydGluZyIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc25hbWVzIiwic29ydGluZyIsIldyYXBwZWRTb3J0YWJsZUNvbnRhaW5lciIsIlNvcnRhYmxlQ29udGFpbmVyIiwiX3JlZjIiLCJEcmFnSGFuZGxlIiwiU29ydGFibGVIYW5kbGUiLCJfcmVmMyIsIkNvbG9yUGFsZXR0ZUlucHV0IiwiX3JlZjQiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwiaWQiLCJlZGl0YWJsZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInN0YXRlVmFsdWUiLCJzZXRWYWx1ZSIsImlucHV0UmVmIiwidXNlUmVmIiwidXNlRWZmZWN0Iiwib25LZXlEb3duIiwidXNlQ2FsbGJhY2siLCJrZXlDb2RlIiwiS2V5RXZlbnQiLCJET01fVktfRU5URVIiLCJET01fVktfUkVUVVJOIiwiY3VycmVudCIsImJsdXIiLCJfb25DaGFuZ2UiLCJ0YXJnZXQiLCJvbkJsdXIiLCJyZWYiLCJzZWNvbmRhcnkiLCJEYXNoIiwiU3R5bGVkUmFuZ2VJbnB1dCIsIlN0eWxlZENvbG9ySGV4SW5wdXQiLCJFZGl0YWJsZUNvbG9yUmFuZ2UiLCJfcmVmNSIsIml0ZW0iLCJpc0xhc3QiLCJpbmRleCIsImVkaXRDb2xvck1hcCIsIm5vTWluQm91bmQiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImlucHV0cyIsIm5vTWF4Qm91bmQiLCJvbkNoYW5nZUxlZnQiLCJ2YWwiLCJwYXJzZUZsb2F0Iiwib25DaGFuZ2VSaWdodCIsInRvU3RyaW5nIiwiY29uY2F0IiwiQWRkQ29sb3JTdG9wIiwiX3JlZjYiLCJvbkNvbG9yQWRkIiwiSWNvbkNvbXBvbmVudCIsIm9uQ2xpY2siLCJoZWlnaHQiLCJEZWxldGVDb2xvclN0b3AiLCJfcmVmNyIsIm9uQ29sb3JEZWxldGUiLCJDdXN0b21QYWxldHRlSW5wdXQiLCJfcmVmOCIsImNvbG9yQnJlYWtzIiwiaW5wdXRDb2xvckhleCIsImVkaXRDb2xvck1hcFZhbHVlIiwiX3JlZjgkYWN0aW9uSWNvbnMiLCJhY3Rpb25JY29ucyIsImRpc2FibGVBcHBlbmQiLCJkaXNhYmxlRGVsZXRlIiwib25EZWxldGUiLCJvbkFkZCIsIm9uVG9nZ2xlU2tldGNoZXIiLCJvbkNsaWNrU3d0YWNoIiwib25Db2xvcklucHV0IiwidiIsInNob3dIZXhJbnB1dCIsInRvVXBwZXJDYXNlIiwiaXNOdW1lcmljQ29sb3JCcmVha3MiLCJTdHlsZWRDYXRlZ29yaWNhbFZhbHVlUGlja2VyV3JhcHBlciIsIlN0eWxlZENhdGVnb3JpY2FsVmFsdWVQaWNrZXIiLCJub0JvcmRlciIsIkRyb3Bkb3duVmFsdWVzV3JhcHBlciIsIlNlbGVjdGVkVmFsdWVzV3JhcHBlciIsIlN0eWxlZERyb3Bkb3duSGVhZGVyIiwiU3R5bGVkVG9vbHRpcENvbnRlbnQiLCJOVU1CRVJfVkFMVUVTX0lOX1RPT0xUSVAiLCJDYXRlZ29yaWNhbFNlbGVjdG9yQ29udGV4dCIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsIm9uU2VsZWN0UmVzdCIsIm9uUmVzZXQiLCJNb2RpZmllZERyb3Bkb3duTGlzdCIsIl9Ecm9wZG93bkxpc3QiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJyZW5kZXIiLCJfdGhpcyIsIkZyYWdtZW50IiwiQ29uc3VtZXIiLCJjb250ZXh0IiwiQnV0dG9uIiwibGluayIsInNpemUiLCJEcm9wZG93bkxpc3QiLCJDYXRlZ29yaWNhbFNlbGVjdG9yIiwiX3JlZjkiLCJzZWxlY3RlZFZhbHVlcyIsImFsbFZhbHVlcyIsImFkZENvbG9yTWFwVmFsdWUiLCJyZW1vdmVDb2xvck1hcFZhbHVlIiwicmVzZXRDb2xvck1hcFZhbHVlIiwic2VsZWN0UmVzdENvbG9yTWFwVmFsdWUiLCJfcmVmOSRlZGl0YWJsZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2hvd1R5cGVhaGVhZCIsInNldFNob3dUeXBlYWhlYWQiLCJvbk9wdGlvblNlbGVjdGVkIiwicHJldmlvdXNTZWxlY3RlZCIsInRvQXJyYXkiLCJpdGVtcyIsInVuaXEiLCJvbk9wZW5Ecm9wZG93biIsIm9uQ2xvc2VEcm9wZG93biIsIm9uUmVtb3ZlSXRlbSIsIlRvb2x0aXAiLCJwbGFjZSIsImludGVyYWN0aXZlIiwic2xpY2UiLCJtYXAiLCJsZWZ0IiwidG9wIiwiaXNPcGVuZWQiLCJvbkNsb3NlIiwic2VsZWN0ZWRJdGVtcyIsInBsYWNlaG9sZGVyIiwicmVtb3ZlSXRlbSIsIkN1c3RvbUNoaWNrbGV0Q29tcG9uZW50Iiwic3R5bGUiLCJwb3NpdGlvbiIsIlByb3ZpZGVyIiwiY3VzdG9tQ2xhc3NlcyIsInJlc3VsdHMiLCJsaXN0SXRlbSIsImxpc3RBbmNob3IiLCJvcHRpb25zIiwiY3VzdG9tTGlzdENvbXBvbmVudCIsImN1c3RvbUxpc3RJdGVtQ29tcG9uZW50IiwiTGlzdEl0ZW0iLCJzZWFyY2hhYmxlIiwic2hvd09wdGlvbnNXaGVuRW1wdHkiLCJDYXRlZ29yaWNhbEN1c3RvbVBhbGV0dGVJbnB1dCIsIl9yZWYxMCIsImNvbG9yTWFwIiwiX3JlZjEwJGFjdGlvbkljb25zIiwidXNlTWVtbyIsInZhbHVlcyIsIkFycmF5IiwiaXNBcnJheSIsIkJvdHRvbUFjdGlvbiIsIl9yZWYxMSIsIm9uQ2FuY2VsIiwib25Db25maXJtIiwic21hbGwiLCJTdHlsZWRDdXN0b21QYWxldHRlIiwiQ3VzdG9tUGFsZXR0ZUZhY3RvcnkiLCJDdXN0b21QYWxldHRlIiwiX3JlZjEyIiwib3JkaW5hbERvbWFpbiIsImN1c3RvbVBhbGV0dGUiLCJzZXRDb2xvclBhbGV0dGVVSSIsInNob3dTa2V0Y2hlciIsIl9yZWYxMiRhY3Rpb25JY29ucyIsIm9uQXBwbHkiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInNldElzU29ydGluZyIsImNvbG9ycyIsInR5cGUiLCJjb2xvck1hcFRvQ29sb3JCcmVha3MiLCJjb2xvck1hcFRvQ2F0ZWdvcmljYWxDb2xvckJyZWFrcyIsIm9uUGlja2VyVXBkYXRlIiwibmV3Q3VzdG9tUGFsZXR0ZSIsInVwZGF0ZUN1c3RvbVBhbGV0dGVDb2xvciIsImhleCIsInJlbW92ZUN1c3RvbVBhbGV0dGVDb2xvciIsImFkZEN1c3RvbVBhbGV0dGVDb2xvciIsIm9uQWRkQ2F0ZWdvcmljYWxTdGVwIiwib25Td2F0Y2hDbG9zZSIsImV2ZW50Iiwic3RvcFByb3BhZ2F0aW9uIiwicHJldmVudERlZmF1bHQiLCJvblNvcnRFbmQiLCJfcmVmMTMiLCJvbGRJbmRleCIsIm5ld0luZGV4Iiwic29ydEN1c3RvbVBhbGV0dGVDb2xvciIsIm9uU29ydFN0YXJ0IiwibmV3Q29sb3JNYXAiLCJjbSIsImJyZWFrcyIsImIiLCJzb3J0ZWROZXdDb2xvck1hcCIsInJlbW92ZUNhdGVnb3JpY2FsQ29sb3JNYXBWYWx1ZSIsInJlbW92ZUNhdGVnb3JpY2FsVmFsdWVGcm9tQ29sb3JNYXAiLCJhZGRDYXRlZ29yaWNhbENvbG9yTWFwVmFsdWUiLCJhZGRDYXRlZ29yaWNhbFZhbHVlc1RvQ29sb3JNYXAiLCJyZXNldENhdGVnb3JpY2FsQ29sb3JNYXBWYWx1ZSIsInJlc2V0Q2F0ZWdvcmljYWxDb2xvck1hcEJ5SW5kZXgiLCJzZWxlY3RSZXN0Q2F0ZWdvcmljYWxDb2xvck1hcCIsInNlbGVjdFJlc3RDYXRlZ29yaWNhbENvbG9yTWFwQnlJbmRleCIsImxvY2tBeGlzIiwiaGVscGVyQ2xhc3MiLCJ1c2VEcmFnSGFuZGxlIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lkZS1wYW5lbC9sYXllci1wYW5lbC9jdXN0b20tcGFsZXR0ZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUmVhY3QsIHtcbiAgRWxlbWVudFR5cGUsXG4gIFByb3BzV2l0aENoaWxkcmVuLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1bmlxIGZyb20gJ2xvZGFzaC51bmlxJztcbmltcG9ydCB7XG4gIFNvcnRhYmxlQ29udGFpbmVyLFxuICBTb3J0YWJsZUNvbnRhaW5lclByb3BzLFxuICBTb3J0YWJsZUVsZW1lbnQsXG4gIFNvcnRhYmxlRWxlbWVudFByb3BzLFxuICBTb3J0YWJsZUhhbmRsZVxufSBmcm9tICdyZWFjdC1zb3J0YWJsZS1ob2MnO1xuaW1wb3J0IHN0eWxlZCwge2Nzc30gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFBvcnRhbGVkIGZyb20gJy4uLy4uL2NvbW1vbi9wb3J0YWxlZCc7XG5pbXBvcnQge1Rvb2x0aXB9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgVHlwZWFoZWFkIGZyb20gJy4uLy4uL2NvbW1vbi9pdGVtLXNlbGVjdG9yL3R5cGVhaGVhZCc7XG5pbXBvcnQgQ2hpY2tsZXRlZElucHV0IGZyb20gJy4uLy4uL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2NoaWNrbGV0ZWQtaW5wdXQnO1xuaW1wb3J0IERyb3Bkb3duTGlzdCwge0xpc3RJdGVtfSBmcm9tICcuLi8uLi9jb21tb24vaXRlbS1zZWxlY3Rvci9kcm9wZG93bi1saXN0JztcbmltcG9ydCB7c2hvdWxkRm9yd2FyZFByb3B9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge3RvQXJyYXl9IGZyb20gJ0BrZXBsZXIuZ2wvY29tbW9uLXV0aWxzJztcbmltcG9ydCB7S2V5RXZlbnR9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7Q29sb3JNYXAsIENvbG9yVUksIEhleENvbG9yLCBOZXN0ZWRQYXJ0aWFsfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7XG4gIGFkZENhdGVnb3JpY2FsVmFsdWVzVG9Db2xvck1hcCxcbiAgYWRkQ3VzdG9tUGFsZXR0ZUNvbG9yLFxuICBjb2xvck1hcFRvQ2F0ZWdvcmljYWxDb2xvckJyZWFrcyxcbiAgY29sb3JNYXBUb0NvbG9yQnJlYWtzLFxuICBpc051bWVyaWNDb2xvckJyZWFrcyxcbiAgcmVzZXRDYXRlZ29yaWNhbENvbG9yTWFwQnlJbmRleCxcbiAgcmVtb3ZlQ2F0ZWdvcmljYWxWYWx1ZUZyb21Db2xvck1hcCxcbiAgcmVtb3ZlQ3VzdG9tUGFsZXR0ZUNvbG9yLFxuICBzZWxlY3RSZXN0Q2F0ZWdvcmljYWxDb2xvck1hcEJ5SW5kZXgsXG4gIHNvcnRDdXN0b21QYWxldHRlQ29sb3IsXG4gIHVwZGF0ZUN1c3RvbVBhbGV0dGVDb2xvclxufSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7Q29sb3JCcmVhaywgQ29sb3JCcmVha09yZGluYWx9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtBZGQsIFRyYXNoLCBWZXJ0RG90c30gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7QnV0dG9uLCBJbnB1dH0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBDdXN0b21QaWNrZXIgZnJvbSAnLi9jdXN0b20tcGlja2VyJztcblxuZXhwb3J0IHR5cGUgQWN0aW9uSWNvbnMgPSB7XG4gIGRlbGV0ZTogRWxlbWVudFR5cGU7XG4gIHNvcnQ6IEVsZW1lbnRUeXBlO1xuICBhZGQ6IEVsZW1lbnRUeXBlO1xufTtcblxuZXhwb3J0IHR5cGUgRWRpdENvbG9yTWFwRnVuYyA9ICh2OiBudW1iZXIsIGk6IG51bWJlcikgPT4gdm9pZDtcbmV4cG9ydCB0eXBlIFNldENvbG9yVUlGdW5jID0gKG5ld0NvbmZpZzogTmVzdGVkUGFydGlhbDxDb2xvclVJPikgPT4gdm9pZDtcblxuLyoqXG4gKiBFZGl0YWJsZUNvbG9yUmFuZ2VcbiAqL1xuZXhwb3J0IHR5cGUgRWRpdGFibGVDb2xvclJhbmdlUHJvcHMgPSB7XG4gIGl0ZW06IENvbG9yQnJlYWs7XG4gIGlzTGFzdDogYm9vbGVhbjtcbiAgaW5kZXg6IG51bWJlcjtcbiAgZWRpdENvbG9yTWFwPzogRWRpdENvbG9yTWFwRnVuYztcbiAgZWRpdGFibGU6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBDdXN0b21QYWxldHRlUHJvcHMgPSB7XG4gIGN1c3RvbVBhbGV0dGU6IENvbG9yVUlbJ2N1c3RvbVBhbGV0dGUnXTtcbiAgc2V0Q29sb3JQYWxldHRlVUk6IFNldENvbG9yVUlGdW5jO1xuICBzaG93U2tldGNoZXI6IG51bWJlciB8IGJvb2xlYW47XG4gIG9yZGluYWxEb21haW4/OiBzdHJpbmdbXSB8IG51bWJlcltdO1xuICBhY3Rpb25JY29ucz86IEFjdGlvbkljb25zO1xuICBvbkFwcGx5OiAoZTogUmVhY3QuTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgb25DYW5jZWw6ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBDdXN0b21QYWxldHRlSW5wdXRQcm9wcyA9IHtcbiAgaW5kZXg6IG51bWJlcjtcbiAgaXNTb3J0aW5nOiBib29sZWFuO1xuICBjb2xvcjogSGV4Q29sb3I7XG4gIGNvbG9yQnJlYWtzOiBDb2xvckJyZWFrT3JkaW5hbFtdIHwgQ29sb3JCcmVha1tdIHwgbnVsbDtcbiAgaW5wdXRDb2xvckhleDogKGluZGV4OiBudW1iZXIsIHY6IEhleENvbG9yKSA9PiB2b2lkO1xuICBlZGl0Q29sb3JNYXBWYWx1ZTogRWRpdENvbG9yTWFwRnVuYztcbiAgYWN0aW9uSWNvbnM/OiBBY3Rpb25JY29ucztcbiAgZGlzYWJsZUFwcGVuZD86IGJvb2xlYW47XG4gIGRpc2FibGVEZWxldGU/OiBib29sZWFuO1xuICBvbkRlbGV0ZTogKGluZGV4OiBudW1iZXIpID0+IHZvaWQ7XG4gIG9uQWRkOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgb25Ub2dnbGVTa2V0Y2hlcjogKGluZGV4OiBudW1iZXIpID0+IHZvaWQ7XG59O1xuXG5jb25zdCBkZWZhdWx0QWN0aW9uSWNvbnMgPSB7XG4gIGRlbGV0ZTogVHJhc2gsXG4gIHNvcnQ6IFZlcnREb3RzLFxuICBhZGQ6IEFkZFxufTtcblxuY29uc3QgZHJhZ0hhbmRsZUFjdGl2ZSA9IGNzc2BcbiAgLmxheWVyX19kcmFnLWhhbmRsZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQ29sb3JQYWxldHRlSXRlbSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAycHg7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7XG4gIHotaW5kZXg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25XcmFwcGVyWiArIDF9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgLmN1c3RvbS1wYWxldHRlLWlucHV0X19sZWZ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAuY3VzdG9tLXBhbGV0dGUtaW5wdXRfX3JpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1yaWdodDogNnB4O1xuICB9XG5cbiAgJjpub3QoLnNvcnRpbmcpOm5vdCguZGlzYWJsZWQpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgICAgJHtkcmFnSGFuZGxlQWN0aXZlfTtcbiAgICB9XG4gIH1cblxuICAmLnNvcnRpbmctY29sb3JzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICAke2RyYWdIYW5kbGVBY3RpdmV9O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWREcmFnSGFuZGxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbmA7XG5cbmNvbnN0IFN0eWxlZEFjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvcn07XG4gIHN2ZyB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JBY3RpdmV9O1xuICAgIH1cbiAgfVxuXG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IERpdmlkZXJMaW5lID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0Qm9yZGVyVG9wfTtcbiAgbWFyZ2luLXRvcDogOHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IENvbG9yU3dhdGNoID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2N1c3RvbS1wYWxldHRlX19zd2F0Y2gnXG59KWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5jb2xvcn07XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3hTaGFkb3d9O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTFweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZGlyZWN0aW9uOiBydGw7XG4gIHBhZGRpbmc6IDAgMTJweDtcbmA7XG5cbmNvbnN0IFN0eWxlZEFkZFN0ZXBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tdG9wOiAxMXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMTJweDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRDb2xvcn07XG4gIC5hZGRjb2xvciB7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZChJbnB1dCkud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KTx7XG4gIHdpZHRoOiBzdHJpbmc7XG4gIHRleHRBbGlnbjogc3RyaW5nO1xufT5gXG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRoID8/ICcxMDAlJ307XG4gIHRleHQtYWxpZ246ICR7cHJvcHMgPT4gcHJvcHMudGV4dEFsaWduID8/ICdlbmQnfTtcbiAgcG9pbnRlci1ldmVudHM6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gJ25vbmUnIDogJ2FsbCcpfTtcbmA7XG5cbmNvbnN0IElucHV0VGV4dCA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KTx7d2lkdGg6IHN0cmluZzsgdGV4dEFsaWduOiBzdHJpbmd9PmBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dH07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy53aWR0aCA/PyAnMTAwJSd9O1xuICB0ZXh0LWFsaWduOiAke3Byb3BzID0+IHByb3BzLnRleHRBbGlnbiA/PyAnZW5kJ307XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbmA7XG5cbnR5cGUgU29ydGFibGVJdGVtUHJvcHMgPSBTb3J0YWJsZUVsZW1lbnRQcm9wcyAmIHtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgaXNTb3J0aW5nOiBib29sZWFuO1xufTtcblxuY29uc3QgU29ydGFibGVJdGVtID0gU29ydGFibGVFbGVtZW50PFNvcnRhYmxlSXRlbVByb3BzPigoe2NoaWxkcmVuLCBpc1NvcnRpbmd9KSA9PiAoXG4gIDxDb2xvclBhbGV0dGVJdGVtIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnY3VzdG9tLXBhbGV0dGVfX3NvcnRhYmxlLWl0ZW1zJywge3NvcnRpbmc6IGlzU29ydGluZ30pfT5cbiAgICB7Y2hpbGRyZW59XG4gIDwvQ29sb3JQYWxldHRlSXRlbT5cbikpO1xuXG50eXBlIFdyYXBwZWRTb3J0YWJsZUNvbnRhaW5lclByb3BzID0gU29ydGFibGVDb250YWluZXJQcm9wcyAmIHtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbn07XG5cbi8vIFRPRE86IFNob3VsZCBjbGFzc05hbWUgYmUgYXBwbGllZCB0byB0aGUgZGl2IGhlcmU/XG5jb25zdCBXcmFwcGVkU29ydGFibGVDb250YWluZXIgPSBTb3J0YWJsZUNvbnRhaW5lcjxXcmFwcGVkU29ydGFibGVDb250YWluZXJQcm9wcz4oXG4gICh7Y2hpbGRyZW4sIGNsYXNzTmFtZX0pID0+IDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWV9PntjaGlsZHJlbn08L2Rpdj5cbik7XG5cbnR5cGUgRHJhZ0hhbmRsZVByb3BzID0gUHJvcHNXaXRoQ2hpbGRyZW48e2NsYXNzTmFtZT86IHN0cmluZzsgbGlzdGVuZXJzPzogdW5rbm93bn0+O1xuXG5leHBvcnQgY29uc3QgRHJhZ0hhbmRsZSA9IFNvcnRhYmxlSGFuZGxlPERyYWdIYW5kbGVQcm9wcz4oKHtjbGFzc05hbWUsIGNoaWxkcmVufSkgPT4gKFxuICA8U3R5bGVkRHJhZ0hhbmRsZSBjbGFzc05hbWU9e2NsYXNzTmFtZX0+e2NoaWxkcmVufTwvU3R5bGVkRHJhZ0hhbmRsZT5cbikpO1xuXG5leHBvcnQgdHlwZSBDb2xvclBhbGV0dGVJbnB1dFByb3BzID0ge1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xuICBvbkNoYW5nZTogKHZhbDogdW5rbm93bikgPT4gdm9pZDtcbiAgaWQ6IHN0cmluZztcbiAgd2lkdGg6IHN0cmluZztcbiAgdGV4dEFsaWduOiBzdHJpbmc7XG4gIGVkaXRhYmxlOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IENvbG9yUGFsZXR0ZUlucHV0ID0gKHtcbiAgdmFsdWUsXG4gIG9uQ2hhbmdlLFxuICBpZCxcbiAgd2lkdGgsXG4gIHRleHRBbGlnbixcbiAgZWRpdGFibGVcbn06IENvbG9yUGFsZXR0ZUlucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgW3N0YXRlVmFsdWUsIHNldFZhbHVlXSA9IHVzZVN0YXRlKHZhbHVlKTtcbiAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWYobnVsbCk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0VmFsdWUodmFsdWUpO1xuICB9LCBbdmFsdWVdKTtcblxuICBjb25zdCBvbktleURvd24gPSB1c2VDYWxsYmFjayhcbiAgICBlID0+IHtcbiAgICAgIHN3aXRjaCAoZS5rZXlDb2RlKSB7XG4gICAgICAgIGNhc2UgS2V5RXZlbnQuRE9NX1ZLX0VOVEVSOlxuICAgICAgICBjYXNlIEtleUV2ZW50LkRPTV9WS19SRVRVUk46XG4gICAgICAgICAgb25DaGFuZ2Uoc3RhdGVWYWx1ZSk7XG4gICAgICAgICAgaWYgKGlucHV0UmVmICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBpbnB1dFJlZj8uY3VycmVudC5ibHVyKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0sXG4gICAgW29uQ2hhbmdlLCBzdGF0ZVZhbHVlXVxuICApO1xuXG4gIGNvbnN0IF9vbkNoYW5nZSA9IHVzZUNhbGxiYWNrKGUgPT4gc2V0VmFsdWUoZS50YXJnZXQudmFsdWUpLCBbc2V0VmFsdWVdKTtcbiAgY29uc3Qgb25CbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4gb25DaGFuZ2Uoc3RhdGVWYWx1ZSksIFtvbkNoYW5nZSwgc3RhdGVWYWx1ZV0pO1xuXG4gIHJldHVybiBlZGl0YWJsZSA/IChcbiAgICA8U3R5bGVkSW5wdXRcbiAgICAgIHJlZj17aW5wdXRSZWZ9XG4gICAgICBjbGFzc05hbWU9XCJjdXN0b20tcGFsZXR0ZS1oZXhfX2lucHV0XCJcbiAgICAgIHZhbHVlPXtzdGF0ZVZhbHVlfVxuICAgICAgb25DaGFuZ2U9e19vbkNoYW5nZX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25LZXlEb3duPXtvbktleURvd259XG4gICAgICBpZD17aWR9XG4gICAgICB3aWR0aD17d2lkdGh9XG4gICAgICB0ZXh0QWxpZ249e3RleHRBbGlnbn1cbiAgICAgIHNlY29uZGFyeVxuICAgIC8+XG4gICkgOiAoXG4gICAgPElucHV0VGV4dCBjbGFzc05hbWU9XCJjdXN0b20tcGFsZXR0ZS1oZXhfX2lucHV0X190ZXh0XCIgd2lkdGg9e3dpZHRofSB0ZXh0QWxpZ249e3RleHRBbGlnbn0+XG4gICAgICB7dmFsdWV9XG4gICAgPC9JbnB1dFRleHQ+XG4gICk7XG59O1xuXG5jb25zdCBEYXNoID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDZweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG5gO1xuXG5jb25zdCBTdHlsZWRSYW5nZUlucHV0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG5gO1xuXG5jb25zdCBTdHlsZWRDb2xvckhleElucHV0ID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG5gO1xuXG5leHBvcnQgY29uc3QgRWRpdGFibGVDb2xvclJhbmdlOiBSZWFjdC5GQzxFZGl0YWJsZUNvbG9yUmFuZ2VQcm9wcz4gPSAoe1xuICBpdGVtLFxuICBpc0xhc3QsXG4gIGluZGV4LFxuICBlZGl0Q29sb3JNYXAsXG4gIGVkaXRhYmxlXG59KSA9PiB7XG4gIGNvbnN0IG5vTWluQm91bmQgPSAhTnVtYmVyLmlzRmluaXRlKGl0ZW0uaW5wdXRzWzBdKSAmJiBpbmRleCA9PT0gMDtcbiAgY29uc3Qgbm9NYXhCb3VuZCA9ICFOdW1iZXIuaXNGaW5pdGUoaXRlbS5pbnB1dHNbMV0pICYmIGlzTGFzdDtcbiAgY29uc3Qgb25DaGFuZ2VMZWZ0ID0gdXNlQ2FsbGJhY2soXG4gICAgdmFsID0+IHtcbiAgICAgIGlmIChlZGl0YWJsZSAmJiBlZGl0Q29sb3JNYXApIGVkaXRDb2xvck1hcChwYXJzZUZsb2F0KHZhbCksIGluZGV4IC0gMSk7XG4gICAgfSxcbiAgICBbZWRpdENvbG9yTWFwLCBpbmRleCwgZWRpdGFibGVdXG4gICk7XG4gIGNvbnN0IG9uQ2hhbmdlUmlnaHQgPSB1c2VDYWxsYmFjayhcbiAgICB2YWwgPT4ge1xuICAgICAgaWYgKGVkaXRhYmxlICYmIGVkaXRDb2xvck1hcCkgZWRpdENvbG9yTWFwKHBhcnNlRmxvYXQodmFsKSwgaW5kZXgpO1xuICAgIH0sXG4gICAgW2VkaXRDb2xvck1hcCwgaW5kZXgsIGVkaXRhYmxlXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFJhbmdlSW5wdXQ+XG4gICAgICA8Q29sb3JQYWxldHRlSW5wdXRcbiAgICAgICAgdmFsdWU9e25vTWluQm91bmQgPyAnTGVzcycgOiBpdGVtLmlucHV0c1swXS50b1N0cmluZygpfVxuICAgICAgICBpZD17YGNvbG9yLXBhbGV0dGUtaW5wdXQtJHtpbmRleH0tbGVmdGB9XG4gICAgICAgIHdpZHRoPVwiNTBweFwiXG4gICAgICAgIHRleHRBbGlnbj1cImVuZFwiXG4gICAgICAgIGVkaXRhYmxlPXtub01pbkJvdW5kID8gZmFsc2UgOiBlZGl0YWJsZX1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlTGVmdH1cbiAgICAgIC8+XG4gICAgICA8RGFzaCAvPlxuICAgICAgPENvbG9yUGFsZXR0ZUlucHV0XG4gICAgICAgIHZhbHVlPXtub01heEJvdW5kID8gJ01vcmUnIDogaXRlbS5pbnB1dHNbMV0udG9TdHJpbmcoKX1cbiAgICAgICAgaWQ9e2Bjb2xvci1wYWxldHRlLWlucHV0LSR7aW5kZXh9LXJpZ2h0YH1cbiAgICAgICAgd2lkdGg9XCI1MHB4XCJcbiAgICAgICAgdGV4dEFsaWduPVwiZW5kXCJcbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlUmlnaHR9XG4gICAgICAgIGVkaXRhYmxlPXtub01heEJvdW5kID8gZmFsc2UgOiBlZGl0YWJsZX1cbiAgICAgIC8+XG4gICAgPC9TdHlsZWRSYW5nZUlucHV0PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IEFkZENvbG9yU3RvcCA9ICh7b25Db2xvckFkZCwgSWNvbkNvbXBvbmVudH0pID0+IChcbiAgPFN0eWxlZEFjdGlvbiBvbkNsaWNrPXtvbkNvbG9yQWRkfSBjbGFzc05hbWU9XCJhZGRjb2xvclwiPlxuICAgIDxJY29uQ29tcG9uZW50IGhlaWdodD1cIjE0cHhcIiAvPlxuICA8L1N0eWxlZEFjdGlvbj5cbik7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVDb2xvclN0b3AgPSAoe29uQ29sb3JEZWxldGUsIEljb25Db21wb25lbnR9KSA9PiAoXG4gIDxTdHlsZWRBY3Rpb24gb25DbGljaz17b25Db2xvckRlbGV0ZX0gY2xhc3NOYW1lPVwidHJhc2hiaW5cIj5cbiAgICA8SWNvbkNvbXBvbmVudCBoZWlnaHQ9XCIxNHB4XCIgLz5cbiAgPC9TdHlsZWRBY3Rpb24+XG4pO1xuXG5leHBvcnQgY29uc3QgQ3VzdG9tUGFsZXR0ZUlucHV0OiBSZWFjdC5GQzxDdXN0b21QYWxldHRlSW5wdXRQcm9wcz4gPSAoe1xuICBpbmRleCxcbiAgaXNTb3J0aW5nLFxuICBjb2xvcixcbiAgY29sb3JCcmVha3MsXG4gIGlucHV0Q29sb3JIZXgsXG4gIGVkaXRDb2xvck1hcFZhbHVlLFxuICBhY3Rpb25JY29ucyA9IGRlZmF1bHRBY3Rpb25JY29ucyxcbiAgZGlzYWJsZUFwcGVuZCxcbiAgZGlzYWJsZURlbGV0ZSxcbiAgb25EZWxldGUsXG4gIG9uQWRkLFxuICBvblRvZ2dsZVNrZXRjaGVyXG59KSA9PiB7XG4gIGNvbnN0IG9uQ2xpY2tTd3RhY2ggPSB1c2VDYWxsYmFjaygoKSA9PiBvblRvZ2dsZVNrZXRjaGVyKGluZGV4KSwgW29uVG9nZ2xlU2tldGNoZXIsIGluZGV4XSk7XG4gIGNvbnN0IG9uQ29sb3JJbnB1dCA9IHVzZUNhbGxiYWNrKHYgPT4gaW5wdXRDb2xvckhleChpbmRleCwgdiksIFtpbnB1dENvbG9ySGV4LCBpbmRleF0pO1xuICBjb25zdCBvbkNvbG9yRGVsZXRlID0gdXNlQ2FsbGJhY2soKCkgPT4gb25EZWxldGUoaW5kZXgpLCBbb25EZWxldGUsIGluZGV4XSk7XG4gIGNvbnN0IG9uQ29sb3JBZGQgPSB1c2VDYWxsYmFjaygoKSA9PiBvbkFkZChpbmRleCksIFtvbkFkZCwgaW5kZXhdKTtcbiAgY29uc3Qgc2hvd0hleElucHV0ID0gIWNvbG9yQnJlYWtzO1xuXG4gIHJldHVybiAoXG4gICAgPFNvcnRhYmxlSXRlbSBpbmRleD17aW5kZXh9IGlzU29ydGluZz17aXNTb3J0aW5nfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY3VzdG9tLXBhbGV0dGUtaW5wdXRfX2xlZnRcIj5cbiAgICAgICAgPERyYWdIYW5kbGUgY2xhc3NOYW1lPVwibGF5ZXJfX2RyYWctaGFuZGxlXCI+XG4gICAgICAgICAgPGFjdGlvbkljb25zLnNvcnQgaGVpZ2h0PVwiMjBweFwiIC8+XG4gICAgICAgIDwvRHJhZ0hhbmRsZT5cbiAgICAgICAgPENvbG9yU3dhdGNoIGNvbG9yPXtjb2xvcn0gb25DbGljaz17b25DbGlja1N3dGFjaH0gLz5cbiAgICAgICAge3Nob3dIZXhJbnB1dCA/IChcbiAgICAgICAgICA8U3R5bGVkQ29sb3JIZXhJbnB1dD5cbiAgICAgICAgICAgIDxDb2xvclBhbGV0dGVJbnB1dFxuICAgICAgICAgICAgICB2YWx1ZT17Y29sb3IudG9VcHBlckNhc2UoKX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ29sb3JJbnB1dH1cbiAgICAgICAgICAgICAgaWQ9e2BpbnB1dC1sYXllci1sYWJlbC0ke2luZGV4fWB9XG4gICAgICAgICAgICAgIGVkaXRhYmxlXG4gICAgICAgICAgICAgIHRleHRBbGlnbj1cImxlZnRcIlxuICAgICAgICAgICAgICB3aWR0aD1cIjcwcHhcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1N0eWxlZENvbG9ySGV4SW5wdXQ+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICB7aXNOdW1lcmljQ29sb3JCcmVha3MoY29sb3JCcmVha3MpID8gKFxuICAgICAgICAgIDxFZGl0YWJsZUNvbG9yUmFuZ2VcbiAgICAgICAgICAgIGl0ZW09e2NvbG9yQnJlYWtzW2luZGV4XX1cbiAgICAgICAgICAgIGlzTGFzdD17aW5kZXggPT09IGNvbG9yQnJlYWtzLmxlbmd0aCAtIDF9XG4gICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICBlZGl0Q29sb3JNYXA9e2VkaXRDb2xvck1hcFZhbHVlfVxuICAgICAgICAgICAgZWRpdGFibGVcbiAgICAgICAgICAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tcGFsZXR0ZS1pbnB1dF9fcmlnaHRcIj5cbiAgICAgICAgeyFkaXNhYmxlQXBwZW5kID8gKFxuICAgICAgICAgIDxBZGRDb2xvclN0b3Agb25Db2xvckFkZD17b25Db2xvckFkZH0gSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMuYWRkfSAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAgeyFkaXNhYmxlRGVsZXRlID8gKFxuICAgICAgICAgIDxEZWxldGVDb2xvclN0b3Agb25Db2xvckRlbGV0ZT17b25Db2xvckRlbGV0ZX0gSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMuZGVsZXRlfSAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvZGl2PlxuICAgIDwvU29ydGFibGVJdGVtPlxuICApO1xufTtcblxuY29uc3QgU3R5bGVkQ2F0ZWdvcmljYWxWYWx1ZVBpY2tlcldyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY2F0ZWdvcmljYWwtdmFsdWUtcGlja2VyJ1xufSlgXG4gIHdpZHRoOiAxNTBweDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRDb2xvcn07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGNvbHVtbi1nYXA6IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuYDtcblxudHlwZSBTdHlsZWRDYXRlZ29yaWNhbFZhbHVlUGlja2VyUHJvcHMgPSB7bm9Cb3JkZXI6IGJvb2xlYW59O1xuY29uc3QgU3R5bGVkQ2F0ZWdvcmljYWxWYWx1ZVBpY2tlciA9IHN0eWxlZC5kaXY8U3R5bGVkQ2F0ZWdvcmljYWxWYWx1ZVBpY2tlclByb3BzPmBcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBmb250LXNpemU6IDExcHg7XG4gIGJvcmRlci1ib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLm5vQm9yZGVyID8gJycgOiAnMXB4IGRhc2hlZCcpfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LXdpZHRoOiAxMDBweDtcbmA7XG5cbnR5cGUgRHJvcGRvd25WYWx1ZXNXcmFwcGVyUHJvcHMgPSB7d2lkdGg6IG51bWJlcn07XG5jb25zdCBEcm9wZG93blZhbHVlc1dyYXBwZXIgPSBzdHlsZWQuZGl2PERyb3Bkb3duVmFsdWVzV3JhcHBlclByb3BzPmBcbiAgYm9yZGVyOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bldyYXBwZXJafTtcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMud2lkdGh9cHg7XG5gO1xuXG50eXBlIFNlbGVjdGVkVmFsdWVzV3JhcHBlclByb3BzID0ge3dpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyfTtcbmNvbnN0IFNlbGVjdGVkVmFsdWVzV3JhcHBlciA9IHN0eWxlZChEcm9wZG93blZhbHVlc1dyYXBwZXIpPFNlbGVjdGVkVmFsdWVzV3JhcHBlclByb3BzPmBcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMud2lkdGh9cHg7XG4gIG1heC1oZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaGVpZ2h0fXB4O1xuICBvdmVyZmxvdzogYXV0bztcblxuICAuY3VzdG9tLXBhbGV0dGUtY2hpY2tsZXRlZC1pbnB1dCB7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25XcmFwcGVyWn07XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZERyb3Bkb3duSGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dENvbG9yfTtcbiAgcGFkZGluZzogMCA4cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcblxuICAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZFRvb2x0aXBDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogOHB4O1xuICB3aWR0aDogMTUwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblxuICBkaXYge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuYDtcblxuY29uc3QgTlVNQkVSX1ZBTFVFU19JTl9UT09MVElQID0gMTA7XG5cbmNvbnN0IENhdGVnb3JpY2FsU2VsZWN0b3JDb250ZXh0ID0gUmVhY3QuY3JlYXRlQ29udGV4dCh7XG4gIG9uU2VsZWN0UmVzdDogKCkgPT4gbnVsbCxcbiAgb25SZXNldDogKCkgPT4gbnVsbFxufSk7XG5cbi8vIENhdGVnb3JpY2FsIHZhbHVlcyBkcm9wZG93bmxpc3Q6XG4vLyBleHRlbmRpbmcgRHJvcGRvd25MaXN0IGFuZCBhZGRpbmcgJ1NlbGVjdCB0aGUgUmVzdCcgYW5kICdSZXNldCcgYnV0dG9uc1xuY2xhc3MgTW9kaWZpZWREcm9wZG93bkxpc3QgZXh0ZW5kcyBEcm9wZG93bkxpc3Qge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPENhdGVnb3JpY2FsU2VsZWN0b3JDb250ZXh0LkNvbnN1bWVyPlxuICAgICAgICAgIHtjb250ZXh0ID0+IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxTdHlsZWREcm9wZG93bkhlYWRlcj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uIGxpbmsgc2l6ZT1cInNtYWxcIiBvbkNsaWNrPXtjb250ZXh0Lm9uU2VsZWN0UmVzdH0+XG4gICAgICAgICAgICAgICAgICBTZWxlY3QgdGhlIFJlc3RcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uIGxpbmsgc2l6ZT1cInNtYWxcIiBvbkNsaWNrPXtjb250ZXh0Lm9uUmVzZXR9PlxuICAgICAgICAgICAgICAgICAgUmVzZXRcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgPC9TdHlsZWREcm9wZG93bkhlYWRlcj5cbiAgICAgICAgICAgICAgPERpdmlkZXJMaW5lIC8+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkxpc3Qgey4uLnRoaXMucHJvcHN9IC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0NhdGVnb3JpY2FsU2VsZWN0b3JDb250ZXh0LkNvbnN1bWVyPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBDYXRlZ29yaWNhbFNlbGVjdG9yUHJvcHMgPSB7XG4gIGluZGV4OiBudW1iZXI7XG4gIHNlbGVjdGVkVmFsdWVzOiAoc3RyaW5nIHwgbnVtYmVyIHwgbnVsbClbXTtcbiAgYWxsVmFsdWVzOiBzdHJpbmdbXSB8IG51bWJlcltdO1xuICBhZGRDb2xvck1hcFZhbHVlPzogKHY6IChudW1iZXIgfCBzdHJpbmcgfCBudWxsKVtdLCBpOiBudW1iZXIpID0+IHZvaWQ7XG4gIHJlbW92ZUNvbG9yTWFwVmFsdWU/OiAodjogbnVtYmVyIHwgc3RyaW5nLCBpOiBudW1iZXIpID0+IHZvaWQ7XG4gIHJlc2V0Q29sb3JNYXBWYWx1ZT86IChpOiBudW1iZXIpID0+IHZvaWQ7XG4gIHNlbGVjdFJlc3RDb2xvck1hcFZhbHVlPzogKGk6IG51bWJlcikgPT4gdm9pZDtcbiAgZWRpdGFibGU/OiBib29sZWFuO1xufTtcblxuLy8gQ2F0ZWdvcmljYWwgdmFsdWVzIHNlbGVjdG9yIGZvciBlZGl0aW5nIGNhdGVnb3JpY2FsIHZhbHVlc1xuZXhwb3J0IGNvbnN0IENhdGVnb3JpY2FsU2VsZWN0b3I6IFJlYWN0LkZDPENhdGVnb3JpY2FsU2VsZWN0b3JQcm9wcz4gPSAoe1xuICBpbmRleCxcbiAgc2VsZWN0ZWRWYWx1ZXMsXG4gIGFsbFZhbHVlcyxcbiAgYWRkQ29sb3JNYXBWYWx1ZSxcbiAgcmVtb3ZlQ29sb3JNYXBWYWx1ZSxcbiAgcmVzZXRDb2xvck1hcFZhbHVlLFxuICBzZWxlY3RSZXN0Q29sb3JNYXBWYWx1ZSxcbiAgZWRpdGFibGUgPSB0cnVlXG59OiBDYXRlZ29yaWNhbFNlbGVjdG9yUHJvcHMpID0+IHtcbiAgY29uc3QgW3Nob3dUeXBlYWhlYWQsIHNldFNob3dUeXBlYWhlYWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IG9uT3B0aW9uU2VsZWN0ZWQgPSB1c2VDYWxsYmFjayhcbiAgICB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBwcmV2aW91c1NlbGVjdGVkID0gdG9BcnJheShzZWxlY3RlZFZhbHVlcyk7XG4gICAgICBjb25zdCBpdGVtcyA9IHVuaXEocHJldmlvdXNTZWxlY3RlZC5jb25jYXQodG9BcnJheSh2YWx1ZSkpKTtcbiAgICAgIGFkZENvbG9yTWFwVmFsdWU/LihpdGVtcywgaW5kZXgpO1xuICAgIH0sXG4gICAgW3NlbGVjdGVkVmFsdWVzLCBpbmRleCwgYWRkQ29sb3JNYXBWYWx1ZV1cbiAgKTtcblxuICBjb25zdCBvbk9wZW5Ecm9wZG93biA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRTaG93VHlwZWFoZWFkKHRydWUpO1xuICB9LCBbXSk7XG5cbiAgY29uc3Qgb25DbG9zZURyb3Bkb3duID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFNob3dUeXBlYWhlYWQoZmFsc2UpO1xuICB9LCBbXSk7XG5cbiAgY29uc3Qgb25SZW1vdmVJdGVtID0gdXNlQ2FsbGJhY2soXG4gICAgdmFsdWUgPT4ge1xuICAgICAgcmVtb3ZlQ29sb3JNYXBWYWx1ZT8uKHZhbHVlLCBpbmRleCk7XG4gICAgfSxcbiAgICBbaW5kZXgsIHJlbW92ZUNvbG9yTWFwVmFsdWVdXG4gICk7XG5cbiAgY29uc3Qgb25SZXNldCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICByZXNldENvbG9yTWFwVmFsdWU/LihpbmRleCk7XG4gICAgc2V0U2hvd1R5cGVhaGVhZChmYWxzZSk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0sIFtyZXNldENvbG9yTWFwVmFsdWUsIGluZGV4XSk7XG5cbiAgY29uc3Qgb25TZWxlY3RSZXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNlbGVjdFJlc3RDb2xvck1hcFZhbHVlPy4oaW5kZXgpO1xuICAgIHNldFNob3dUeXBlYWhlYWQoZmFsc2UpO1xuICAgIHJldHVybiBudWxsO1xuICB9LCBbc2VsZWN0UmVzdENvbG9yTWFwVmFsdWUsIGluZGV4XSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2F0ZWdvcmljYWxWYWx1ZVBpY2tlcldyYXBwZXI+XG4gICAgICB7ZWRpdGFibGUgJiYgPEFkZCBoZWlnaHQ9XCIxMnB4XCIgb25DbGljaz17b25PcGVuRHJvcGRvd259IC8+fVxuICAgICAgPFN0eWxlZENhdGVnb3JpY2FsVmFsdWVQaWNrZXJcbiAgICAgICAgbm9Cb3JkZXI9e3NlbGVjdGVkVmFsdWVzLmxlbmd0aCA9PT0gMCB8fCAhZWRpdGFibGV9XG4gICAgICAgIG9uQ2xpY2s9e29uT3BlbkRyb3Bkb3dufVxuICAgICAgICBkYXRhLXRpcFxuICAgICAgICBkYXRhLWZvcj17YGNhdGVnb3J5LXZhbHVlcy0ke2luZGV4fWB9XG4gICAgICA+XG4gICAgICAgIHtzZWxlY3RlZFZhbHVlcy5sZW5ndGggPT09IDBcbiAgICAgICAgICA/ICdBZGQgVmFsdWUnXG4gICAgICAgICAgOiBzZWxlY3RlZFZhbHVlcy5sZW5ndGggPT09IDFcbiAgICAgICAgICA/IHNlbGVjdGVkVmFsdWVzWzBdXG4gICAgICAgICAgOiBgJHtzZWxlY3RlZFZhbHVlcy5sZW5ndGh9IHNlbGVjdGVkYH1cbiAgICAgICAge3NlbGVjdGVkVmFsdWVzLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICAgIDxUb29sdGlwIGlkPXtgY2F0ZWdvcnktdmFsdWVzLSR7aW5kZXh9YH0gcGxhY2U9XCJ0b3BcIiBpbnRlcmFjdGl2ZT17dHJ1ZX0+XG4gICAgICAgICAgICA8U3R5bGVkVG9vbHRpcENvbnRlbnQ+XG4gICAgICAgICAgICAgIHtzZWxlY3RlZFZhbHVlcy5zbGljZSgwLCBOVU1CRVJfVkFMVUVTX0lOX1RPT0xUSVApLm1hcCgodmFsdWUsIGkpID0+IChcbiAgICAgICAgICAgICAgICA8ZGl2IGtleT17aX0+e3ZhbHVlfTwvZGl2PlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAge3NlbGVjdGVkVmFsdWVzLmxlbmd0aCA+IE5VTUJFUl9WQUxVRVNfSU5fVE9PTFRJUCAmJiA8ZGl2Pi4uLjwvZGl2Pn1cbiAgICAgICAgICAgIDwvU3R5bGVkVG9vbHRpcENvbnRlbnQ+XG4gICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWRDYXRlZ29yaWNhbFZhbHVlUGlja2VyPlxuICAgICAge2VkaXRhYmxlICYmIChcbiAgICAgICAgPFBvcnRhbGVkIGxlZnQ9ezB9IHRvcD17MH0gaXNPcGVuZWQ9e3Nob3dUeXBlYWhlYWR9IG9uQ2xvc2U9e29uQ2xvc2VEcm9wZG93bn0+XG4gICAgICAgICAge3NlbGVjdGVkVmFsdWVzLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICAgICAgPFNlbGVjdGVkVmFsdWVzV3JhcHBlciB3aWR0aD17MjUwfSBoZWlnaHQ9ezIwMH0+XG4gICAgICAgICAgICAgIDxDaGlja2xldGVkSW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9eydjdXN0b20tcGFsZXR0ZS1jaGlja2xldGVkLWlucHV0J31cbiAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXtzZWxlY3RlZFZhbHVlc31cbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17Jyd9XG4gICAgICAgICAgICAgICAgcmVtb3ZlSXRlbT17b25SZW1vdmVJdGVtfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG51bGx9XG4gICAgICAgICAgICAgICAgQ3VzdG9tQ2hpY2tsZXRDb21wb25lbnQ9e251bGx9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1NlbGVjdGVkVmFsdWVzV3JhcHBlcj5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxEcm9wZG93blZhbHVlc1dyYXBwZXIgd2lkdGg9ezI1MH0+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7cG9zaXRpb246ICdyZWxhdGl2ZSd9fT5cbiAgICAgICAgICAgICAgPENhdGVnb3JpY2FsU2VsZWN0b3JDb250ZXh0LlByb3ZpZGVyXG4gICAgICAgICAgICAgICAgdmFsdWU9e3tcbiAgICAgICAgICAgICAgICAgIG9uUmVzZXQsXG4gICAgICAgICAgICAgICAgICBvblNlbGVjdFJlc3RcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFR5cGVhaGVhZFxuICAgICAgICAgICAgICAgICAgY3VzdG9tQ2xhc3Nlcz17e1xuICAgICAgICAgICAgICAgICAgICByZXN1bHRzOiAnbGlzdC1zZWxlY3RvcicsXG4gICAgICAgICAgICAgICAgICAgIGlucHV0OiAndHlwZWFoZWFkX19pbnB1dCcsXG4gICAgICAgICAgICAgICAgICAgIGxpc3RJdGVtOiAnbGlzdF9faXRlbScsXG4gICAgICAgICAgICAgICAgICAgIGxpc3RBbmNob3I6ICdsaXN0X19pdGVtX19hbmNob3InXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17YWxsVmFsdWVzfVxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9eydTZWFyY2gnfVxuICAgICAgICAgICAgICAgICAgb25PcHRpb25TZWxlY3RlZD17b25PcHRpb25TZWxlY3RlZH1cbiAgICAgICAgICAgICAgICAgIGN1c3RvbUxpc3RDb21wb25lbnQ9e01vZGlmaWVkRHJvcGRvd25MaXN0fVxuICAgICAgICAgICAgICAgICAgY3VzdG9tTGlzdEl0ZW1Db21wb25lbnQ9e0xpc3RJdGVtfVxuICAgICAgICAgICAgICAgICAgc2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgIHNob3dPcHRpb25zV2hlbkVtcHR5XG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXtzZWxlY3RlZFZhbHVlc31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0NhdGVnb3JpY2FsU2VsZWN0b3JDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9Ecm9wZG93blZhbHVlc1dyYXBwZXI+XG4gICAgICAgIDwvUG9ydGFsZWQ+XG4gICAgICApfVxuICAgIDwvU3R5bGVkQ2F0ZWdvcmljYWxWYWx1ZVBpY2tlcldyYXBwZXI+XG4gICk7XG59O1xuXG5leHBvcnQgdHlwZSBDYXRlZ29yaWNhbEN1c3RvbVBhbGV0dGVJbnB1dFByb3BzID0ge1xuICBpbmRleDogbnVtYmVyO1xuICBpc1NvcnRpbmc6IGJvb2xlYW47XG4gIGNvbG9yOiBIZXhDb2xvcjtcbiAgY29sb3JNYXA/OiBDb2xvck1hcCB8IG51bGw7XG4gIGFkZENvbG9yTWFwVmFsdWU6ICh2OiAobnVtYmVyIHwgc3RyaW5nIHwgbnVsbClbXSwgaTogbnVtYmVyKSA9PiB2b2lkO1xuICByZW1vdmVDb2xvck1hcFZhbHVlOiAodjogbnVtYmVyIHwgc3RyaW5nLCBpOiBudW1iZXIpID0+IHZvaWQ7XG4gIHJlc2V0Q29sb3JNYXBWYWx1ZTogKGk6IG51bWJlcikgPT4gdm9pZDtcbiAgc2VsZWN0UmVzdENvbG9yTWFwVmFsdWU6IChpOiBudW1iZXIpID0+IHZvaWQ7XG4gIGFjdGlvbkljb25zPzogQWN0aW9uSWNvbnM7XG4gIG9uRGVsZXRlOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgb25BZGQ6IChpbmRleDogbnVtYmVyKSA9PiB2b2lkO1xuICBvblRvZ2dsZVNrZXRjaGVyOiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbiAgYWxsVmFsdWVzOiBzdHJpbmdbXSB8IG51bWJlcltdO1xuICBkaXNhYmxlRGVsZXRlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBDYXRlZ29yaWNhbEN1c3RvbVBhbGV0dGVJbnB1dDogUmVhY3QuRkM8Q2F0ZWdvcmljYWxDdXN0b21QYWxldHRlSW5wdXRQcm9wcz4gPSAoe1xuICBpbmRleCxcbiAgaXNTb3J0aW5nLFxuICBjb2xvcixcbiAgY29sb3JNYXAsXG4gIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zLFxuICBvbkRlbGV0ZSxcbiAgZGlzYWJsZURlbGV0ZSxcbiAgb25Ub2dnbGVTa2V0Y2hlcixcbiAgYWRkQ29sb3JNYXBWYWx1ZSxcbiAgcmVtb3ZlQ29sb3JNYXBWYWx1ZSxcbiAgcmVzZXRDb2xvck1hcFZhbHVlLFxuICBzZWxlY3RSZXN0Q29sb3JNYXBWYWx1ZSxcbiAgYWxsVmFsdWVzXG59OiBDYXRlZ29yaWNhbEN1c3RvbVBhbGV0dGVJbnB1dFByb3BzKSA9PiB7XG4gIGNvbnN0IHNlbGVjdGVkVmFsdWVzOiAobnVtYmVyIHwgc3RyaW5nIHwgbnVsbClbXSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghY29sb3JNYXAgfHwgIWNvbG9yTWFwW2luZGV4XSkgcmV0dXJuIFtdO1xuICAgIGNvbnN0IHZhbHVlID0gY29sb3JNYXBbaW5kZXhdWzBdO1xuICAgIGNvbnN0IHZhbHVlcyA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiB2YWx1ZSAhPT0gbnVsbCA/IFt2YWx1ZV0gOiBbXTtcbiAgICByZXR1cm4gdmFsdWVzO1xuICB9LCBbY29sb3JNYXAsIGluZGV4XSk7XG5cbiAgY29uc3Qgb25DbGlja1N3dGFjaCA9IHVzZUNhbGxiYWNrKCgpID0+IG9uVG9nZ2xlU2tldGNoZXIoaW5kZXgpLCBbb25Ub2dnbGVTa2V0Y2hlciwgaW5kZXhdKTtcbiAgY29uc3Qgb25Db2xvckRlbGV0ZSA9IHVzZUNhbGxiYWNrKCgpID0+IG9uRGVsZXRlKGluZGV4KSwgW29uRGVsZXRlLCBpbmRleF0pO1xuXG4gIHJldHVybiAoXG4gICAgPFNvcnRhYmxlSXRlbSBpbmRleD17aW5kZXh9IGlzU29ydGluZz17aXNTb3J0aW5nfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY3VzdG9tLXBhbGV0dGUtaW5wdXRfX2xlZnRcIj5cbiAgICAgICAgPERyYWdIYW5kbGUgY2xhc3NOYW1lPVwibGF5ZXJfX2RyYWctaGFuZGxlXCI+XG4gICAgICAgICAgPGFjdGlvbkljb25zLnNvcnQgaGVpZ2h0PVwiMjBweFwiIC8+XG4gICAgICAgIDwvRHJhZ0hhbmRsZT5cbiAgICAgICAgPENvbG9yU3dhdGNoIGNvbG9yPXtjb2xvcn0gb25DbGljaz17b25DbGlja1N3dGFjaH0gLz5cbiAgICAgICAge2NvbG9yTWFwICYmIGNvbG9yTWFwW2luZGV4XSAmJiAoXG4gICAgICAgICAgPENhdGVnb3JpY2FsU2VsZWN0b3JcbiAgICAgICAgICAgIHNlbGVjdGVkVmFsdWVzPXtzZWxlY3RlZFZhbHVlc31cbiAgICAgICAgICAgIGFsbFZhbHVlcz17YWxsVmFsdWVzfVxuICAgICAgICAgICAgYWRkQ29sb3JNYXBWYWx1ZT17YWRkQ29sb3JNYXBWYWx1ZX1cbiAgICAgICAgICAgIHJlbW92ZUNvbG9yTWFwVmFsdWU9e3JlbW92ZUNvbG9yTWFwVmFsdWV9XG4gICAgICAgICAgICByZXNldENvbG9yTWFwVmFsdWU9e3Jlc2V0Q29sb3JNYXBWYWx1ZX1cbiAgICAgICAgICAgIHNlbGVjdFJlc3RDb2xvck1hcFZhbHVlPXtzZWxlY3RSZXN0Q29sb3JNYXBWYWx1ZX1cbiAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImN1c3RvbS1wYWxldHRlLWlucHV0X19yaWdodFwiPlxuICAgICAgICB7IWRpc2FibGVEZWxldGUgPyAoXG4gICAgICAgICAgPERlbGV0ZUNvbG9yU3RvcCBvbkNvbG9yRGVsZXRlPXtvbkNvbG9yRGVsZXRlfSBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5kZWxldGV9IC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgPC9Tb3J0YWJsZUl0ZW0+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgQm90dG9tQWN0aW9uID0gKHtvbkNhbmNlbCwgb25Db25maXJtfSkgPT4gKFxuICA8U3R5bGVkQnV0dG9uQ29udGFpbmVyPlxuICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiY29uZmlybS1hcHBseV9fYnV0dG9uXCIgc21hbGwgb25DbGljaz17b25Db25maXJtfT5cbiAgICAgIENvbmZpcm1cbiAgICA8L0J1dHRvbj5cbiAgICA8QnV0dG9uIGxpbmsgc21hbGwgb25DbGljaz17b25DYW5jZWx9PlxuICAgICAgQ2FuY2VsXG4gICAgPC9CdXR0b24+XG4gIDwvU3R5bGVkQnV0dG9uQ29udGFpbmVyPlxuKTtcblxuY29uc3QgU3R5bGVkQ3VzdG9tUGFsZXR0ZSA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjdXN0b20tcGFsZXR0ZSdcbn0pYFxuICBtYXJnaW4tdG9wOiA4cHg7XG5gO1xuXG5mdW5jdGlvbiBDdXN0b21QYWxldHRlRmFjdG9yeSgpOiBSZWFjdC5GQzxDdXN0b21QYWxldHRlUHJvcHM+IHtcbiAgY29uc3QgQ3VzdG9tUGFsZXR0ZTogUmVhY3QuRkM8Q3VzdG9tUGFsZXR0ZVByb3BzPiA9ICh7XG4gICAgb3JkaW5hbERvbWFpbixcbiAgICBjdXN0b21QYWxldHRlLFxuICAgIHNldENvbG9yUGFsZXR0ZVVJLFxuICAgIHNob3dTa2V0Y2hlcixcbiAgICBhY3Rpb25JY29ucyA9IGRlZmF1bHRBY3Rpb25JY29ucyxcbiAgICBvbkNhbmNlbCxcbiAgICBvbkFwcGx5XG4gIH0pID0+IHtcbiAgICBjb25zdCBbaXNTb3J0aW5nLCBzZXRJc1NvcnRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IHtjb2xvcnMsIGNvbG9yTWFwfSA9IGN1c3RvbVBhbGV0dGU7XG4gICAgY29uc3QgY29sb3JCcmVha3MgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAgY29sb3JNYXBcbiAgICAgICAgICA/IGN1c3RvbVBhbGV0dGUudHlwZSA9PT0gJ2N1c3RvbSdcbiAgICAgICAgICAgID8gY29sb3JNYXBUb0NvbG9yQnJlYWtzKGNvbG9yTWFwKVxuICAgICAgICAgICAgOiBjb2xvck1hcFRvQ2F0ZWdvcmljYWxDb2xvckJyZWFrcyhjb2xvck1hcClcbiAgICAgICAgICA6IG51bGwsXG4gICAgICBbY3VzdG9tUGFsZXR0ZS50eXBlLCBjb2xvck1hcF1cbiAgICApO1xuXG4gICAgY29uc3Qgb25QaWNrZXJVcGRhdGUgPSB1c2VDYWxsYmFjayhcbiAgICAgIGNvbG9yID0+IHtcbiAgICAgICAgaWYgKGNvbG9yICYmIE51bWJlci5pc0Zpbml0ZShzaG93U2tldGNoZXIpKSB7XG4gICAgICAgICAgY29uc3QgbmV3Q3VzdG9tUGFsZXR0ZSA9IHVwZGF0ZUN1c3RvbVBhbGV0dGVDb2xvcihcbiAgICAgICAgICAgIGN1c3RvbVBhbGV0dGUsXG4gICAgICAgICAgICBOdW1iZXIoc2hvd1NrZXRjaGVyKSxcbiAgICAgICAgICAgIGNvbG9yLmhleFxuICAgICAgICAgICk7XG4gICAgICAgICAgc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgICAgICAgY3VzdG9tUGFsZXR0ZTogbmV3Q3VzdG9tUGFsZXR0ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2N1c3RvbVBhbGV0dGUsIHNob3dTa2V0Y2hlciwgc2V0Q29sb3JQYWxldHRlVUldXG4gICAgKTtcbiAgICBjb25zdCBvblRvZ2dsZVNrZXRjaGVyID0gdXNlQ2FsbGJhY2soXG4gICAgICB2YWwgPT4ge1xuICAgICAgICBzZXRDb2xvclBhbGV0dGVVSSh7XG4gICAgICAgICAgc2hvd1NrZXRjaGVyOiB2YWxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgW3NldENvbG9yUGFsZXR0ZVVJXVxuICAgICk7XG4gICAgY29uc3Qgb25EZWxldGUgPSB1c2VDYWxsYmFjayhcbiAgICAgIGluZGV4ID0+IHtcbiAgICAgICAgY29uc3QgbmV3Q3VzdG9tUGFsZXR0ZSA9IHJlbW92ZUN1c3RvbVBhbGV0dGVDb2xvcihjdXN0b21QYWxldHRlLCBpbmRleCk7XG4gICAgICAgIHNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgICAgICBjdXN0b21QYWxldHRlOiBuZXdDdXN0b21QYWxldHRlXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIFtjdXN0b21QYWxldHRlLCBzZXRDb2xvclBhbGV0dGVVSV1cbiAgICApO1xuXG4gICAgY29uc3Qgb25BZGQgPSB1c2VDYWxsYmFjayhcbiAgICAgIGluZGV4ID0+IHtcbiAgICAgICAgLy8gYWRkIGNvbG9yIGF0IHRoZSBlbmRcbiAgICAgICAgY29uc3QgbmV3Q3VzdG9tUGFsZXR0ZSA9IGFkZEN1c3RvbVBhbGV0dGVDb2xvcihjdXN0b21QYWxldHRlLCBpbmRleCk7XG4gICAgICAgIHNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgICAgICBjdXN0b21QYWxldHRlOiBuZXdDdXN0b21QYWxldHRlXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIFtjdXN0b21QYWxldHRlLCBzZXRDb2xvclBhbGV0dGVVSV1cbiAgICApO1xuXG4gICAgY29uc3Qgb25BZGRDYXRlZ29yaWNhbFN0ZXAgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBvbkFkZChjb2xvcnMubGVuZ3RoIC0gMSk7XG4gICAgfSwgW2NvbG9ycy5sZW5ndGgsIG9uQWRkXSk7XG5cbiAgICBjb25zdCBvblN3YXRjaENsb3NlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgb25Ub2dnbGVTa2V0Y2hlcihmYWxzZSk7XG4gICAgfSwgW29uVG9nZ2xlU2tldGNoZXJdKTtcblxuICAgIGNvbnN0IG9uQ29uZmlybSA9IHVzZUNhbGxiYWNrKFxuICAgICAgZXZlbnQgPT4ge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgb25DYW5jZWwoKTtcbiAgICAgICAgb25BcHBseShldmVudCk7XG4gICAgICB9LFxuICAgICAgW29uQ2FuY2VsLCBvbkFwcGx5XVxuICAgICk7XG5cbiAgICBjb25zdCBvblNvcnRFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAgICh7b2xkSW5kZXgsIG5ld0luZGV4fSkgPT4ge1xuICAgICAgICBjb25zdCBuZXdDdXN0b21QYWxldHRlID0gc29ydEN1c3RvbVBhbGV0dGVDb2xvcihjdXN0b21QYWxldHRlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgICBzZXRDb2xvclBhbGV0dGVVSSh7XG4gICAgICAgICAgY3VzdG9tUGFsZXR0ZTogbmV3Q3VzdG9tUGFsZXR0ZVxuICAgICAgICB9KTtcbiAgICAgICAgc2V0SXNTb3J0aW5nKGZhbHNlKTtcbiAgICAgIH0sXG4gICAgICBbY3VzdG9tUGFsZXR0ZSwgc2V0Q29sb3JQYWxldHRlVUksIHNldElzU29ydGluZ11cbiAgICApO1xuXG4gICAgY29uc3Qgb25Tb3J0U3RhcnQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRJc1NvcnRpbmcodHJ1ZSk7XG4gICAgfSwgW3NldElzU29ydGluZ10pO1xuXG4gICAgY29uc3QgaW5wdXRDb2xvckhleCA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGluZGV4LCB2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBuZXdDdXN0b21QYWxldHRlID0gdXBkYXRlQ3VzdG9tUGFsZXR0ZUNvbG9yKGN1c3RvbVBhbGV0dGUsIGluZGV4LCB2YWx1ZSk7XG4gICAgICAgIC8vIHNldENvbG9ycyhuZXdDb2xvcnMpO1xuICAgICAgICBzZXRDb2xvclBhbGV0dGVVSSh7XG4gICAgICAgICAgY3VzdG9tUGFsZXR0ZTogbmV3Q3VzdG9tUGFsZXR0ZVxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBbY3VzdG9tUGFsZXR0ZSwgc2V0Q29sb3JQYWxldHRlVUldXG4gICAgKTtcblxuICAgIGNvbnN0IGVkaXRDb2xvck1hcFZhbHVlID0gdXNlQ2FsbGJhY2soXG4gICAgICAodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICAgIGlmICghY3VzdG9tUGFsZXR0ZS5jb2xvck1hcCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdDb2xvck1hcCA9IGN1c3RvbVBhbGV0dGUuY29sb3JNYXAubWFwKFxuICAgICAgICAgIChjbSwgaSkgPT4gKGkgPT09IGluZGV4ID8gW3ZhbHVlLCBjbVsxXV0gOiBjbSkgYXMgW3N0cmluZywgc3RyaW5nXVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIHNvcnQgdGhlIHVzZXIgaW5wdXRzIGluIGNhc2UgdGhlIGJyZWFrIHZhbHVlcyBhcmUgbm90IG9yZGVyZWRcbiAgICAgICAgY29uc3QgYnJlYWtzID0gbmV3Q29sb3JNYXBcbiAgICAgICAgICAubWFwKGNtID0+IGNtWzBdIGFzIHN0cmluZyB8IG51bGwpXG4gICAgICAgICAgLnNsaWNlKDAsIC0xKVxuICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBOdW1iZXIoYSkgLSBOdW1iZXIoYikpXG4gICAgICAgICAgLmNvbmNhdChudWxsKTtcbiAgICAgICAgY29uc3Qgc29ydGVkTmV3Q29sb3JNYXA6IENvbG9yTWFwID0gbmV3Q29sb3JNYXAubWFwKChjbSwgaSkgPT4gW2JyZWFrc1tpXSwgY21bMV1dKTtcblxuICAgICAgICBzZXRDb2xvclBhbGV0dGVVSSh7XG4gICAgICAgICAgY3VzdG9tUGFsZXR0ZToge1xuICAgICAgICAgICAgLi4uY3VzdG9tUGFsZXR0ZSxcbiAgICAgICAgICAgIGNvbG9yTWFwOiBzb3J0ZWROZXdDb2xvck1hcFxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgW3NldENvbG9yUGFsZXR0ZVVJLCBjdXN0b21QYWxldHRlXVxuICAgICk7XG5cbiAgICAvLyByZW1vdmUgYSBzZWxlY3RlZCBjYXRlZ29yeSBpdGVtIGZyb20gYSBjb2xvciBtYXBcbiAgICBjb25zdCByZW1vdmVDYXRlZ29yaWNhbENvbG9yTWFwVmFsdWUgPSB1c2VDYWxsYmFjayhcbiAgICAgIChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoIWNvbG9yTWFwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgICAgICBjdXN0b21QYWxldHRlOiB7XG4gICAgICAgICAgICAuLi5jdXN0b21QYWxldHRlLFxuICAgICAgICAgICAgY29sb3JNYXA6IHJlbW92ZUNhdGVnb3JpY2FsVmFsdWVGcm9tQ29sb3JNYXAoY29sb3JNYXAsIGl0ZW0sIGluZGV4KVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgW3NldENvbG9yUGFsZXR0ZVVJLCBjdXN0b21QYWxldHRlLCBjb2xvck1hcF1cbiAgICApO1xuXG4gICAgLy8gYWRkIHNlbGVjdGVkIGNhdGVnb3JpY2FsIGl0ZW1zIHRvIGEgY29sb3IgbWFwXG4gICAgY29uc3QgYWRkQ2F0ZWdvcmljYWxDb2xvck1hcFZhbHVlID0gdXNlQ2FsbGJhY2soXG4gICAgICAoaXRlbXMsIGluZGV4KSA9PiB7XG4gICAgICAgIGlmICghY29sb3JNYXApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgICAgIGN1c3RvbVBhbGV0dGU6IHtcbiAgICAgICAgICAgIC4uLmN1c3RvbVBhbGV0dGUsXG4gICAgICAgICAgICBjb2xvck1hcDogYWRkQ2F0ZWdvcmljYWxWYWx1ZXNUb0NvbG9yTWFwKGNvbG9yTWFwLCBpdGVtcywgaW5kZXgpXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBbc2V0Q29sb3JQYWxldHRlVUksIGN1c3RvbVBhbGV0dGUsIGNvbG9yTWFwXVxuICAgICk7XG5cbiAgICAvLyByZXNldCBhIGNvbG9yIG1hcFxuICAgIGNvbnN0IHJlc2V0Q2F0ZWdvcmljYWxDb2xvck1hcFZhbHVlID0gdXNlQ2FsbGJhY2soXG4gICAgICBpbmRleCA9PiB7XG4gICAgICAgIGlmICghY29sb3JNYXApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgICAgIGN1c3RvbVBhbGV0dGU6IHtcbiAgICAgICAgICAgIC4uLmN1c3RvbVBhbGV0dGUsXG4gICAgICAgICAgICBjb2xvck1hcDogcmVzZXRDYXRlZ29yaWNhbENvbG9yTWFwQnlJbmRleChjb2xvck1hcCwgaW5kZXgpXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBbc2V0Q29sb3JQYWxldHRlVUksIGN1c3RvbVBhbGV0dGUsIGNvbG9yTWFwXVxuICAgICk7XG5cbiAgICAvLyBzZWxlY3QgdGhlIHJlc3QgdmFsdWVzIGZvciBhIGNvbG9yIG1hcFxuICAgIGNvbnN0IHNlbGVjdFJlc3RDYXRlZ29yaWNhbENvbG9yTWFwID0gdXNlQ2FsbGJhY2soXG4gICAgICBpbmRleCA9PiB7XG4gICAgICAgIGlmICghY29sb3JNYXApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgICAgIGN1c3RvbVBhbGV0dGU6IHtcbiAgICAgICAgICAgIC4uLmN1c3RvbVBhbGV0dGUsXG4gICAgICAgICAgICBjb2xvck1hcDogc2VsZWN0UmVzdENhdGVnb3JpY2FsQ29sb3JNYXBCeUluZGV4KGNvbG9yTWFwLCBpbmRleCwgb3JkaW5hbERvbWFpbilcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIFtzZXRDb2xvclBhbGV0dGVVSSwgY3VzdG9tUGFsZXR0ZSwgY29sb3JNYXAsIG9yZGluYWxEb21haW5dXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkQ3VzdG9tUGFsZXR0ZT5cbiAgICAgICAgPFdyYXBwZWRTb3J0YWJsZUNvbnRhaW5lclxuICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1wYWxldHRlX19zb3J0YWJsZS1jb250YWluZXJcIlxuICAgICAgICAgIG9uU29ydEVuZD17b25Tb3J0RW5kfVxuICAgICAgICAgIG9uU29ydFN0YXJ0PXtvblNvcnRTdGFydH1cbiAgICAgICAgICBsb2NrQXhpcz1cInlcIlxuICAgICAgICAgIGhlbHBlckNsYXNzPVwic29ydGluZy1jb2xvcnNcIlxuICAgICAgICAgIHVzZURyYWdIYW5kbGVcbiAgICAgICAgPlxuICAgICAgICAgIHtjb2xvcnMubWFwKChjb2xvciwgaW5kZXgpID0+XG4gICAgICAgICAgICBjdXN0b21QYWxldHRlLnR5cGUgPT09ICdjdXN0b20nID8gKFxuICAgICAgICAgICAgICA8Q3VzdG9tUGFsZXR0ZUlucHV0XG4gICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICBjb2xvckJyZWFrcz17Y29sb3JCcmVha3N9XG4gICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgIGlzU29ydGluZz17aXNTb3J0aW5nfVxuICAgICAgICAgICAgICAgIGNvbG9yPXtjb2xvcn1cbiAgICAgICAgICAgICAgICBpbnB1dENvbG9ySGV4PXtpbnB1dENvbG9ySGV4fVxuICAgICAgICAgICAgICAgIGRpc2FibGVBcHBlbmQ9e2NvbG9ycy5sZW5ndGggPj0gMjB9XG4gICAgICAgICAgICAgICAgZGlzYWJsZURlbGV0ZT17Y29sb3JzLmxlbmd0aCA8PSAyfVxuICAgICAgICAgICAgICAgIGFjdGlvbkljb25zPXthY3Rpb25JY29uc31cbiAgICAgICAgICAgICAgICBvbkFkZD17b25BZGR9XG4gICAgICAgICAgICAgICAgb25EZWxldGU9e29uRGVsZXRlfVxuICAgICAgICAgICAgICAgIG9uVG9nZ2xlU2tldGNoZXI9e29uVG9nZ2xlU2tldGNoZXJ9XG4gICAgICAgICAgICAgICAgZWRpdENvbG9yTWFwVmFsdWU9e2VkaXRDb2xvck1hcFZhbHVlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgb3JkaW5hbERvbWFpbiAmJiAoXG4gICAgICAgICAgICAgICAgPENhdGVnb3JpY2FsQ3VzdG9tUGFsZXR0ZUlucHV0XG4gICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgY29sb3JNYXA9e2NvbG9yTWFwfVxuICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgaXNTb3J0aW5nPXtpc1NvcnRpbmd9XG4gICAgICAgICAgICAgICAgICBjb2xvcj17Y29sb3J9XG4gICAgICAgICAgICAgICAgICBhY3Rpb25JY29ucz17YWN0aW9uSWNvbnN9XG4gICAgICAgICAgICAgICAgICBvbkFkZD17b25BZGR9XG4gICAgICAgICAgICAgICAgICBvbkRlbGV0ZT17b25EZWxldGV9XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlRGVsZXRlPXtjb2xvcnMubGVuZ3RoIDw9IDJ9XG4gICAgICAgICAgICAgICAgICBvblRvZ2dsZVNrZXRjaGVyPXtvblRvZ2dsZVNrZXRjaGVyfVxuICAgICAgICAgICAgICAgICAgYWRkQ29sb3JNYXBWYWx1ZT17YWRkQ2F0ZWdvcmljYWxDb2xvck1hcFZhbHVlfVxuICAgICAgICAgICAgICAgICAgcmVtb3ZlQ29sb3JNYXBWYWx1ZT17cmVtb3ZlQ2F0ZWdvcmljYWxDb2xvck1hcFZhbHVlfVxuICAgICAgICAgICAgICAgICAgcmVzZXRDb2xvck1hcFZhbHVlPXtyZXNldENhdGVnb3JpY2FsQ29sb3JNYXBWYWx1ZX1cbiAgICAgICAgICAgICAgICAgIHNlbGVjdFJlc3RDb2xvck1hcFZhbHVlPXtzZWxlY3RSZXN0Q2F0ZWdvcmljYWxDb2xvck1hcH1cbiAgICAgICAgICAgICAgICAgIGFsbFZhbHVlcz17b3JkaW5hbERvbWFpbn1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgKX1cbiAgICAgICAgPC9XcmFwcGVkU29ydGFibGVDb250YWluZXI+XG4gICAgICAgIHtjdXN0b21QYWxldHRlLnR5cGUgPT09ICdjdXN0b21PcmRpbmFsJyAmJiAoXG4gICAgICAgICAgPFN0eWxlZEFkZFN0ZXBDb250YWluZXI+XG4gICAgICAgICAgICA8QWRkQ29sb3JTdG9wIG9uQ29sb3JBZGQ9e29uQWRkQ2F0ZWdvcmljYWxTdGVwfSBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5hZGR9IC8+XG4gICAgICAgICAgICA8QnV0dG9uIGxpbmsgc2l6ZT1cInNtYWxcIiBvbkNsaWNrPXtvbkFkZENhdGVnb3JpY2FsU3RlcH0+XG4gICAgICAgICAgICAgIEFkZCBTdGVwXG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1N0eWxlZEFkZFN0ZXBDb250YWluZXI+XG4gICAgICAgICl9XG4gICAgICAgIDxEaXZpZGVyTGluZSAvPlxuICAgICAgICB7LyogQ2FuY2VsIG9yIENvbmZpcm0gQnV0dG9ucyAqL31cbiAgICAgICAgPEJvdHRvbUFjdGlvbiBvbkNhbmNlbD17b25DYW5jZWx9IG9uQ29uZmlybT17b25Db25maXJtfSAvPlxuICAgICAgICA8UG9ydGFsZWQgaXNPcGVuZWQ9e3Nob3dTa2V0Y2hlciAhPT0gZmFsc2V9IGxlZnQ9ezI4MH0gdG9wPXstMzAwfSBvbkNsb3NlPXtvblN3YXRjaENsb3NlfT5cbiAgICAgICAgICA8Q3VzdG9tUGlja2VyIGNvbG9yPXtjb2xvcnNbTnVtYmVyKHNob3dTa2V0Y2hlcildfSBvbkNoYW5nZT17b25QaWNrZXJVcGRhdGV9IC8+XG4gICAgICAgIDwvUG9ydGFsZWQ+XG4gICAgICA8L1N0eWxlZEN1c3RvbVBhbGV0dGU+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gQ3VzdG9tUGFsZXR0ZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQ3VzdG9tUGFsZXR0ZUZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxXQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFTQSxJQUFBRyxPQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxpQkFBQSxHQUFBSixPQUFBO0FBT0EsSUFBQUssaUJBQUEsR0FBQUgsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFNLFNBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLGtCQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxVQUFBLEdBQUFULHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUyxnQkFBQSxHQUFBVixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVUsYUFBQSxHQUFBUix1QkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQVcsWUFBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksVUFBQSxHQUFBWixPQUFBO0FBRUEsSUFBQWEsTUFBQSxHQUFBYixPQUFBO0FB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
|
|
@@ -20,7 +20,7 @@ var StyledDatasetTitle = _styledComponents["default"].div(_templateObject || (_t
|
|
|
20
20
|
}, function (props) {
|
|
21
21
|
return props.theme.subtextColor;
|
|
22
22
|
}, function (props) {
|
|
23
|
-
return props
|
|
23
|
+
return props.$showDatasetList ? '16px' : '4px';
|
|
24
24
|
});
|
|
25
25
|
var StyledDatasetSection = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n border-bottom: 1px solid ", ";\n"])), function (props) {
|
|
26
26
|
return props.theme.sidePanelBorderColor;
|
|
@@ -56,7 +56,7 @@ function DatasetSectionFactory(SourceDataCatalog, AddDataButton) {
|
|
|
56
56
|
showAddDataModal = props.showAddDataModal;
|
|
57
57
|
var datasetCount = Object.keys(datasets).length;
|
|
58
58
|
return /*#__PURE__*/_react["default"].createElement(StyledDatasetSection, null, /*#__PURE__*/_react["default"].createElement(StyledDatasetTitle, {
|
|
59
|
-
showDatasetList: showDatasetList
|
|
59
|
+
$showDatasetList: showDatasetList
|
|
60
60
|
}, /*#__PURE__*/_react["default"].createElement("span", null, "Datasets", datasetCount ? "(".concat(datasetCount, ")") : ''), /*#__PURE__*/_react["default"].createElement(AddDataButton, {
|
|
61
61
|
onClick: showAddDataModal,
|
|
62
62
|
isInactive: !datasetCount
|
|
@@ -71,4 +71,4 @@ function DatasetSectionFactory(SourceDataCatalog, AddDataButton) {
|
|
|
71
71
|
return DatasetSection;
|
|
72
72
|
}
|
|
73
73
|
var _default = exports["default"] = DatasetSectionFactory;
|
|
74
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2xvY2FsaXphdGlvbiIsIl9pY29ucyIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9zb3VyY2VEYXRhQ2F0YWxvZyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJTdHlsZWREYXRhc2V0VGl0bGUiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJzaWRlUGFuZWxUaXRsZUxpbmVIZWlnaHQiLCJzdWJ0ZXh0Q29sb3IiLCIkc2hvd0RhdGFzZXRMaXN0IiwiU3R5bGVkRGF0YXNldFNlY3Rpb24iLCJzaWRlUGFuZWxCb3JkZXJDb2xvciIsIkFkZERhdGFCdXR0b25GYWN0b3J5IiwiQWRkRGF0YUJ1dHRvbiIsIlJlYWN0IiwibWVtbyIsIl9yZWYiLCJvbkNsaWNrIiwiaXNJbmFjdGl2ZSIsImNyZWF0ZUVsZW1lbnQiLCJCdXR0b24iLCJjbGFzc05hbWUiLCJpbmFjdGl2ZSIsIndpZHRoIiwic2Vjb25kYXJ5IiwiQWRkIiwiaGVpZ2h0IiwiRm9ybWF0dGVkTWVzc2FnZSIsImlkIiwiZGlzcGxheU5hbWUiLCJEYXRhc2V0U2VjdGlvbkZhY3RvcnkiLCJkZXBzIiwiU291cmNlRGF0YUNhdGFsb2dGYWN0b3J5IiwiU291cmNlRGF0YUNhdGFsb2ciLCJEYXRhc2V0U2VjdGlvbiIsImRhdGFzZXRzIiwic2hvd0RhdGFzZXRUYWJsZSIsInVwZGF0ZVRhYmxlQ29sb3IiLCJzaG93RGVsZXRlRGF0YXNldCIsInJlbW92ZURhdGFzZXQiLCJzaG93RGF0YXNldExpc3QiLCJzaG93QWRkRGF0YU1vZGFsIiwiZGF0YXNldENvdW50IiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImNvbmNhdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2RhdGFzZXQtc2VjdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge0FkZH0gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7QnV0dG9ufSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgU291cmNlRGF0YUNhdGFsb2dGYWN0b3J5IGZyb20gJy4uL2NvbW1vbi9zb3VyY2UtZGF0YS1jYXRhbG9nJztcbmltcG9ydCB7VUlTdGF0ZUFjdGlvbnMsIFZpc1N0YXRlQWN0aW9ucywgQWN0aW9uSGFuZGxlcn0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7RGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuXG50eXBlIEFkZERhdGFCdXR0b25Qcm9wcyA9IHtcbiAgb25DbGljazogKCkgPT4gdm9pZDtcbiAgaXNJbmFjdGl2ZTogYm9vbGVhbjtcbn07XG5cbnR5cGUgRGF0YXNldFNlY3Rpb25Qcm9wcyA9IHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBzaG93RGF0YXNldExpc3Q/OiBib29sZWFuO1xuICBzaG93RGVsZXRlRGF0YXNldD86IGJvb2xlYW47XG4gIHNob3dEYXRhc2V0VGFibGU6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFZpc1N0YXRlQWN0aW9ucy5zaG93RGF0YXNldFRhYmxlPjtcbiAgdXBkYXRlVGFibGVDb2xvcjogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnVwZGF0ZVRhYmxlQ29sb3I+O1xuICByZW1vdmVEYXRhc2V0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBVSVN0YXRlQWN0aW9ucy5vcGVuRGVsZXRlTW9kYWw+O1xuICBzaG93QWRkRGF0YU1vZGFsOiAoKSA9PiB2b2lkO1xufTtcblxuY29uc3QgU3R5bGVkRGF0YXNldFRpdGxlID0gc3R5bGVkLmRpdjx7JHNob3dEYXRhc2V0TGlzdD86IGJvb2xlYW59PmBcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsVGl0bGVMaW5lSGVpZ2h0fTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuMjVweDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLiRzaG93RGF0YXNldExpc3QgPyAnMTZweCcgOiAnNHB4Jyl9O1xuYDtcblxuY29uc3QgU3R5bGVkRGF0YXNldFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxCb3JkZXJDb2xvcn07XG5gO1xuXG5leHBvcnQgZnVuY3Rpb24gQWRkRGF0YUJ1dHRvbkZhY3RvcnkoKSB7XG4gIGNvbnN0IEFkZERhdGFCdXR0b246IFJlYWN0LkZDPEFkZERhdGFCdXR0b25Qcm9wcz4gPSBSZWFjdC5tZW1vKCh7b25DbGljaywgaXNJbmFjdGl2ZX0pID0+IChcbiAgICA8QnV0dG9uXG4gICAgICBjbGFzc05hbWU9XCJhZGQtZGF0YS1idXR0b25cIlxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIGluYWN0aXZlPXshaXNJbmFjdGl2ZX1cbiAgICAgIHdpZHRoPVwiMTA1cHhcIlxuICAgICAgc2Vjb25kYXJ5XG4gICAgPlxuICAgICAgPEFkZCBoZWlnaHQ9XCIxMnB4XCIgLz5cbiAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbGF5ZXJNYW5hZ2VyLmFkZERhdGEnfSAvPlxuICAgIDwvQnV0dG9uPlxuICApKTtcbiAgQWRkRGF0YUJ1dHRvbi5kaXNwbGF5TmFtZSA9ICdBZGREYXRhQnV0dG9uJztcbiAgcmV0dXJuIEFkZERhdGFCdXR0b247XG59XG5cbkRhdGFzZXRTZWN0aW9uRmFjdG9yeS5kZXBzID0gW1NvdXJjZURhdGFDYXRhbG9nRmFjdG9yeSwgQWRkRGF0YUJ1dHRvbkZhY3RvcnldO1xuXG5mdW5jdGlvbiBEYXRhc2V0U2VjdGlvbkZhY3RvcnkoXG4gIFNvdXJjZURhdGFDYXRhbG9nOiBSZXR1cm5UeXBlPHR5cGVvZiBTb3VyY2VEYXRhQ2F0YWxvZ0ZhY3Rvcnk+LFxuICBBZGREYXRhQnV0dG9uOiBSZXR1cm5UeXBlPHR5cGVvZiBBZGREYXRhQnV0dG9uRmFjdG9yeT5cbikge1xuICBjb25zdCBEYXRhc2V0U2VjdGlvbjogUmVhY3QuRkM8RGF0YXNldFNlY3Rpb25Qcm9wcz4gPSBwcm9wcyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgZGF0YXNldHMsXG4gICAgICBzaG93RGF0YXNldFRhYmxlLFxuICAgICAgdXBkYXRlVGFibGVDb2xvcixcbiAgICAgIHNob3dEZWxldGVEYXRhc2V0LFxuICAgICAgcmVtb3ZlRGF0YXNldCxcbiAgICAgIHNob3dEYXRhc2V0TGlzdCxcbiAgICAgIHNob3dBZGREYXRhTW9kYWxcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgZGF0YXNldENvdW50ID0gT2JqZWN0LmtleXMoZGF0YXNldHMpLmxlbmd0aDtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRGF0YXNldFNlY3Rpb24+XG4gICAgICAgIDxTdHlsZWREYXRhc2V0VGl0bGUgJHNob3dEYXRhc2V0TGlzdD17c2hvd0RhdGFzZXRMaXN0fT5cbiAgICAgICAgICA8c3Bhbj5EYXRhc2V0c3tkYXRhc2V0Q291bnQgPyBgKCR7ZGF0YXNldENvdW50fSlgIDogJyd9PC9zcGFuPlxuICAgICAgICAgIDxBZGREYXRhQnV0dG9uIG9uQ2xpY2s9e3Nob3dBZGREYXRhTW9kYWx9IGlzSW5hY3RpdmU9eyFkYXRhc2V0Q291bnR9IC8+XG4gICAgICAgIDwvU3R5bGVkRGF0YXNldFRpdGxlPlxuICAgICAgICB7c2hvd0RhdGFzZXRMaXN0ICYmIChcbiAgICAgICAgICA8U291cmNlRGF0YUNhdGFsb2dcbiAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgIHNob3dEYXRhc2V0VGFibGU9e3Nob3dEYXRhc2V0VGFibGV9XG4gICAgICAgICAgICB1cGRhdGVUYWJsZUNvbG9yPXt1cGRhdGVUYWJsZUNvbG9yfVxuICAgICAgICAgICAgcmVtb3ZlRGF0YXNldD17cmVtb3ZlRGF0YXNldH1cbiAgICAgICAgICAgIHNob3dEZWxldGVEYXRhc2V0PXtzaG93RGVsZXRlRGF0YXNldH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWREYXRhc2V0U2VjdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBEYXRhc2V0U2VjdGlvbjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRGF0YXNldFNlY3Rpb25GYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsYUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksa0JBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLGtCQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFBcUUsSUFBQU0sZUFBQSxFQUFBQyxnQkFBQSxFQVRyRTtBQUNBO0FBMkJBLElBQU1DLGtCQUFrQixHQUFHQyw0QkFBTSxDQUFDQyxHQUFHLENBQUFKLGVBQUEsS0FBQUEsZUFBQSxPQUFBSyx1QkFBQSxzT0FDcEIsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDQyx3QkFBd0I7QUFBQSxHQUduRCxVQUFBRixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNFLFlBQVk7QUFBQSxHQUt6QixVQUFBSCxLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDSSxnQkFBZ0IsR0FBRyxNQUFNLEdBQUcsS0FBSztBQUFBLENBQUMsQ0FDcEU7QUFFRCxJQUFNQyxvQkFBb0IsR0FBR1IsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBSCxnQkFBQSxLQUFBQSxnQkFBQSxPQUFBSSx1QkFBQSx5REFDVixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNLLG9CQUFvQjtBQUFBLEVBQ3JFO0FBRU0sU0FBU0Msb0JBQW9CQSxDQUFBLEVBQUc7RUFDckMsSUFBTUMsYUFBMkMsZ0JBQUdDLGlCQUFLLENBQUNDLElBQUksQ0FBQyxVQUFBQyxJQUFBO0lBQUEsSUFBRUMsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU87TUFBRUMsVUFBVSxHQUFBRixJQUFBLENBQVZFLFVBQVU7SUFBQSxvQkFDbEYzQixNQUFBLFlBQUE0QixhQUFBLENBQUN0QixrQkFBQSxDQUFBdUIsTUFBTTtNQUNMQyxTQUFTLEVBQUMsaUJBQWlCO01BQzNCSixPQUFPLEVBQUVBLE9BQVE7TUFDakJLLFFBQVEsRUFBRSxDQUFDSixVQUFXO01BQ3RCSyxLQUFLLEVBQUMsT0FBTztNQUNiQyxTQUFTO0lBQUEsZ0JBRVRqQyxNQUFBLFlBQUE0QixhQUFBLENBQUN2QixNQUFBLENBQUE2QixHQUFHO01BQUNDLE1BQU0sRUFBQztJQUFNLENBQUUsQ0FBQyxlQUNyQm5DLE1BQUEsWUFBQTRCLGFBQUEsQ0FBQ3hCLGFBQUEsQ0FBQWdDLGdCQUFnQjtNQUFDQyxFQUFFLEVBQUU7SUFBdUIsQ0FBRSxDQUN6QyxDQUFDO0VBQUEsQ0FDVixDQUFDO0VBQ0ZmLGFBQWEsQ0FBQ2dCLFdBQVcsR0FBRyxlQUFlO0VBQzNDLE9BQU9oQixhQUFhO0FBQ3RCO0FBRUFpQixxQkFBcUIsQ0FBQ0MsSUFBSSxHQUFHLENBQUNDLDZCQUF3QixFQUFFcEIsb0JBQW9CLENBQUM7QUFFN0UsU0FBU2tCLHFCQUFxQkEsQ0FDNUJHLGlCQUE4RCxFQUM5RHBCLGFBQXNELEVBQ3REO0VBQ0EsSUFBTXFCLGNBQTZDLEdBQUcsU0FBaERBLGNBQTZDQSxDQUFHN0IsS0FBSyxFQUFJO0lBQzdELElBQ0U4QixRQUFRLEdBT045QixLQUFLLENBUFA4QixRQUFRO01BQ1JDLGdCQUFnQixHQU1kL0IsS0FBSyxDQU5QK0IsZ0JBQWdCO01BQ2hCQyxnQkFBZ0IsR0FLZGhDLEtBQUssQ0FMUGdDLGdCQUFnQjtNQUNoQkMsaUJBQWlCLEdBSWZqQyxLQUFLLENBSlBpQyxpQkFBaUI7TUFDakJDLGFBQWEsR0FHWGxDLEtBQUssQ0FIUGtDLGFBQWE7TUFDYkMsZUFBZSxHQUVibkMsS0FBSyxDQUZQbUMsZUFBZTtNQUNmQyxnQkFBZ0IsR0FDZHBDLEtBQUssQ0FEUG9DLGdCQUFnQjtJQUVsQixJQUFNQyxZQUFZLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDVCxRQUFRLENBQUMsQ0FBQ1UsTUFBTTtJQUVqRCxvQkFDRXRELE1BQUEsWUFBQTRCLGFBQUEsQ0FBQ1Qsb0JBQW9CLHFCQUNuQm5CLE1BQUEsWUFBQTRCLGFBQUEsQ0FBQ2xCLGtCQUFrQjtNQUFDUSxnQkFBZ0IsRUFBRStCO0lBQWdCLGdCQUNwRGpELE1BQUEsWUFBQTRCLGFBQUEsZUFBTSxVQUFRLEVBQUN1QixZQUFZLE9BQUFJLE1BQUEsQ0FBT0osWUFBWSxTQUFNLEVBQVMsQ0FBQyxlQUM5RG5ELE1BQUEsWUFBQTRCLGFBQUEsQ0FBQ04sYUFBYTtNQUFDSSxPQUFPLEVBQUV3QixnQkFBaUI7TUFBQ3ZCLFVBQVUsRUFBRSxDQUFDd0I7SUFBYSxDQUFFLENBQ3BELENBQUMsRUFDcEJGLGVBQWUsaUJBQ2RqRCxNQUFBLFlBQUE0QixhQUFBLENBQUNjLGlCQUFpQjtNQUNoQkUsUUFBUSxFQUFFQSxRQUFTO01BQ25CQyxnQkFBZ0IsRUFBRUEsZ0JBQWlCO01BQ25DQyxnQkFBZ0IsRUFBRUEsZ0JBQWlCO01BQ25DRSxhQUFhLEVBQUVBLGFBQWM7TUFDN0JELGlCQUFpQixFQUFFQTtJQUFrQixDQUN0QyxDQUVpQixDQUFDO0VBRTNCLENBQUM7RUFFRCxPQUFPSixjQUFjO0FBQ3ZCO0FBQUMsSUFBQWEsUUFBQSxHQUFBQyxPQUFBLGNBRWNsQixxQkFBcUIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -18,6 +18,7 @@ var _reactIntl = require("react-intl");
|
|
|
18
18
|
var _switch = _interopRequireDefault(require("../../common/switch"));
|
|
19
19
|
var _infoHelper = _interopRequireDefault(require("../../common/info-helper"));
|
|
20
20
|
var _icons = require("../../common/icons");
|
|
21
|
+
var _styledComponents2 = require("../../common/styled-components");
|
|
21
22
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7; // SPDX-License-Identifier: MIT
|
|
22
23
|
// Copyright contributors to the kepler.gl project
|
|
23
24
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
@@ -36,7 +37,9 @@ var StyledLayerConfigGroup = exports.StyledLayerConfigGroup = _styledComponents[
|
|
|
36
37
|
}, function (props) {
|
|
37
38
|
return props.theme.layerConfigGroupMarginBottom;
|
|
38
39
|
});
|
|
39
|
-
var StyledConfigGroupHeader = exports.StyledConfigGroupHeader = _styledComponents["default"].div.
|
|
40
|
+
var StyledConfigGroupHeader = exports.StyledConfigGroupHeader = _styledComponents["default"].div.withConfig({
|
|
41
|
+
shouldForwardProp: _styledComponents2.shouldForwardProp
|
|
42
|
+
}).attrs({
|
|
40
43
|
className: 'layer-config-group__header'
|
|
41
44
|
})(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 12px;\n cursor: default;\n\n &:hover {\n ", "\n .layer-config-group__label {\n color: ", ";\n }\n\n .layer-config-group__action {\n color: ", ";\n }\n }\n"])), function (props) {
|
|
42
45
|
return props.collapsible && 'cursor: pointer;';
|
|
@@ -138,4 +141,4 @@ function LayerConfigGroupFactory(LayerConfigGroupLabel) {
|
|
|
138
141
|
return LayerConfigGroup;
|
|
139
142
|
}
|
|
140
143
|
var _default = exports["default"] = LayerConfigGroupFactory;
|
|
141
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lcyIsIl9yZWFjdEludGwiLCJfc3dpdGNoIiwiX2luZm9IZWxwZXIiLCJfaWNvbnMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl90ZW1wbGF0ZU9iamVjdDQiLCJfdGVtcGxhdGVPYmplY3Q1IiwiX3RlbXBsYXRlT2JqZWN0NiIsIl90ZW1wbGF0ZU9iamVjdDciLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJTdHlsZWRMYXllckNvbmZpZ0dyb3VwQWN0aW9uIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsInRleHRDb2xvciIsIkNvbmZpZ0dyb3VwQ29sbGFwc2libGVDb250ZW50IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJDb25maWdHcm91cENvbGxhcHNpYmxlSGVhZGVyIiwiU3R5bGVkTGF5ZXJDb25maWdHcm91cCIsImxheWVyQ29uZmlnR3JvdXBQYWRkaW5nTGVmdCIsImxheWVyQ29uZmlnR3JvdXBNYXJnaW5Cb3R0b20iLCJTdHlsZWRDb25maWdHcm91cEhlYWRlciIsImNvbGxhcHNpYmxlIiwidGV4dENvbG9ySGwiLCJDb25maWdHcm91cENvbnRlbnQiLCJMYXllckNvbmZpZ0dyb3VwTGFiZWxGYWN0b3J5IiwiZGVwcyIsIkluZm9IZWxwZXJGYWN0b3J5IiwiSW5mb0hlbHBlciIsIlN0eWxlZExheWVyQ29uZmlnR3JvdXBMYWJlbCIsImxheWVyQ29uZmlnR3JvdXBMYWJlbEJvcmRlckxlZnQiLCJsYWJlbENvbG9yIiwibGF5ZXJDb25maWdHcm91cExhYmVsTWFyZ2luIiwibGF5ZXJDb25maWdHcm91cExhYmVsUGFkZGluZyIsImxheWVyQ29uZmlnR3JvdXBMYWJlbExhYmVsTWFyZ2luIiwibGF5ZXJDb25maWdHcm91cExhYmVsTGFiZWxGb250U2l6ZSIsIkxheWVyQ29uZmlnR3JvdXBMYWJlbCIsIl9yZWYiLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwiY3JlYXRlRWxlbWVudCIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJpZCIsImRlZmF1bHRNZXNzYWdlIiwiTGF5ZXJDb25maWdHcm91cEZhY3RvcnkiLCJub3AiLCJMYXllckNvbmZpZ0dyb3VwIiwiX3JlZjIiLCJjaGlsZHJlbiIsInByb3BlcnR5IiwibGF5ZXIiLCJfcmVmMiRvbkNoYW5nZSIsIm9uQ2hhbmdlIiwiX3JlZjIkY29sbGFwc2libGUiLCJfcmVmMiRkZXNjcmlwdGlvbiIsIl9yZWYyJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfcmVmMiRleHBhbmRlZCIsImV4cGFuZGVkIiwiX3JlZjIkSWNvbkNvbXBvbmVudCIsIkljb25Db21wb25lbnQiLCJWZXJ0VGhyZWVEb3RzIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiY29sbGFwc2VkIiwidG9nZ2xlQ29sbGFwc2VkIiwib25Ub2dnbGVDb2xsYXBzZWQiLCJ1c2VDYWxsYmFjayIsImNsYXNzbmFtZXMiLCJvbkNsaWNrIiwiY2hlY2tlZCIsImNvbmZpZyIsInZpc0NvbmZpZyIsImNvbmNhdCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJoZWlnaHQiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLWNvbmZpZy1ncm91cC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCBTd2l0Y2ggZnJvbSAnLi4vLi4vY29tbW9uL3N3aXRjaCc7XG5pbXBvcnQgSW5mb0hlbHBlckZhY3RvcnkgZnJvbSAnLi4vLi4vY29tbW9uL2luZm8taGVscGVyJztcbmltcG9ydCB7VmVydFRocmVlRG90c30gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7TGF5ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7TGF5ZXJWaXNDb25maWd9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBMYXllckNvbmZpZ0dyb3VwTGFiZWxQcm9wcyA9IHtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBjb2xsYXBzZWQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJDb25maWdHcm91cFByb3BzID0ge1xuICBsYXllcj86IExheWVyO1xuICBsYWJlbDogc3RyaW5nO1xuICBwcm9wZXJ0eT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGNvbGxhcHNpYmxlPzogYm9vbGVhbjtcbiAgZXhwYW5kZWQ/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIG9uQ2hhbmdlPzogKG5ld1Zpc0NvbmZpZzogUGFydGlhbDxMYXllclZpc0NvbmZpZz4pID0+IHZvaWQ7XG4gIEljb25Db21wb25lbnQ/OiBSZWFjdC5FbGVtZW50VHlwZTtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTGF5ZXJDb25maWdHcm91cEFjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG5gO1xuXG5leHBvcnQgY29uc3QgQ29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbGF5ZXItY29uZmlnLWdyb3VwX19jb250ZW50X19jb2xsYXBzaWJsZSdcbn0pYFxuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgZWFzZS1vdXQ7XG4gIGhlaWdodDogbWF4LWNvbnRlbnQ7XG4gIG1heC1oZWlnaHQ6IDEyMDBweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG5gO1xuXG5leHBvcnQgY29uc3QgQ29uZmlnR3JvdXBDb2xsYXBzaWJsZUhlYWRlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdsYXllci1jb25maWctZ3JvdXBfX2hlYWRlcl9fY29sbGFwc2libGUnXG59KWBcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDA7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTGF5ZXJDb25maWdHcm91cCA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwUGFkZGluZ0xlZnR9cHg7XG4gIG1hcmdpbi1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGF5ZXJDb25maWdHcm91cE1hcmdpbkJvdHRvbX1weDtcblxuICAmLmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgJi5jb2xsYXBzZWQge1xuICAgIC5sYXllci1jb25maWctZ3JvdXBfX2hlYWRlcl9fY29sbGFwc2libGUge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBtYXgtaGVpZ2h0OiA2MDBweDtcbiAgICB9XG4gICAgLmxheWVyLWNvbmZpZy1ncm91cF9fY29udGVudCB7XG4gICAgICAubGF5ZXItY29uZmlnLWdyb3VwX19jb250ZW50X19jb2xsYXBzaWJsZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5pbnRlcmZhY2UgU3R5bGVkQ29uZmlnR3JvdXBIZWFkZXJQcm9wcyB7XG4gIGNvbGxhcHNpYmxlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2xheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyJ1xufSk8U3R5bGVkQ29uZmlnR3JvdXBIZWFkZXJQcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICY6aG92ZXIge1xuICAgICR7cHJvcHMgPT4gcHJvcHMuY29sbGFwc2libGUgJiYgJ2N1cnNvcjogcG9pbnRlcjsnfVxuICAgIC5sYXllci1jb25maWctZ3JvdXBfX2xhYmVsIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICB9XG5cbiAgICAubGF5ZXItY29uZmlnLWdyb3VwX19hY3Rpb24ge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgQ29uZmlnR3JvdXBDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgJi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICoge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5gO1xuXG5MYXllckNvbmZpZ0dyb3VwTGFiZWxGYWN0b3J5LmRlcHMgPSBbSW5mb0hlbHBlckZhY3RvcnldO1xuXG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJDb25maWdHcm91cExhYmVsRmFjdG9yeShJbmZvSGVscGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBJbmZvSGVscGVyRmFjdG9yeT4pIHtcbiAgY29uc3QgU3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsID0gc3R5bGVkLmRpdmBcbiAgICBib3JkZXItbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxCb3JkZXJMZWZ0fSBzb2xpZFxuICAgICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICBtYXJnaW4tbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxNYXJnaW59O1xuICAgIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxQYWRkaW5nfTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyQ29uZmlnR3JvdXBMYWJlbExhYmVsTWFyZ2lufTtcbiAgICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxMYWJlbEZvbnRTaXplfTtcbiAgICB9XG4gIGA7XG5cbiAgY29uc3QgTGF5ZXJDb25maWdHcm91cExhYmVsOiBSZWFjdC5GQzxMYXllckNvbmZpZ0dyb3VwTGFiZWxQcm9wcz4gPSAoe2xhYmVsLCBkZXNjcmlwdGlvbn0pID0+IChcbiAgICA8U3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsIGNsYXNzTmFtZT1cImxheWVyLWNvbmZpZy1ncm91cF9fbGFiZWxcIj5cbiAgICAgIDxzcGFuPlxuICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17bGFiZWwgfHwgJ21pc2MuZW1wdHknfSBkZWZhdWx0TWVzc2FnZT17bGFiZWx9IC8+XG4gICAgICA8L3NwYW4+XG4gICAgICB7ZGVzY3JpcHRpb24gJiYgPEluZm9IZWxwZXIgZGVzY3JpcHRpb249e2Rlc2NyaXB0aW9ufSBpZD17bGFiZWx9IC8+fVxuICAgIDwvU3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsPlxuICApO1xuXG4gIHJldHVybiBMYXllckNvbmZpZ0dyb3VwTGFiZWw7XG59XG5cbkxheWVyQ29uZmlnR3JvdXBGYWN0b3J5LmRlcHMgPSBbTGF5ZXJDb25maWdHcm91cExhYmVsRmFjdG9yeV07XG5cbmZ1bmN0aW9uIG5vcCgpIHtcbiAgcmV0dXJuO1xufVxuZnVuY3Rpb24gTGF5ZXJDb25maWdHcm91cEZhY3RvcnkoXG4gIExheWVyQ29uZmlnR3JvdXBMYWJlbDogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJDb25maWdHcm91cExhYmVsRmFjdG9yeT5cbikge1xuICBjb25zdCBMYXllckNvbmZpZ0dyb3VwOiBSZWFjdC5GQzxMYXllckNvbmZpZ0dyb3VwUHJvcHM+ID0gKHtcbiAgICBsYWJlbCxcbiAgICBjaGlsZHJlbixcbiAgICBwcm9wZXJ0eSxcbiAgICBsYXllcixcbiAgICBvbkNoYW5nZSA9IG5vcCxcbiAgICBjb2xsYXBzaWJsZSA9IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uID0gJycsXG4gICAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgICBleHBhbmRlZCA9IGZhbHNlLFxuICAgIEljb25Db21wb25lbnQgPSBWZXJ0VGhyZWVEb3RzXG4gIH0pID0+IHtcbiAgICBjb25zdCBbY29sbGFwc2VkLCB0b2dnbGVDb2xsYXBzZWRdID0gdXNlU3RhdGUoIWV4cGFuZGVkKTtcbiAgICBjb25zdCBvblRvZ2dsZUNvbGxhcHNlZCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIGNvbGxhcHNpYmxlICYmIHRvZ2dsZUNvbGxhcHNlZCghY29sbGFwc2VkKTtcbiAgICB9LCBbY29sbGFwc2VkLCB0b2dnbGVDb2xsYXBzZWQsIGNvbGxhcHNpYmxlXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZExheWVyQ29uZmlnR3JvdXAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdsYXllci1jb25maWctZ3JvdXAnLCB7Y29sbGFwc2VkLCBkaXNhYmxlZH0pfT5cbiAgICAgICAgPFN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyIG9uQ2xpY2s9e29uVG9nZ2xlQ29sbGFwc2VkfSBjb2xsYXBzaWJsZT17Y29sbGFwc2libGV9PlxuICAgICAgICAgIDxMYXllckNvbmZpZ0dyb3VwTGFiZWwgbGFiZWw9e2xhYmVsfSBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259IGNvbGxhcHNlZD17Y29sbGFwc2VkfSAvPlxuICAgICAgICAgIDxTdHlsZWRMYXllckNvbmZpZ0dyb3VwQWN0aW9uIGNsYXNzTmFtZT1cImxheWVyLWNvbmZpZy1ncm91cF9fYWN0aW9uXCI+XG4gICAgICAgICAgICB7cHJvcGVydHkgPyAoXG4gICAgICAgICAgICAgIDxTd2l0Y2hcbiAgICAgICAgICAgICAgICBjaGVja2VkPXtsYXllcj8uY29uZmlnLnZpc0NvbmZpZ1twcm9wZXJ0eV19XG4gICAgICAgICAgICAgICAgaWQ9e2Ake2xheWVyPy5pZH0tJHtwcm9wZXJ0eX1gfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiBvbkNoYW5nZT8uKHtbcHJvcGVydHldOiAhbGF5ZXI/LmNvbmZpZy52aXNDb25maWdbcHJvcGVydHldfSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtjb2xsYXBzaWJsZSA/IDxJY29uQ29tcG9uZW50IGhlaWdodD1cIjE4cHhcIiAvPiA6IG51bGx9XG4gICAgICAgICAgPC9TdHlsZWRMYXllckNvbmZpZ0dyb3VwQWN0aW9uPlxuICAgICAgICA8L1N0eWxlZENvbmZpZ0dyb3VwSGVhZGVyPlxuICAgICAgICA8Q29uZmlnR3JvdXBDb250ZW50XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdsYXllci1jb25maWctZ3JvdXBfX2NvbnRlbnQnLCB7XG4gICAgICAgICAgICBkaXNhYmxlZDogcHJvcGVydHkgJiYgIWxheWVyPy5jb25maWcudmlzQ29uZmlnW3Byb3BlcnR5XVxuICAgICAgICAgIH0pfVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L0NvbmZpZ0dyb3VwQ29udGVudD5cbiAgICAgIDwvU3R5bGVkTGF5ZXJDb25maWdHcm91cD5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBMYXllckNvbmZpZ0dyb3VwO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMYXllckNvbmZpZ0dyb3VwRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxVQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFILHNC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Q0FBQztJQUFFLGdCQUN6RnZGLE1BQUEsWUFBQXVFLGFBQUEsQ0FBQ25CLHVCQUF1QjtNQUFDa0QsT0FBTyxFQUFFSCxpQkFBa0I7TUFBQzlDLFdBQVcsRUFBRUE7SUFBWSxnQkFDNUVyRCxNQUFBLFlBQUF1RSxhQUFBLENBQUNKLHFCQUFxQjtNQUFDRSxLQUFLLEVBQUVBLEtBQU07TUFBQ0MsV0FBVyxFQUFFQSxXQUFZO01BQUMyQixTQUFTLEVBQUVBO0lBQVUsQ0FBRSxDQUFDLGVBQ3ZGakcsTUFBQSxZQUFBdUUsYUFBQSxDQUFDbEMsNEJBQTRCO01BQUNVLFNBQVMsRUFBQztJQUE0QixHQUNqRWlDLFFBQVEsZ0JBQ1BoRixNQUFBLFlBQUF1RSxhQUFBLENBQUNoRSxPQUFBLFdBQU07TUFDTGdHLE9BQU8sRUFBRXRCLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFdUIsTUFBTSxDQUFDQyxTQUFTLENBQUN6QixRQUFRLENBQUU7TUFDM0NQLEVBQUUsS0FBQWlDLE1BQUEsQ0FBS3pCLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFUixFQUFFLE9BQUFpQyxNQUFBLENBQUkxQixRQUFRLENBQUc7TUFDL0JHLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFBO1FBQUEsT0FBUUEsVUFBUSxhQUFSQSxVQUFRLHVCQUFSQSxVQUFRLEtBQUF3QixnQkFBQSxpQkFBSzNCLFFBQVEsRUFBRyxFQUFDQyxLQUFLLGFBQUxBLEtBQUssZUFBTEEsS0FBSyxDQUFFdUIsTUFBTSxDQUFDQyxTQUFTLENBQUN6QixRQUFRLENBQUMsRUFBQyxDQUFDO01BQUE7SUFBQyxDQUM5RSxDQUFDLEdBQ0EsSUFBSSxFQUNQM0IsV0FBVyxnQkFBR3JELE1BQUEsWUFBQXVFLGFBQUEsQ0FBQ29CLGFBQWE7TUFBQ2lCLE1BQU0sRUFBQztJQUFNLENBQUUsQ0FBQyxHQUFHLElBQ3JCLENBQ1AsQ0FBQyxlQUMxQjVHLE1BQUEsWUFBQXVFLGFBQUEsQ0FBQ2hCLGtCQUFrQjtNQUNqQlIsU0FBUyxFQUFFLElBQUFzRCxzQkFBVSxFQUFDLDZCQUE2QixFQUFFO1FBQ25EZCxRQUFRLEVBQUVQLFFBQVEsSUFBSSxFQUFDQyxLQUFLLGFBQUxBLEtBQUssZUFBTEEsS0FBSyxDQUFFdUIsTUFBTSxDQUFDQyxTQUFTLENBQUN6QixRQUFRLENBQUM7TUFDMUQsQ0FBQztJQUFFLEdBRUZELFFBQ2lCLENBQ0UsQ0FBQztFQUU3QixDQUFDO0VBRUQsT0FBT0YsZ0JBQWdCO0FBQ3pCO0FBQUMsSUFBQWdDLFFBQUEsR0FBQXZFLE9BQUEsY0FFY3FDLHVCQUF1QiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
144
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lcyIsIl9yZWFjdEludGwiLCJfc3dpdGNoIiwiX2luZm9IZWxwZXIiLCJfaWNvbnMiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl90ZW1wbGF0ZU9iamVjdDQiLCJfdGVtcGxhdGVPYmplY3Q1IiwiX3RlbXBsYXRlT2JqZWN0NiIsIl90ZW1wbGF0ZU9iamVjdDciLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJTdHlsZWRMYXllckNvbmZpZ0dyb3VwQWN0aW9uIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsInRleHRDb2xvciIsIkNvbmZpZ0dyb3VwQ29sbGFwc2libGVDb250ZW50IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJDb25maWdHcm91cENvbGxhcHNpYmxlSGVhZGVyIiwiU3R5bGVkTGF5ZXJDb25maWdHcm91cCIsImxheWVyQ29uZmlnR3JvdXBQYWRkaW5nTGVmdCIsImxheWVyQ29uZmlnR3JvdXBNYXJnaW5Cb3R0b20iLCJTdHlsZWRDb25maWdHcm91cEhlYWRlciIsIndpdGhDb25maWciLCJzaG91bGRGb3J3YXJkUHJvcCIsImNvbGxhcHNpYmxlIiwidGV4dENvbG9ySGwiLCJDb25maWdHcm91cENvbnRlbnQiLCJMYXllckNvbmZpZ0dyb3VwTGFiZWxGYWN0b3J5IiwiZGVwcyIsIkluZm9IZWxwZXJGYWN0b3J5IiwiSW5mb0hlbHBlciIsIlN0eWxlZExheWVyQ29uZmlnR3JvdXBMYWJlbCIsImxheWVyQ29uZmlnR3JvdXBMYWJlbEJvcmRlckxlZnQiLCJsYWJlbENvbG9yIiwibGF5ZXJDb25maWdHcm91cExhYmVsTWFyZ2luIiwibGF5ZXJDb25maWdHcm91cExhYmVsUGFkZGluZyIsImxheWVyQ29uZmlnR3JvdXBMYWJlbExhYmVsTWFyZ2luIiwibGF5ZXJDb25maWdHcm91cExhYmVsTGFiZWxGb250U2l6ZSIsIkxheWVyQ29uZmlnR3JvdXBMYWJlbCIsIl9yZWYiLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwiY3JlYXRlRWxlbWVudCIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJpZCIsImRlZmF1bHRNZXNzYWdlIiwiTGF5ZXJDb25maWdHcm91cEZhY3RvcnkiLCJub3AiLCJMYXllckNvbmZpZ0dyb3VwIiwiX3JlZjIiLCJjaGlsZHJlbiIsInByb3BlcnR5IiwibGF5ZXIiLCJfcmVmMiRvbkNoYW5nZSIsIm9uQ2hhbmdlIiwiX3JlZjIkY29sbGFwc2libGUiLCJfcmVmMiRkZXNjcmlwdGlvbiIsIl9yZWYyJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfcmVmMiRleHBhbmRlZCIsImV4cGFuZGVkIiwiX3JlZjIkSWNvbkNvbXBvbmVudCIsIkljb25Db21wb25lbnQiLCJWZXJ0VGhyZWVEb3RzIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiY29sbGFwc2VkIiwidG9nZ2xlQ29sbGFwc2VkIiwib25Ub2dnbGVDb2xsYXBzZWQiLCJ1c2VDYWxsYmFjayIsImNsYXNzbmFtZXMiLCJvbkNsaWNrIiwiY2hlY2tlZCIsImNvbmZpZyIsInZpc0NvbmZpZyIsImNvbmNhdCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJoZWlnaHQiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLWNvbmZpZy1ncm91cC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCBTd2l0Y2ggZnJvbSAnLi4vLi4vY29tbW9uL3N3aXRjaCc7XG5pbXBvcnQgSW5mb0hlbHBlckZhY3RvcnkgZnJvbSAnLi4vLi4vY29tbW9uL2luZm8taGVscGVyJztcbmltcG9ydCB7VmVydFRocmVlRG90c30gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7c2hvdWxkRm9yd2FyZFByb3B9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0xheWVyfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge0xheWVyVmlzQ29uZmlnfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgTGF5ZXJDb25maWdHcm91cExhYmVsUHJvcHMgPSB7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgY29sbGFwc2VkPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIExheWVyQ29uZmlnR3JvdXBQcm9wcyA9IHtcbiAgbGF5ZXI/OiBMYXllcjtcbiAgbGFiZWw6IHN0cmluZztcbiAgcHJvcGVydHk/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBjb2xsYXBzaWJsZT86IGJvb2xlYW47XG4gIGV4cGFuZGVkPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBvbkNoYW5nZT86IChuZXdWaXNDb25maWc6IFBhcnRpYWw8TGF5ZXJWaXNDb25maWc+KSA9PiB2b2lkO1xuICBJY29uQ29tcG9uZW50PzogUmVhY3QuRWxlbWVudFR5cGU7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xufTtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExheWVyQ29uZmlnR3JvdXBBY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuYDtcblxuZXhwb3J0IGNvbnN0IENvbmZpZ0dyb3VwQ29sbGFwc2libGVDb250ZW50ID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2xheWVyLWNvbmZpZy1ncm91cF9fY29udGVudF9fY29sbGFwc2libGUnXG59KWBcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2Utb3V0O1xuICBoZWlnaHQ6IG1heC1jb250ZW50O1xuICBtYXgtaGVpZ2h0OiAxMjAwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuYDtcblxuZXhwb3J0IGNvbnN0IENvbmZpZ0dyb3VwQ29sbGFwc2libGVIZWFkZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbGF5ZXItY29uZmlnLWdyb3VwX19oZWFkZXJfX2NvbGxhcHNpYmxlJ1xufSlgXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAwO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExheWVyQ29uZmlnR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nLWxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGF5ZXJDb25maWdHcm91cFBhZGRpbmdMZWZ0fXB4O1xuICBtYXJnaW4tYm90dG9tOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyQ29uZmlnR3JvdXBNYXJnaW5Cb3R0b219cHg7XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gICYuY29sbGFwc2VkIHtcbiAgICAubGF5ZXItY29uZmlnLWdyb3VwX19oZWFkZXJfX2NvbGxhcHNpYmxlIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgbWF4LWhlaWdodDogNjAwcHg7XG4gICAgfVxuICAgIC5sYXllci1jb25maWctZ3JvdXBfX2NvbnRlbnQge1xuICAgICAgLmxheWVyLWNvbmZpZy1ncm91cF9fY29udGVudF9fY29sbGFwc2libGUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuaW50ZXJmYWNlIFN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyUHJvcHMge1xuICBjb2xsYXBzaWJsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb25maWdHcm91cEhlYWRlciA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KS5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2xheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyJ1xufSk8U3R5bGVkQ29uZmlnR3JvdXBIZWFkZXJQcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICY6aG92ZXIge1xuICAgICR7cHJvcHMgPT4gcHJvcHMuY29sbGFwc2libGUgJiYgJ2N1cnNvcjogcG9pbnRlcjsnfVxuICAgIC5sYXllci1jb25maWctZ3JvdXBfX2xhYmVsIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICB9XG5cbiAgICAubGF5ZXItY29uZmlnLWdyb3VwX19hY3Rpb24ge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgQ29uZmlnR3JvdXBDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgJi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICoge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5gO1xuXG5MYXllckNvbmZpZ0dyb3VwTGFiZWxGYWN0b3J5LmRlcHMgPSBbSW5mb0hlbHBlckZhY3RvcnldO1xuXG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJDb25maWdHcm91cExhYmVsRmFjdG9yeShJbmZvSGVscGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBJbmZvSGVscGVyRmFjdG9yeT4pIHtcbiAgY29uc3QgU3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsID0gc3R5bGVkLmRpdmBcbiAgICBib3JkZXItbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxCb3JkZXJMZWZ0fSBzb2xpZFxuICAgICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICBtYXJnaW4tbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxNYXJnaW59O1xuICAgIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxQYWRkaW5nfTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyQ29uZmlnR3JvdXBMYWJlbExhYmVsTWFyZ2lufTtcbiAgICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxMYWJlbEZvbnRTaXplfTtcbiAgICB9XG4gIGA7XG5cbiAgY29uc3QgTGF5ZXJDb25maWdHcm91cExhYmVsOiBSZWFjdC5GQzxMYXllckNvbmZpZ0dyb3VwTGFiZWxQcm9wcz4gPSAoe2xhYmVsLCBkZXNjcmlwdGlvbn0pID0+IChcbiAgICA8U3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsIGNsYXNzTmFtZT1cImxheWVyLWNvbmZpZy1ncm91cF9fbGFiZWxcIj5cbiAgICAgIDxzcGFuPlxuICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17bGFiZWwgfHwgJ21pc2MuZW1wdHknfSBkZWZhdWx0TWVzc2FnZT17bGFiZWx9IC8+XG4gICAgICA8L3NwYW4+XG4gICAgICB7ZGVzY3JpcHRpb24gJiYgPEluZm9IZWxwZXIgZGVzY3JpcHRpb249e2Rlc2NyaXB0aW9ufSBpZD17bGFiZWx9IC8+fVxuICAgIDwvU3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsPlxuICApO1xuXG4gIHJldHVybiBMYXllckNvbmZpZ0dyb3VwTGFiZWw7XG59XG5cbkxheWVyQ29uZmlnR3JvdXBGYWN0b3J5LmRlcHMgPSBbTGF5ZXJDb25maWdHcm91cExhYmVsRmFjdG9yeV07XG5cbmZ1bmN0aW9uIG5vcCgpIHtcbiAgcmV0dXJuO1xufVxuZnVuY3Rpb24gTGF5ZXJDb25maWdHcm91cEZhY3RvcnkoXG4gIExheWVyQ29uZmlnR3JvdXBMYWJlbDogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJDb25maWdHcm91cExhYmVsRmFjdG9yeT5cbikge1xuICBjb25zdCBMYXllckNvbmZpZ0dyb3VwOiBSZWFjdC5GQzxMYXllckNvbmZpZ0dyb3VwUHJvcHM+ID0gKHtcbiAgICBsYWJlbCxcbiAgICBjaGlsZHJlbixcbiAgICBwcm9wZXJ0eSxcbiAgICBsYXllcixcbiAgICBvbkNoYW5nZSA9IG5vcCxcbiAgICBjb2xsYXBzaWJsZSA9IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uID0gJycsXG4gICAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgICBleHBhbmRlZCA9IGZhbHNlLFxuICAgIEljb25Db21wb25lbnQgPSBWZXJ0VGhyZWVEb3RzXG4gIH0pID0+IHtcbiAgICBjb25zdCBbY29sbGFwc2VkLCB0b2dnbGVDb2xsYXBzZWRdID0gdXNlU3RhdGUoIWV4cGFuZGVkKTtcbiAgICBjb25zdCBvblRvZ2dsZUNvbGxhcHNlZCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIGNvbGxhcHNpYmxlICYmIHRvZ2dsZUNvbGxhcHNlZCghY29sbGFwc2VkKTtcbiAgICB9LCBbY29sbGFwc2VkLCB0b2dnbGVDb2xsYXBzZWQsIGNvbGxhcHNpYmxlXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZExheWVyQ29uZmlnR3JvdXAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdsYXllci1jb25maWctZ3JvdXAnLCB7Y29sbGFwc2VkLCBkaXNhYmxlZH0pfT5cbiAgICAgICAgPFN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyIG9uQ2xpY2s9e29uVG9nZ2xlQ29sbGFwc2VkfSBjb2xsYXBzaWJsZT17Y29sbGFwc2libGV9PlxuICAgICAgICAgIDxMYXllckNvbmZpZ0dyb3VwTGFiZWwgbGFiZWw9e2xhYmVsfSBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259IGNvbGxhcHNlZD17Y29sbGFwc2VkfSAvPlxuICAgICAgICAgIDxTdHlsZWRMYXllckNvbmZpZ0dyb3VwQWN0aW9uIGNsYXNzTmFtZT1cImxheWVyLWNvbmZpZy1ncm91cF9fYWN0aW9uXCI+XG4gICAgICAgICAgICB7cHJvcGVydHkgPyAoXG4gICAgICAgICAgICAgIDxTd2l0Y2hcbiAgICAgICAgICAgICAgICBjaGVja2VkPXtsYXllcj8uY29uZmlnLnZpc0NvbmZpZ1twcm9wZXJ0eV19XG4gICAgICAgICAgICAgICAgaWQ9e2Ake2xheWVyPy5pZH0tJHtwcm9wZXJ0eX1gfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiBvbkNoYW5nZT8uKHtbcHJvcGVydHldOiAhbGF5ZXI/LmNvbmZpZy52aXNDb25maWdbcHJvcGVydHldfSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtjb2xsYXBzaWJsZSA/IDxJY29uQ29tcG9uZW50IGhlaWdodD1cIjE4cHhcIiAvPiA6IG51bGx9XG4gICAgICAgICAgPC9TdHlsZWRMYXllckNvbmZpZ0dyb3VwQWN0aW9uPlxuICAgICAgICA8L1N0eWxlZENvbmZpZ0dyb3VwSGVhZGVyPlxuICAgICAgICA8Q29uZmlnR3JvdXBDb250ZW50XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdsYXllci1jb25maWctZ3JvdXBfX2NvbnRlbnQnLCB7XG4gICAgICAgICAgICBkaXNhYmxlZDogcHJvcGVydHkgJiYgIWxheWVyPy5jb25maWcudmlzQ29uZmlnW3Byb3BlcnR5XVxuICAgICAgICAgIH0pfVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L0NvbmZpZ0dyb3VwQ29udGVudD5cbiAgICAgIDwvU3R5bGVkTGF5ZXJDb25maWdHcm91cD5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBMYXllckNvbmZpZ0dyb3VwO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMYXllckNvbmZpZ0dyb3VwRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEs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
|