@1money/component-ui 0.0.42-alpha.5 → 0.0.42-alpha.7
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/es/components/Select/Select.js +4 -2
- package/es/components/Select/SelectCustom.js +4 -2
- package/es/components/Select/interface.d.ts +25 -0
- package/es/components/Select/interface.js +1 -1
- package/es/components/Select/useSelectShell.d.ts +6 -0
- package/es/components/Select/useSelectShell.js +22 -5
- package/es/index.css +1 -1
- package/es/stories/docs/storybook-docs.css +323 -1
- package/lib/components/Select/Select.js +4 -2
- package/lib/components/Select/SelectCustom.js +4 -2
- package/lib/components/Select/interface.d.ts +25 -0
- package/lib/components/Select/interface.js +1 -1
- package/lib/components/Select/useSelectShell.d.ts +6 -0
- package/lib/components/Select/useSelectShell.js +21 -4
- package/lib/index.css +1 -1
- package/package.json +1 -1
|
@@ -74,6 +74,7 @@ export var Select = function Select(props) {
|
|
|
74
74
|
optionClassName = props.optionClassName,
|
|
75
75
|
_props$listMaxHeight = props.listMaxHeight,
|
|
76
76
|
listMaxHeight = _props$listMaxHeight === void 0 ? DEFAULT_MAX_HEIGHT : _props$listMaxHeight,
|
|
77
|
+
offset = props.offset,
|
|
77
78
|
animation = props.animation,
|
|
78
79
|
onChange = props.onChange,
|
|
79
80
|
onOpenChange = props.onOpenChange,
|
|
@@ -145,7 +146,8 @@ export var Select = function Select(props) {
|
|
|
145
146
|
onOpenChange: onOpenChange,
|
|
146
147
|
disabled: disabled,
|
|
147
148
|
listMaxHeight: listMaxHeight,
|
|
148
|
-
animation: animation
|
|
149
|
+
animation: animation,
|
|
150
|
+
offset: offset
|
|
149
151
|
}),
|
|
150
152
|
innerOpen = _useSelectShell.isOpen,
|
|
151
153
|
handleOpenChange = _useSelectShell.setOpen,
|
|
@@ -523,4 +525,4 @@ export var Select = function Select(props) {
|
|
|
523
525
|
};
|
|
524
526
|
Select.displayName = 'Select';
|
|
525
527
|
export default /*#__PURE__*/memo(Select);
|
|
526
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZsb2F0aW5nRm9jdXNNYW5hZ2VyIiwiRmxvYXRpbmdQb3J0YWwiLCJ1c2VJbnRlcmFjdGlvbnMiLCJ1c2VMaXN0TmF2aWdhdGlvbiIsInVzZVR5cGVhaGVhZCIsIm1lbW8iLCJ1c2VFZmZlY3QiLCJ1c2VJZCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZUV2ZW50Q2FsbGJhY2siLCJJY29ucyIsIlNwaW5uZXIiLCJUeXBvZ3JhcGh5Qm9keSIsIlR5cG9ncmFwaHlMYWJlbCIsImpvaW5DbHMiLCJkZWZhdWx0Iiwicm9vdENsYXNzbmFtZXMiLCJTZWxlY3RGaWVsZFNoZWxsIiwiU2VsZWN0T3B0aW9uQ29udGVudCIsIlNlbGVjdFNlYXJjaENvbnRyb2wiLCJTZWxlY3RWYWx1ZUNvbnRlbnQiLCJ1c2VTZWxlY3RTaGVsbCIsIktFWUJPQVJEIiwiU0VMRUNUX1RZUE9HUkFQSFkiLCJleHRyYWN0T3B0aW9uVGV4dCIsImZpbHRlck9wdGlvbkdyb3VwcyIsImZsYXR0ZW5PcHRpb25Hcm91cHMiLCJnZXRNdWx0aXBsZVZhbHVlIiwiZ2V0T3B0aW9uc0J5VmFsdWVzIiwiZ2V0U2VsZWN0ZWRPcHRpb25zIiwiaXNPcHRpb25TZWxlY3RlZCIsIm5vcm1hbGl6ZVNpemUiLCJub3JtYWxpemVPcHRpb25Hcm91cHMiLCJyZW1vdmVNdWx0aXBsZVZhbHVlIiwidG9nZ2xlTXVsdGlwbGVWYWx1ZSIsIkRFRkFVTFRfTUFYX0hFSUdIVCIsIlNlbGVjdCIsInByb3BzIiwiX3Byb3BzJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJzdHlsZSIsImlkIiwibmFtZSIsImFyaWFMYWJlbCIsImFyaWFMYWJlbGxlZEJ5IiwiX3Byb3BzJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJfcHJvcHMkb3B0aW9ucyIsIm9wdGlvbnMiLCJ2YWx1ZSIsImRlZmF1bHRWYWx1ZSIsIl9wcm9wcyRzaXplIiwic2l6ZSIsIl9wcm9wcyRzdGF0dXMiLCJzdGF0dXMiLCJfcHJvcHMkdmFyaWFudCIsInZhcmlhbnQiLCJfcHJvcHMkZGlzYWJsZWQiLCJkaXNhYmxlZCIsImRpc2FibGVkUHJvcCIsIl9wcm9wcyRsb2FkaW5nIiwibG9hZGluZyIsIl9wcm9wcyRtdWx0aXBsZSIsIm11bHRpcGxlIiwibWF4VmlzaWJsZVZhbHVlcyIsIl9wcm9wcyRzZWFyY2hhYmxlIiwic2VhcmNoYWJsZSIsIl9wcm9wcyRzZWFyY2hQbGFjZWhvbCIsInNlYXJjaFBsYWNlaG9sZGVyIiwic2VhcmNoVmFsdWUiLCJfcHJvcHMkZGVmYXVsdFNlYXJjaFYiLCJkZWZhdWx0U2VhcmNoVmFsdWUiLCJsYWJlbCIsImluZm8iLCJkZXNjcmlwdGlvbiIsImZlZWRiYWNrIiwiX3Byb3BzJHJlcXVpcmVkIiwicmVxdWlyZWQiLCJwcmVmaXgiLCJfcHJvcHMkZW1wdHlDb250ZW50IiwiZW1wdHlDb250ZW50IiwicGFuZWxGb290ZXIiLCJvcGVuIiwiX3Byb3BzJGRlZmF1bHRPcGVuIiwiZGVmYXVsdE9wZW4iLCJfcHJvcHMkcG9ydGFsIiwicG9ydGFsIiwiX3Byb3BzJGFsbG93RGVzZWxlY3QiLCJhbGxvd0Rlc2VsZWN0IiwicGFuZWxDbGFzc05hbWUiLCJvcHRpb25DbGFzc05hbWUiLCJfcHJvcHMkbGlzdE1heEhlaWdodCIsImxpc3RNYXhIZWlnaHQiLCJhbmltYXRpb24iLCJvbkNoYW5nZSIsIm9uT3BlbkNoYW5nZSIsIm9uU2VhcmNoQ2hhbmdlIiwib25CbHVyIiwiZmlsdGVyT3B0aW9uIiwicmVuZGVyT3B0aW9uIiwicmVuZGVyVmFsdWUiLCJyZWYiLCJjbGFzc2VzIiwiYXV0b0lkIiwidHJpZ2dlcklkIiwibGFiZWxJZCIsImRlc2NyaXB0aW9uSWQiLCJmZWVkYmFja0lkIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsInVuZGVmaW5lZCIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpbm5lclZhbHVlIiwic2V0SW5uZXJWYWx1ZSIsIl91c2VDb250cm9sbGVkU3RhdGUzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTQiLCJpbm5lclNlYXJjaFZhbHVlIiwic2V0SW5uZXJTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJhY3RpdmVJbmRleCIsInNldEFjdGl2ZUluZGV4Iiwibm9ybWFsaXplZFNpemUiLCJhbGxPcHRpb25Hcm91cHMiLCJhbGxGbGF0T3B0aW9ucyIsInZpc2libGVPcHRpb25Hcm91cHMiLCJ2aXNpYmxlRmxhdE9wdGlvbnMiLCJzZWxlY3RlZE9wdGlvbnMiLCJzZWxlY3RlZEluZGV4IiwibGVuZ3RoIiwibWF0Y2hlZEluZGV4IiwiZmluZEluZGV4Iiwib3B0aW9uIiwiaGFzU2VsZWN0aW9uIiwibGlzdFJlZiIsImxpc3RDb250ZW50UmVmIiwiZmxvYXRpbmdSZWYiLCJ0cmlnZ2VyUmVmIiwic2VhcmNoSW5wdXRSZWYiLCJoYW5kbGVUcmlnZ2VyUmVmIiwibm9kZSIsImN1cnJlbnQiLCJfdXNlU2VsZWN0U2hlbGwiLCJpbm5lck9wZW4iLCJpc09wZW4iLCJoYW5kbGVPcGVuQ2hhbmdlIiwic2V0T3BlbiIsInJlZnMiLCJjb250ZXh0IiwiZmxvYXRpbmdTdHlsZXMiLCJ0cmFuc2l0aW9uU3R5bGVzIiwiaXNNb3VudGVkIiwiYmFzZUludGVyYWN0aW9ucyIsInNldFJlZmVyZW5jZSIsInNldEZsb2F0aW5nIiwibGlzdE5hdmlnYXRpb24iLCJvbk5hdmlnYXRlIiwiZW5hYmxlZCIsImxvb3AiLCJ0eXBlYWhlYWQiLCJvbk1hdGNoIiwiX3VzZUludGVyYWN0aW9ucyIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheSIsImdldFJlZmVyZW5jZVByb3BzIiwiZ2V0RmxvYXRpbmdQcm9wcyIsImdldEl0ZW1Qcm9wcyIsImZpcnN0RW5hYmxlZEluZGV4IiwibGFzdEVuYWJsZWRJbmRleCIsIl9hIiwiaW5kZXgiLCJwcmV2IiwiZm9jdXMiLCJwcmV2ZW50U2Nyb2xsIiwic2xpY2UiLCJub3RpZnlCbHVySWZPdXRzaWRlIiwicmVsYXRlZFRhcmdldCIsImV2ZW50IiwiX2IiLCJuZXh0VGFyZ2V0Iiwid2l0aGluVHJpZ2dlciIsImNvbnRhaW5zIiwid2l0aGluRmxvYXRpbmciLCJoYW5kbGVUcmlnZ2VyQmx1ciIsImhhbmRsZU9wdGlvbkJsdXIiLCJjb21taXRDaGFuZ2UiLCJuZXh0VmFsdWUiLCJuZXh0T3B0aW9uIiwiaGFuZGxlU2VsZWN0T3B0aW9uIiwibmV4dE9wdGlvbnMiLCJoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlIiwib3B0aW9uVmFsdWUiLCJpbmNsdWRlcyIsImhhbmRsZVRyaWdnZXJLZXlEb3duIiwia2V5IiwiRU5URVIiLCJTUEFDRSIsInByZXZlbnREZWZhdWx0IiwiQVJST1dfRE9XTiIsIkFSUk9XX1VQIiwiaGFuZGxlSXRlbU1vdXNlRW50ZXIiLCJoYW5kbGVUYWdSZW1vdmVNb3VzZURvd24iLCJzdG9wUHJvcGFnYXRpb24iLCJoYW5kbGVUYWdSZW1vdmVDbGljayIsImhhbmRsZVNlYXJjaEJsdXIiLCJoYW5kbGVTZWFyY2hDaGFuZ2UiLCJfZXZlbnQiLCJoYW5kbGVTZWFyY2hLZXlEb3duIiwiX2MiLCJFU0NBUEUiLCJyZW5kZXJWYWx1ZU1ldGEiLCJ2YWx1ZUxhYmVsQ2xhc3MiLCJpc011bHRpcGxlVmFsdWVGaWxsZWQiLCJ0cmlnZ2VyQ2xhc3NOYW1lIiwiaWNvblNpemUiLCJmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5IiwiZGVzY3JpYmVkQnlJZHMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsImNoaWxkcmVuIiwiT2JqZWN0IiwiYXNzaWduIiwidHlwZSIsIm9uS2V5RG93biIsIm9uUmVtb3ZlIiwib25SZW1vdmVDbGljayIsIm9uUmVtb3ZlTW91c2VEb3duIiwic3Ryb2tlV2lkdGgiLCJjb2xvciIsInBhbmVsTm9kZSIsIm1vZGFsIiwiaW5pdGlhbEZvY3VzIiwicmV0dXJuRm9jdXMiLCJlbXB0eSIsImZsYXRJbmRleCIsIm1hcCIsImdyb3VwIiwiZ3JvdXBMYWJlbCIsInN0cm9uZyIsIm9wdGlvbkZsYXRJbmRleCIsInNlbGVjdGVkIiwiYWN0aXZlIiwib3B0aW9uTWV0YSIsInJvbGUiLCJvbkNsaWNrIiwib25Nb3VzZUVudGVyIiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsR0FBRyxJQUFJQyxJQUFJLEVBQUVDLElBQUksSUFBSUMsS0FBSyxRQUFRLG1CQUFtQjtBQ0E5RCxTQUNFQyxvQkFBb0IsRUFDcEJDLGNBQWMsRUFDZEMsZUFBZSxFQUNmQyxpQkFBaUIsRUFDakJDLFlBQVksUUFDUCxvQkFBb0I7QUFDM0IsU0FBU0MsSUFBSSxFQUFFQyxTQUFTLEVBQUVDLEtBQUssRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ3pFLFNBQVNDLGtCQUFrQixFQUFFQyxnQkFBZ0IsUUFBUSxlQUFlO0FBQ3BFLFNBQVNDLEtBQUssUUFBUSxVQUFVO0FBQ2hDLFNBQVNDLE9BQU8sUUFBUSxZQUFZO0FBQ3BDLFNBQVNDLGNBQWMsRUFBRUMsZUFBZSxRQUFRLGVBQWU7QUFDL0QsU0FBU0MsT0FBTyxFQUFFQyxPQUFPLElBQUlDLGNBQWMsUUFBUSx3QkFBd0I7QUFnQjNFLE9BQU9DLGdCQUFnQixNQUFNLG9CQUFvQjtBQUNqRCxPQUFPQyxtQkFBbUIsTUFBTSx1QkFBdUI7QUFDdkQsT0FBT0MsbUJBQW1CLE1BQU0sdUJBQXVCO0FBQ3ZELE9BQU9DLGtCQUFrQixNQUFNLHNCQUFzQjtBQUNyRCxTQUFTQyxjQUFjLFFBQVEsa0JBQWtCO0FBQ2pELFNBQVNDLFFBQVEsRUFBRUMsaUJBQWlCLFFBQVEsYUFBYTtBQUN6RCxTQUNFQyxpQkFBaUIsRUFDakJDLGtCQUFrQixFQUNsQkMsbUJBQW1CLEVBQ25C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Q0FBQyxDQUFDLENBQUU7RUFBQSxDQUFBLENBQ2E7QUFFdkIsQ0FBQztBQUVEcE0sTUFBTSxDQUFDcU4sV0FBVyxHQUFHLFFBQVE7QUFFN0IsNEJBQWV2UCxJQUFJLENBQUNrQyxNQUFNLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvU2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IEZsb2F0aW5nRm9jdXNNYW5hZ2VyLCBGbG9hdGluZ1BvcnRhbCwgdXNlSW50ZXJhY3Rpb25zLCB1c2VMaXN0TmF2aWdhdGlvbiwgdXNlVHlwZWFoZWFkLCB9IGZyb20gJ0BmbG9hdGluZy11aS9yZWFjdCc7XG5pbXBvcnQgeyBtZW1vLCB1c2VFZmZlY3QsIHVzZUlkLCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZFN0YXRlLCB1c2VFdmVudENhbGxiYWNrIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuLi9TcGlubmVyJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMsIGRlZmF1bHQgYXMgcm9vdENsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCBTZWxlY3RGaWVsZFNoZWxsIGZyb20gJy4vU2VsZWN0RmllbGRTaGVsbCc7XG5pbXBvcnQgU2VsZWN0T3B0aW9uQ29udGVudCBmcm9tICcuL1NlbGVjdE9wdGlvbkNvbnRlbnQnO1xuaW1wb3J0IFNlbGVjdFNlYXJjaENvbnRyb2wgZnJvbSAnLi9TZWxlY3RTZWFyY2hDb250cm9sJztcbmltcG9ydCBTZWxlY3RWYWx1ZUNvbnRlbnQgZnJvbSAnLi9TZWxlY3RWYWx1ZUNvbnRlbnQnO1xuaW1wb3J0IHsgdXNlU2VsZWN0U2hlbGwgfSBmcm9tICcuL3VzZVNlbGVjdFNoZWxsJztcbmltcG9ydCB7IEtFWUJPQVJELCBTRUxFQ1RfVFlQT0dSQVBIWSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGV4dHJhY3RPcHRpb25UZXh0LCBmaWx0ZXJPcHRpb25Hcm91cHMsIGZsYXR0ZW5PcHRpb25Hcm91cHMsIGdldE11bHRpcGxlVmFsdWUsIGdldE9wdGlvbnNCeVZhbHVlcywgZ2V0U2VsZWN0ZWRPcHRpb25zLCBpc09wdGlvblNlbGVjdGVkLCBub3JtYWxpemVTaXplLCBub3JtYWxpemVPcHRpb25Hcm91cHMsIHJlbW92ZU11bHRpcGxlVmFsdWUsIHRvZ2dsZU11bHRpcGxlVmFsdWUsIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgREVGQVVMVF9NQVhfSEVJR0hUID0gMzIwO1xuZXhwb3J0IGNvbnN0IFNlbGVjdCA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIHByZWZpeENscyA9ICdzZWxlY3QnLCBzdHlsZSwgaWQsIG5hbWUsICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLCAnYXJpYS1sYWJlbGxlZGJ5JzogYXJpYUxhYmVsbGVkQnksIHBsYWNlaG9sZGVyID0gJ1ZhbHVlJywgb3B0aW9ucyA9IFtdLCB2YWx1ZSwgZGVmYXVsdFZhbHVlLCBzaXplID0gJ2xhcmdlJywgc3RhdHVzID0gJ2RlZmF1bHQnLCB2YXJpYW50ID0gJ2ZpbGwnLCBkaXNhYmxlZDogZGlzYWJsZWRQcm9wID0gZmFsc2UsIGxvYWRpbmcgPSBmYWxzZSwgbXVsdGlwbGUgPSBmYWxzZSwgbWF4VmlzaWJsZVZhbHVlcywgc2VhcmNoYWJsZSA9IGZhbHNlLCBzZWFyY2hQbGFjZWhvbGRlciA9ICdTZWFyY2gnLCBzZWFyY2hWYWx1ZSwgZGVmYXVsdFNlYXJjaFZhbHVlID0gJycsIGxhYmVsLCBpbmZvLCBkZXNjcmlwdGlvbiwgZmVlZGJhY2ssIHJlcXVpcmVkID0gZmFsc2UsIHByZWZpeCwgZW1wdHlDb250ZW50ID0gJ05vIG9wdGlvbnMnLCBwYW5lbEZvb3Rlciwgb3BlbiwgZGVmYXVsdE9wZW4gPSBmYWxzZSwgcG9ydGFsID0gdHJ1ZSwgYWxsb3dEZXNlbGVjdCA9IGZhbHNlLCBwYW5lbENsYXNzTmFtZSwgb3B0aW9uQ2xhc3NOYW1lLCBsaXN0TWF4SGVpZ2h0ID0gREVGQVVMVF9NQVhfSEVJR0hULCBhbmltYXRpb24sIG9uQ2hhbmdlLCBvbk9wZW5DaGFuZ2UsIG9uU2VhcmNoQ2hhbmdlLCBvbkJsdXIsIGZpbHRlck9wdGlvbiwgcmVuZGVyT3B0aW9uLCByZW5kZXJWYWx1ZSwgcmVmLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBkaXNhYmxlZFByb3AgfHwgbG9hZGluZztcbiAgICBjb25zdCBjbGFzc2VzID0gcm9vdENsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBhdXRvSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IHRyaWdnZXJJZCA9IGlkICE9PSBudWxsICYmIGlkICE9PSB2b2lkIDAgPyBpZCA6IGF1dG9JZDtcbiAgICBjb25zdCBsYWJlbElkID0gdXNlSWQoKTtcbiAgICBjb25zdCBkZXNjcmlwdGlvbklkID0gdXNlSWQoKTtcbiAgICBjb25zdCBmZWVkYmFja0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCBbaW5uZXJWYWx1ZSwgc2V0SW5uZXJWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdFZhbHVlICE9PSBudWxsICYmIGRlZmF1bHRWYWx1ZSAhPT0gdm9pZCAwID8gZGVmYXVsdFZhbHVlIDogKG11bHRpcGxlID8gW10gOiB1bmRlZmluZWQpLCB2YWx1ZSk7XG4gICAgY29uc3QgW2lubmVyU2VhcmNoVmFsdWUsIHNldElubmVyU2VhcmNoVmFsdWVdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRTZWFyY2hWYWx1ZSwgc2VhcmNoVmFsdWUpO1xuICAgIGNvbnN0IFthY3RpdmVJbmRleCwgc2V0QWN0aXZlSW5kZXhdID0gdXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3Qgbm9ybWFsaXplZFNpemUgPSBub3JtYWxpemVTaXplKHNpemUpO1xuICAgIGNvbnN0IGFsbE9wdGlvbkdyb3VwcyA9IHVzZU1lbW8oKCkgPT4gbm9ybWFsaXplT3B0aW9uR3JvdXBzKG9wdGlvbnMpLCBbb3B0aW9uc10pO1xuICAgIGNvbnN0IGFsbEZsYXRPcHRpb25zID0gdXNlTWVtbygoKSA9PiBmbGF0dGVuT3B0aW9uR3JvdXBzKGFsbE9wdGlvbkdyb3VwcyksIFthbGxPcHRpb25Hcm91cHNdKTtcbiAgICBjb25zdCB2aXNpYmxlT3B0aW9uR3JvdXBzID0gdXNlTWVtbygoKSA9PiAoc2VhcmNoYWJsZVxuICAgICAgICA/IGZpbHRlck9wdGlvbkdyb3VwcyhhbGxPcHRpb25Hcm91cHMsIGlubmVyU2VhcmNoVmFsdWUsIGZpbHRlck9wdGlvbilcbiAgICAgICAgOiBhbGxPcHRpb25Hcm91cHMpLCBbYWxsT3B0aW9uR3JvdXBzLCBmaWx0ZXJPcHRpb24sIGlubmVyU2VhcmNoVmFsdWUsIHNlYXJjaGFibGVdKTtcbiAgICBjb25zdCB2aXNpYmxlRmxhdE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IGZsYXR0ZW5PcHRpb25Hcm91cHModmlzaWJsZU9wdGlvbkdyb3VwcyksIFt2aXNpYmxlT3B0aW9uR3JvdXBzXSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdXNlTWVtbygoKSA9PiBnZXRTZWxlY3RlZE9wdGlvbnMoYWxsRmxhdE9wdGlvbnMsIGlubmVyVmFsdWUsIG11bHRpcGxlKSwgW2FsbEZsYXRPcHRpb25zLCBpbm5lclZhbHVlLCBtdWx0aXBsZV0pO1xuICAgIGNvbnN0IHNlbGVjdGVkSW5kZXggPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1hdGNoZWRJbmRleCA9IHZpc2libGVGbGF0T3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBzZWxlY3RlZE9wdGlvbnNbMF0udmFsdWUpO1xuICAgICAgICByZXR1cm4gbWF0Y2hlZEluZGV4ID49IDAgPyBtYXRjaGVkSW5kZXggOiBudWxsO1xuICAgIH0sIFtzZWxlY3RlZE9wdGlvbnMsIHZpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIGNvbnN0IGhhc1NlbGVjdGlvbiA9IHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiAwO1xuICAgIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWYoW10pO1xuICAgIGNvbnN0IGxpc3RDb250ZW50UmVmID0gdXNlUmVmKFtdKTtcbiAgICBjb25zdCBmbG9hdGluZ1JlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCB0cmlnZ2VyUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHNlYXJjaElucHV0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGhhbmRsZVRyaWdnZXJSZWYgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHRyaWdnZXJSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgICAgIHJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHsgaXNPcGVuOiBpbm5lck9wZW4sIHNldE9wZW46IGhhbmRsZU9wZW5DaGFuZ2UsIHJlZnMsIGNvbnRleHQsIGZsb2F0aW5nU3R5bGVzLCB0cmFuc2l0aW9uU3R5bGVzLCBpc01vdW50ZWQsIGJhc2VJbnRlcmFjdGlvbnMsIH0gPSB1c2VTZWxlY3RTaGVsbCh7XG4gICAgICAgIG9wZW4sXG4gICAgICAgIGRlZmF1bHRPcGVuLFxuICAgICAgICBvbk9wZW5DaGFuZ2UsXG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICBsaXN0TWF4SGVpZ2h0LFxuICAgICAgICBhbmltYXRpb24sXG4gICAgfSk7XG4gICAgY29uc3Qgc2V0UmVmZXJlbmNlID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICByZWZzLnNldFJlZmVyZW5jZShub2RlKTtcbiAgICAgICAgaGFuZGxlVHJpZ2dlclJlZihub2RlKTtcbiAgICB9KTtcbiAgICBjb25zdCBzZXRGbG9hdGluZyA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgcmVmcy5zZXRGbG9hdGluZyhub2RlKTtcbiAgICAgICAgZmxvYXRpbmdSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgfSk7XG4gICAgY29uc3QgbGlzdE5hdmlnYXRpb24gPSB1c2VMaXN0TmF2aWdhdGlvbihjb250ZXh0LCB7XG4gICAgICAgIGxpc3RSZWYsXG4gICAgICAgIGFjdGl2ZUluZGV4LFxuICAgICAgICBzZWxlY3RlZEluZGV4LFxuICAgICAgICBvbk5hdmlnYXRlOiBzZXRBY3RpdmVJbmRleCxcbiAgICAgICAgZW5hYmxlZDogaW5uZXJPcGVuLFxuICAgICAgICBsb29wOiB0cnVlLFxuICAgIH0pO1xuICAgIGNvbnN0IHR5cGVhaGVhZCA9IHVzZVR5cGVhaGVhZChjb250ZXh0LCB7XG4gICAgICAgIGxpc3RSZWY6IGxpc3RDb250ZW50UmVmLFxuICAgICAgICBhY3RpdmVJbmRleCxcbiAgICAgICAgc2VsZWN0ZWRJbmRleCxcbiAgICAgICAgZW5hYmxlZDogaW5uZXJPcGVuICYmICFzZWFyY2hhYmxlLFxuICAgICAgICBvbk1hdGNoOiBzZXRBY3RpdmVJbmRleCxcbiAgICB9KTtcbiAgICBjb25zdCB7IGdldFJlZmVyZW5jZVByb3BzLCBnZXRGbG9hdGluZ1Byb3BzLCBnZXRJdGVtUHJvcHMgfSA9IHVzZUludGVyYWN0aW9ucyhbXG4gICAgICAgIC4uLmJhc2VJbnRlcmFjdGlvbnMsXG4gICAgICAgIGxpc3ROYXZpZ2F0aW9uLFxuICAgICAgICB0eXBlYWhlYWQsXG4gICAgXSk7XG4gICAgY29uc3QgZmlyc3RFbmFibGVkSW5kZXggPSB1c2VNZW1vKCgpID0+IHZpc2libGVGbGF0T3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT4gIW9wdGlvbi5kaXNhYmxlZCksIFt2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICBjb25zdCBsYXN0RW5hYmxlZEluZGV4ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSB2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXggLT0gMSkge1xuICAgICAgICAgICAgaWYgKCEoKF9hID0gdmlzaWJsZUZsYXRPcHRpb25zW2luZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc2FibGVkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9LCBbdmlzaWJsZUZsYXRPcHRpb25zXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFpbm5lck9wZW4pIHtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KHNlbGVjdGVkSW5kZXgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNldEFjdGl2ZUluZGV4KChwcmV2KSA9PiB7XG4gICAgICAgICAgICBpZiAocHJldiAhPT0gbnVsbCAmJiB2aXNpYmxlRmxhdE9wdGlvbnNbcHJldl0gJiYgIXZpc2libGVGbGF0T3B0aW9uc1twcmV2XS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwcmV2O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICB2aXNpYmxlRmxhdE9wdGlvbnNbc2VsZWN0ZWRJbmRleF0gJiZcbiAgICAgICAgICAgICAgICAhdmlzaWJsZUZsYXRPcHRpb25zW3NlbGVjdGVkSW5kZXhdLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkSW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZmlyc3RFbmFibGVkSW5kZXggPj0gMCA/IGZpcnN0RW5hYmxlZEluZGV4IDogbnVsbDtcbiAgICAgICAgfSk7XG4gICAgfSwgW2ZpcnN0RW5hYmxlZEluZGV4LCBpbm5lck9wZW4sIHNlbGVjdGVkSW5kZXgsIHZpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCFpbm5lck9wZW4gfHwgYWN0aXZlSW5kZXggPT09IG51bGwgfHwgc2VhcmNoYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIChfYSA9IGxpc3RSZWYuY3VycmVudFthY3RpdmVJbmRleF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgfSwgW2FjdGl2ZUluZGV4LCBpbm5lck9wZW4sIHNlYXJjaGFibGVdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBsaXN0UmVmLmN1cnJlbnQgPSBsaXN0UmVmLmN1cnJlbnQuc2xpY2UoMCwgdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCk7XG4gICAgICAgIGxpc3RDb250ZW50UmVmLmN1cnJlbnQgPSBsaXN0Q29udGVudFJlZi5jdXJyZW50LnNsaWNlKDAsIHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGgpO1xuICAgIH0sIFt2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoaW5uZXJPcGVuICYmIHNlYXJjaGFibGUpIHtcbiAgICAgICAgICAgIChfYSA9IHNlYXJjaElucHV0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbaW5uZXJPcGVuLCBzZWFyY2hhYmxlXSk7XG4gICAgY29uc3Qgbm90aWZ5Qmx1cklmT3V0c2lkZSA9IHVzZUV2ZW50Q2FsbGJhY2soKHJlbGF0ZWRUYXJnZXQsIGV2ZW50KSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGNvbnN0IG5leHRUYXJnZXQgPSByZWxhdGVkVGFyZ2V0O1xuICAgICAgICBjb25zdCB3aXRoaW5UcmlnZ2VyID0gISEobmV4dFRhcmdldCAmJiAoKF9hID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY29udGFpbnMobmV4dFRhcmdldCkpKTtcbiAgICAgICAgY29uc3Qgd2l0aGluRmxvYXRpbmcgPSAhIShuZXh0VGFyZ2V0ICYmICgoX2IgPSBmbG9hdGluZ1JlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY29udGFpbnMobmV4dFRhcmdldCkpKTtcbiAgICAgICAgaWYgKCF3aXRoaW5UcmlnZ2VyICYmICF3aXRoaW5GbG9hdGluZykge1xuICAgICAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRyaWdnZXJCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlT3B0aW9uQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIG5vdGlmeUJsdXJJZk91dHNpZGUoZXZlbnQucmVsYXRlZFRhcmdldCwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGNvbW1pdENoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHRWYWx1ZSwgbmV4dE9wdGlvbikgPT4ge1xuICAgICAgICBzZXRJbm5lclZhbHVlKG5leHRWYWx1ZSk7XG4gICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZShuZXh0VmFsdWUsIG5leHRPcHRpb24pO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVNlbGVjdE9wdGlvbiA9IHVzZUV2ZW50Q2FsbGJhY2soKG9wdGlvbikgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBpZiAob3B0aW9uLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG11bHRpcGxlKSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSB0b2dnbGVNdWx0aXBsZVZhbHVlKGlubmVyVmFsdWUsIG9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBjb25zdCBuZXh0T3B0aW9ucyA9IGdldE9wdGlvbnNCeVZhbHVlcyhhbGxGbGF0T3B0aW9ucywgbmV4dFZhbHVlKTtcbiAgICAgICAgICAgIGNvbW1pdENoYW5nZShuZXh0VmFsdWUsIG5leHRPcHRpb25zKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWxsb3dEZXNlbGVjdCAmJiBpbm5lclZhbHVlID09PSBvcHRpb24udmFsdWUpIHtcbiAgICAgICAgICAgIGNvbW1pdENoYW5nZSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cigpO1xuICAgICAgICAgICAgKF9hID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbW1pdENoYW5nZShvcHRpb24udmFsdWUsIG9wdGlvbik7XG4gICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoKTtcbiAgICAgICAgKF9iID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVJlbW92ZVNlbGVjdGVkVmFsdWUgPSB1c2VFdmVudENhbGxiYWNrKChvcHRpb25WYWx1ZSkgPT4ge1xuICAgICAgICBpZiAoIW11bHRpcGxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFnZXRNdWx0aXBsZVZhbHVlKGlubmVyVmFsdWUpLmluY2x1ZGVzKG9wdGlvblZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5leHRWYWx1ZSA9IHJlbW92ZU11bHRpcGxlVmFsdWUoaW5uZXJWYWx1ZSwgb3B0aW9uVmFsdWUpO1xuICAgICAgICBjb25zdCBuZXh0T3B0aW9ucyA9IGdldE9wdGlvbnNCeVZhbHVlcyhhbGxGbGF0T3B0aW9ucywgbmV4dFZhbHVlKTtcbiAgICAgICAgY29tbWl0Q2hhbmdlKG5leHRWYWx1ZSwgbmV4dE9wdGlvbnMpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRyaWdnZXJLZXlEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuRU5URVIgfHwgZXZlbnQua2V5ID09PSBLRVlCT0FSRC5TUEFDRSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UoIWlubmVyT3Blbik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfRE9XTiB8fCBldmVudC5rZXkgPT09IEtFWUJPQVJELkFSUk9XX1VQKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKCFpbm5lck9wZW4pIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlSXRlbU1vdXNlRW50ZXIgPSB1c2VFdmVudENhbGxiYWNrKChpbmRleCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghKChfYSA9IHZpc2libGVGbGF0T3B0aW9uc1tpbmRleF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNhYmxlZCkpIHtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KGluZGV4KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRhZ1JlbW92ZU1vdXNlRG93biA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRhZ1JlbW92ZUNsaWNrID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIG5vdGlmeUJsdXJJZk91dHNpZGUoZXZlbnQucmVsYXRlZFRhcmdldCwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVNlYXJjaENoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHRWYWx1ZSwgX2V2ZW50KSA9PiB7XG4gICAgICAgIHNldElubmVyU2VhcmNoVmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgb25TZWFyY2hDaGFuZ2UgPT09IG51bGwgfHwgb25TZWFyY2hDaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uU2VhcmNoQ2hhbmdlKG5leHRWYWx1ZSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoS2V5RG93biA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5BUlJPV19ET1dOICYmIGZpcnN0RW5hYmxlZEluZGV4ID49IDApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBzZXRBY3RpdmVJbmRleChmaXJzdEVuYWJsZWRJbmRleCk7XG4gICAgICAgICAgICAoX2EgPSBsaXN0UmVmLmN1cnJlbnRbZmlyc3RFbmFibGVkSW5kZXhdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkFSUk9XX1VQICYmIGxhc3RFbmFibGVkSW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBzZXRBY3RpdmVJbmRleChsYXN0RW5hYmxlZEluZGV4KTtcbiAgICAgICAgICAgIChfYiA9IGxpc3RSZWYuY3VycmVudFtsYXN0RW5hYmxlZEluZGV4XSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5FU0NBUEUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIChfYyA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHJlbmRlclZhbHVlTWV0YSA9IHtcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIG11bHRpcGxlLFxuICAgICAgICBtYXhWaXNpYmxlVmFsdWVzLFxuICAgICAgICBvcGVuOiBpbm5lck9wZW4sXG4gICAgICAgIHBsYWNlaG9sZGVyOiAhaGFzU2VsZWN0aW9uLFxuICAgICAgICBzZWxlY3RlZE9wdGlvbnMsXG4gICAgfTtcbiAgICBjb25zdCB2YWx1ZUxhYmVsQ2xhc3MgPSBoYXNTZWxlY3Rpb24gPyAndmFsdWUnIDogJ3BsYWNlaG9sZGVyJztcbiAgICBjb25zdCBpc011bHRpcGxlVmFsdWVGaWxsZWQgPSAobXVsdGlwbGUgJiZcbiAgICAgICAgaGFzU2VsZWN0aW9uICYmXG4gICAgICAgIG1heFZpc2libGVWYWx1ZXMgPT09IHVuZGVmaW5lZCk7XG4gICAgY29uc3QgdHJpZ2dlckNsYXNzTmFtZSA9IGNsYXNzZXMoJ3RyaWdnZXInLCBqb2luQ2xzKGNsYXNzZXMoYHRyaWdnZXItJHtub3JtYWxpemVkU2l6ZX1gKSwgY2xhc3NlcyhgdHJpZ2dlci0ke3ZhcmlhbnR9YCksIGlubmVyT3BlbiAmJiBjbGFzc2VzKCd0cmlnZ2VyLW9wZW4nKSwgaXNNdWx0aXBsZVZhbHVlRmlsbGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItbXVsdGlwbGUtZmlsbGVkJyksIGhhc1NlbGVjdGlvbiA/IGNsYXNzZXMoJ3RyaWdnZXItZmlsbGVkJykgOiBjbGFzc2VzKCd0cmlnZ2VyLXBsYWNlaG9sZGVyJyksIHN0YXR1cyAhPT0gJ2RlZmF1bHQnICYmIGNsYXNzZXMoYHRyaWdnZXItJHtzdGF0dXN9YCksIGRpc2FibGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItZGlzYWJsZWQnKSkpO1xuICAgIGNvbnN0IGljb25TaXplID0gbm9ybWFsaXplZFNpemUgPT09ICdzbWFsbCcgPyAxNiA6IDIwO1xuICAgIGNvbnN0IGZsb2F0aW5nQXJpYUxhYmVsbGVkQnkgPSBhcmlhTGFiZWxsZWRCeSAhPT0gbnVsbCAmJiBhcmlhTGFiZWxsZWRCeSAhPT0gdm9pZCAwID8gYXJpYUxhYmVsbGVkQnkgOiAobGFiZWwgPyBsYWJlbElkIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCBkZXNjcmliZWRCeUlkcyA9IFtcbiAgICAgICAgZGVzY3JpcHRpb24gPyBkZXNjcmlwdGlvbklkIDogbnVsbCxcbiAgICAgICAgZmVlZGJhY2sgPyBmZWVkYmFja0lkIDogbnVsbCxcbiAgICBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykgfHwgdW5kZWZpbmVkO1xuICAgIHJldHVybiAoX2pzeHMoU2VsZWN0RmllbGRTaGVsbCwgeyBjbGFzc2VzOiBjbGFzc2VzLCBjbGFzc05hbWU6IGNsYXNzTmFtZSwgc2l6ZTogbm9ybWFsaXplZFNpemUsIHZhcmlhbnQ6IHZhcmlhbnQsIHN0YXR1czogc3RhdHVzLCBkaXNhYmxlZDogZGlzYWJsZWQsIGxvYWRpbmc6IGxvYWRpbmcsIGxhYmVsOiBsYWJlbCwgaW5mbzogaW5mbywgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLCBmZWVkYmFjazogZmVlZGJhY2ssIHJlcXVpcmVkOiByZXF1aXJlZCwgbGFiZWxJZDogbGFiZWxJZCwgZGVzY3JpcHRpb25JZDogZGVzY3JpcHRpb25JZCwgZmVlZGJhY2tJZDogZmVlZGJhY2tJZCwgY2hpbGRyZW46IFtfanN4cyhcImJ1dHRvblwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRSZWZlcmVuY2VQcm9wcyh7XG4gICAgICAgICAgICAgICAgcmVmOiBzZXRSZWZlcmVuY2UsXG4gICAgICAgICAgICAgICAgaWQ6IHRyaWdnZXJJZCxcbiAgICAgICAgICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogdHJpZ2dlckNsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICBvbktleURvd246IGhhbmRsZVRyaWdnZXJLZXlEb3duLFxuICAgICAgICAgICAgICAgIG9uQmx1cjogaGFuZGxlVHJpZ2dlckJsdXIsXG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWxsZWRieSc6IGZsb2F0aW5nQXJpYUxhYmVsbGVkQnksXG4gICAgICAgICAgICAgICAgJ2FyaWEtZGVzY3JpYmVkYnknOiBkZXNjcmliZWRCeUlkcyxcbiAgICAgICAgICAgIH0pLCB7IGNoaWxkcmVuOiBbX2pzeHMoXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250ZW50JyksIGNoaWxkcmVuOiBbcHJlZml4ICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwcmVmaXgnKSwgY2hpbGRyZW46IHByZWZpeCB9KSwgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXModmFsdWVMYWJlbENsYXNzLCBqb2luQ2xzKGNsYXNzZXMoYCR7dmFsdWVMYWJlbENsYXNzfS0ke25vcm1hbGl6ZWRTaXplfWApLCBpc011bHRpcGxlVmFsdWVGaWxsZWQgJiYgY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LW11bHRpcGxlYCksIGRpc2FibGVkICYmIGNsYXNzZXMoYCR7dmFsdWVMYWJlbENsYXNzfS1kaXNhYmxlZGApKSksIGNoaWxkcmVuOiBfanN4KFNlbGVjdFZhbHVlQ29udGVudCwgeyBjbGFzc2VzOiBjbGFzc2VzLCBoYXNTZWxlY3Rpb246IGhhc1NlbGVjdGlvbiwgbXVsdGlwbGU6IG11bHRpcGxlLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIHJlbmRlclZhbHVlOiByZW5kZXJWYWx1ZSwgcmVuZGVyVmFsdWVNZXRhOiByZW5kZXJWYWx1ZU1ldGEsIHNlbGVjdGVkT3B0aW9uczogc2VsZWN0ZWRPcHRpb25zLCBtYXhWaXNpYmxlVmFsdWVzOiBtYXhWaXNpYmxlVmFsdWVzLCBvblJlbW92ZTogaGFuZGxlUmVtb3ZlU2VsZWN0ZWRWYWx1ZSwgb25SZW1vdmVDbGljazogaGFuZGxlVGFnUmVtb3ZlQ2xpY2ssIG9uUmVtb3ZlTW91c2VEb3duOiBoYW5kbGVUYWdSZW1vdmVNb3VzZURvd24gfSkgfSldIH0pLCBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaWNvbicpLCBjaGlsZHJlbjogbG9hZGluZyA/IChfanN4KFNwaW5uZXIsIHsgc2l6ZTogaWNvblNpemUsIHN0cm9rZVdpZHRoOiAyIH0pKSA6IChfanN4KEljb25zLCB7IG5hbWU6IGlubmVyT3BlbiA/ICdjaGV2cm9uVXAnIDogJ2NoZXZyb25Eb3duJywgc2l6ZTogaWNvblNpemUsIGNvbG9yOiBcImN1cnJlbnRDb2xvclwiIH0pKSB9KV0gfSkpLCBpc01vdW50ZWQgJiYgIWRpc2FibGVkICYmICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFuZWxOb2RlID0gKF9qc3goRmxvYXRpbmdGb2N1c01hbmFnZXIsIHsgY29udGV4dDogY29udGV4dCwgbW9kYWw6IGZhbHNlLCBpbml0aWFsRm9jdXM6IC0xLCByZXR1cm5Gb2N1czogZmFsc2UsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRGbG9hdGluZ1Byb3BzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogc2V0RmxvYXRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGpvaW5DbHMoY2xhc3NlcygncGFuZWwnKSwgcGFuZWxDbGFzc05hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZmxvYXRpbmdTdHlsZXMpLCB0cmFuc2l0aW9uU3R5bGVzKSxcbiAgICAgICAgICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IFtzZWFyY2hhYmxlICYmIChfanN4KFNlbGVjdFNlYXJjaENvbnRyb2wsIHsgcmVmOiBzZWFyY2hJbnB1dFJlZiwgY2xhc3NlczogY2xhc3NlcywgcGxhY2Vob2xkZXI6IHNlYXJjaFBsYWNlaG9sZGVyLCB2YWx1ZTogaW5uZXJTZWFyY2hWYWx1ZSwgb25CbHVyOiBoYW5kbGVTZWFyY2hCbHVyLCBvbkNoYW5nZTogaGFuZGxlU2VhcmNoQ2hhbmdlLCBvbktleURvd246IGhhbmRsZVNlYXJjaEtleURvd24gfSkpLCBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1ib2R5JyksIGNoaWxkcmVuOiB2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoID09PSAwID8gKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2VtcHR5JyksIGNoaWxkcmVuOiBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IFNFTEVDVF9UWVBPR1JBUEhZLmVtcHR5LnNpemUsIGNvbG9yOiBTRUxFQ1RfVFlQT0dSQVBIWS5lbXB0eS5jb2xvciwgY2hpbGRyZW46IGVtcHR5Q29udGVudCB9KSB9KSkgOiAoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmbGF0SW5kZXggPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZpc2libGVPcHRpb25Hcm91cHMubWFwKChncm91cCkgPT4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdncm91cCcpLCBjaGlsZHJlbjogW2dyb3VwLmxhYmVsICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdncm91cC1sYWJlbCcpLCBjaGlsZHJlbjogX2pzeChUeXBvZ3JhcGh5TGFiZWwsIHsgc2l6ZTogU0VMRUNUX1RZUE9HUkFQSFkuZ3JvdXBMYWJlbC5zaXplLCBzdHJvbmc6IHRydWUsIGNoaWxkcmVuOiBncm91cC5sYWJlbCB9KSB9KSksIGdyb3VwLm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbkZsYXRJbmRleCA9IGZsYXRJbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYXRJbmRleCArPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBpc09wdGlvblNlbGVjdGVkKGlubmVyVmFsdWUsIG11bHRpcGxlLCBvcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gYWN0aXZlSW5kZXggPT09IG9wdGlvbkZsYXRJbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbk1ldGEgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiAhIW9wdGlvbi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogb3B0aW9uRmxhdEluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpcGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZW46IGlubmVyT3BlbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0Q29udGVudFJlZi5jdXJyZW50W29wdGlvbkZsYXRJbmRleF0gPSBleHRyYWN0T3B0aW9uVGV4dChvcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChfanN4KFwiYnV0dG9uXCIsIE9iamVjdC5hc3NpZ24oe30sIGdldEl0ZW1Qcm9wcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmKG5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdFJlZi5jdXJyZW50W29wdGlvbkZsYXRJbmRleF0gPSBub2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZTogJ29wdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBjbGFzc2VzKCdvcHRpb24nLCBqb2luQ2xzKGFjdGl2ZSAmJiBjbGFzc2VzKCdvcHRpb24tYWN0aXZlJyksIHNlbGVjdGVkICYmIGNsYXNzZXMoJ29wdGlvbi1zZWxlY3RlZCcpLCBvcHRpb24uZGlzYWJsZWQgJiYgY2xhc3Nlcygnb3B0aW9uLWRpc2FibGVkJyksIG9wdGlvbkNsYXNzTmFtZSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBvcHRpb24uZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FyaWEtc2VsZWN0ZWQnOiBzZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0T3B0aW9uKG9wdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI6ICgpID0+IGhhbmRsZUl0ZW1Nb3VzZUVudGVyKG9wdGlvbkZsYXRJbmRleCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25CbHVyOiBoYW5kbGVPcHRpb25CbHVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IHJlbmRlck9wdGlvbiA/IChyZW5kZXJPcHRpb24ob3B0aW9uLCBvcHRpb25NZXRhKSkgOiAoX2pzeChTZWxlY3RPcHRpb25Db250ZW50LCB7IGNsYXNzZXM6IGNsYXNzZXMsIG9wdGlvbjogb3B0aW9uLCBzZWxlY3RlZDogc2VsZWN0ZWQgfSkpIH0pLCBgJHtncm91cC5rZXl9LSR7b3B0aW9uLnZhbHVlfWApKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSldIH0sIGdyb3VwLmtleSkpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKSkgfSksIHBhbmVsRm9vdGVyICE9IG51bGwgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWZvb3RlcicpLCBjaGlsZHJlbjogcGFuZWxGb290ZXIgfSkpXSB9KSkgfSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBwb3J0YWwgPyBfanN4KEZsb2F0aW5nUG9ydGFsLCB7IGNoaWxkcmVuOiBwYW5lbE5vZGUgfSkgOiBwYW5lbE5vZGU7XG4gICAgICAgICAgICB9KSgpXSB9KSk7XG59O1xuU2VsZWN0LmRpc3BsYXlOYW1lID0gJ1NlbGVjdCc7XG5leHBvcnQgZGVmYXVsdCBtZW1vKFNlbGVjdCk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
528
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZsb2F0aW5nRm9jdXNNYW5hZ2VyIiwiRmxvYXRpbmdQb3J0YWwiLCJ1c2VJbnRlcmFjdGlvbnMiLCJ1c2VMaXN0TmF2aWdhdGlvbiIsInVzZVR5cGVhaGVhZCIsIm1lbW8iLCJ1c2VFZmZlY3QiLCJ1c2VJZCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZUV2ZW50Q2FsbGJhY2siLCJJY29ucyIsIlNwaW5uZXIiLCJUeXBvZ3JhcGh5Qm9keSIsIlR5cG9ncmFwaHlMYWJlbCIsImpvaW5DbHMiLCJkZWZhdWx0Iiwicm9vdENsYXNzbmFtZXMiLCJTZWxlY3RGaWVsZFNoZWxsIiwiU2VsZWN0T3B0aW9uQ29udGVudCIsIlNlbGVjdFNlYXJjaENvbnRyb2wiLCJTZWxlY3RWYWx1ZUNvbnRlbnQiLCJ1c2VTZWxlY3RTaGVsbCIsIktFWUJPQVJEIiwiU0VMRUNUX1RZUE9HUkFQSFkiLCJleHRyYWN0T3B0aW9uVGV4dCIsImZpbHRlck9wdGlvbkdyb3VwcyIsImZsYXR0ZW5PcHRpb25Hcm91cHMiLCJnZXRNdWx0aXBsZVZhbHVlIiwiZ2V0T3B0aW9uc0J5VmFsdWVzIiwiZ2V0U2VsZWN0ZWRPcHRpb25zIiwiaXNPcHRpb25TZWxlY3RlZCIsIm5vcm1hbGl6ZVNpemUiLCJub3JtYWxpemVPcHRpb25Hcm91cHMiLCJyZW1vdmVNdWx0aXBsZVZhbHVlIiwidG9nZ2xlTXVsdGlwbGVWYWx1ZSIsIkRFRkFVTFRfTUFYX0hFSUdIVCIsIlNlbGVjdCIsInByb3BzIiwiX3Byb3BzJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJzdHlsZSIsImlkIiwibmFtZSIsImFyaWFMYWJlbCIsImFyaWFMYWJlbGxlZEJ5IiwiX3Byb3BzJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJfcHJvcHMkb3B0aW9ucyIsIm9wdGlvbnMiLCJ2YWx1ZSIsImRlZmF1bHRWYWx1ZSIsIl9wcm9wcyRzaXplIiwic2l6ZSIsIl9wcm9wcyRzdGF0dXMiLCJzdGF0dXMiLCJfcHJvcHMkdmFyaWFudCIsInZhcmlhbnQiLCJfcHJvcHMkZGlzYWJsZWQiLCJkaXNhYmxlZCIsImRpc2FibGVkUHJvcCIsIl9wcm9wcyRsb2FkaW5nIiwibG9hZGluZyIsIl9wcm9wcyRtdWx0aXBsZSIsIm11bHRpcGxlIiwibWF4VmlzaWJsZVZhbHVlcyIsIl9wcm9wcyRzZWFyY2hhYmxlIiwic2VhcmNoYWJsZSIsIl9wcm9wcyRzZWFyY2hQbGFjZWhvbCIsInNlYXJjaFBsYWNlaG9sZGVyIiwic2VhcmNoVmFsdWUiLCJfcHJvcHMkZGVmYXVsdFNlYXJjaFYiLCJkZWZhdWx0U2VhcmNoVmFsdWUiLCJsYWJlbCIsImluZm8iLCJkZXNjcmlwdGlvbiIsImZlZWRiYWNrIiwiX3Byb3BzJHJlcXVpcmVkIiwicmVxdWlyZWQiLCJwcmVmaXgiLCJfcHJvcHMkZW1wdHlDb250ZW50IiwiZW1wdHlDb250ZW50IiwicGFuZWxGb290ZXIiLCJvcGVuIiwiX3Byb3BzJGRlZmF1bHRPcGVuIiwiZGVmYXVsdE9wZW4iLCJfcHJvcHMkcG9ydGFsIiwicG9ydGFsIiwiX3Byb3BzJGFsbG93RGVzZWxlY3QiLCJhbGxvd0Rlc2VsZWN0IiwicGFuZWxDbGFzc05hbWUiLCJvcHRpb25DbGFzc05hbWUiLCJfcHJvcHMkbGlzdE1heEhlaWdodCIsImxpc3RNYXhIZWlnaHQiLCJvZmZzZXQiLCJhbmltYXRpb24iLCJvbkNoYW5nZSIsIm9uT3BlbkNoYW5nZSIsIm9uU2VhcmNoQ2hhbmdlIiwib25CbHVyIiwiZmlsdGVyT3B0aW9uIiwicmVuZGVyT3B0aW9uIiwicmVuZGVyVmFsdWUiLCJyZWYiLCJjbGFzc2VzIiwiYXV0b0lkIiwidHJpZ2dlcklkIiwibGFiZWxJZCIsImRlc2NyaXB0aW9uSWQiLCJmZWVkYmFja0lkIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsInVuZGVmaW5lZCIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpbm5lclZhbHVlIiwic2V0SW5uZXJWYWx1ZSIsIl91c2VDb250cm9sbGVkU3RhdGUzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTQiLCJpbm5lclNlYXJjaFZhbHVlIiwic2V0SW5uZXJTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJhY3RpdmVJbmRleCIsInNldEFjdGl2ZUluZGV4Iiwibm9ybWFsaXplZFNpemUiLCJhbGxPcHRpb25Hcm91cHMiLCJhbGxGbGF0T3B0aW9ucyIsInZpc2libGVPcHRpb25Hcm91cHMiLCJ2aXNpYmxlRmxhdE9wdGlvbnMiLCJzZWxlY3RlZE9wdGlvbnMiLCJzZWxlY3RlZEluZGV4IiwibGVuZ3RoIiwibWF0Y2hlZEluZGV4IiwiZmluZEluZGV4Iiwib3B0aW9uIiwiaGFzU2VsZWN0aW9uIiwibGlzdFJlZiIsImxpc3RDb250ZW50UmVmIiwiZmxvYXRpbmdSZWYiLCJ0cmlnZ2VyUmVmIiwic2VhcmNoSW5wdXRSZWYiLCJoYW5kbGVUcmlnZ2VyUmVmIiwibm9kZSIsImN1cnJlbnQiLCJfdXNlU2VsZWN0U2hlbGwiLCJpbm5lck9wZW4iLCJpc09wZW4iLCJoYW5kbGVPcGVuQ2hhbmdlIiwic2V0T3BlbiIsInJlZnMiLCJjb250ZXh0IiwiZmxvYXRpbmdTdHlsZXMiLCJ0cmFuc2l0aW9uU3R5bGVzIiwiaXNNb3VudGVkIiwiYmFzZUludGVyYWN0aW9ucyIsInNldFJlZmVyZW5jZSIsInNldEZsb2F0aW5nIiwibGlzdE5hdmlnYXRpb24iLCJvbk5hdmlnYXRlIiwiZW5hYmxlZCIsImxvb3AiLCJ0eXBlYWhlYWQiLCJvbk1hdGNoIiwiX3VzZUludGVyYWN0aW9ucyIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheSIsImdldFJlZmVyZW5jZVByb3BzIiwiZ2V0RmxvYXRpbmdQcm9wcyIsImdldEl0ZW1Qcm9wcyIsImZpcnN0RW5hYmxlZEluZGV4IiwibGFzdEVuYWJsZWRJbmRleCIsIl9hIiwiaW5kZXgiLCJwcmV2IiwiZm9jdXMiLCJwcmV2ZW50U2Nyb2xsIiwic2xpY2UiLCJub3RpZnlCbHVySWZPdXRzaWRlIiwicmVsYXRlZFRhcmdldCIsImV2ZW50IiwiX2IiLCJuZXh0VGFyZ2V0Iiwid2l0aGluVHJpZ2dlciIsImNvbnRhaW5zIiwid2l0aGluRmxvYXRpbmciLCJoYW5kbGVUcmlnZ2VyQmx1ciIsImhhbmRsZU9wdGlvbkJsdXIiLCJjb21taXRDaGFuZ2UiLCJuZXh0VmFsdWUiLCJuZXh0T3B0aW9uIiwiaGFuZGxlU2VsZWN0T3B0aW9uIiwibmV4dE9wdGlvbnMiLCJoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlIiwib3B0aW9uVmFsdWUiLCJpbmNsdWRlcyIsImhhbmRsZVRyaWdnZXJLZXlEb3duIiwia2V5IiwiRU5URVIiLCJTUEFDRSIsInByZXZlbnREZWZhdWx0IiwiQVJST1dfRE9XTiIsIkFSUk9XX1VQIiwiaGFuZGxlSXRlbU1vdXNlRW50ZXIiLCJoYW5kbGVUYWdSZW1vdmVNb3VzZURvd24iLCJzdG9wUHJvcGFnYXRpb24iLCJoYW5kbGVUYWdSZW1vdmVDbGljayIsImhhbmRsZVNlYXJjaEJsdXIiLCJoYW5kbGVTZWFyY2hDaGFuZ2UiLCJfZXZlbnQiLCJoYW5kbGVTZWFyY2hLZXlEb3duIiwiX2MiLCJFU0NBUEUiLCJyZW5kZXJWYWx1ZU1ldGEiLCJ2YWx1ZUxhYmVsQ2xhc3MiLCJpc011bHRpcGxlVmFsdWVGaWxsZWQiLCJ0cmlnZ2VyQ2xhc3NOYW1lIiwiaWNvblNpemUiLCJmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5IiwiZGVzY3JpYmVkQnlJZHMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsImNoaWxkcmVuIiwiT2JqZWN0IiwiYXNzaWduIiwidHlwZSIsIm9uS2V5RG93biIsIm9uUmVtb3ZlIiwib25SZW1vdmVDbGljayIsIm9uUmVtb3ZlTW91c2VEb3duIiwic3Ryb2tlV2lkdGgiLCJjb2xvciIsInBhbmVsTm9kZSIsIm1vZGFsIiwiaW5pdGlhbEZvY3VzIiwicmV0dXJuRm9jdXMiLCJlbXB0eSIsImZsYXRJbmRleCIsIm1hcCIsImdyb3VwIiwiZ3JvdXBMYWJlbCIsInN0cm9uZyIsIm9wdGlvbkZsYXRJbmRleCIsInNlbGVjdGVkIiwiYWN0aXZlIiwib3B0aW9uTWV0YSIsInJvbGUiLCJvbkNsaWNrIiwib25Nb3VzZUVudGVyIiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsR0FBRyxJQUFJQyxJQUFJLEVBQUVDLElBQUksSUFBSUMsS0FBSyxRQUFRLG1CQUFtQjtBQ0E5RCxTQUNFQyxvQkFBb0IsRUFDcEJDLGNBQWMsRUFDZEMsZUFBZSxFQUNmQyxpQkFBaUIsRUFDakJDLFlBQVksUUFDUCxvQkFBb0I7QUFDM0IsU0FBU0MsSUFBSSxFQUFFQyxTQUFTLEVBQUVDLEtBQUssRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ3pFLFNBQVNDLGtCQUFrQixFQUFFQyxnQkFBZ0IsUUFBUSxlQUFlO0FBQ3BFLFNBQVNDLEtBQUssUUFBUSxVQUFVO0FBQ2hDLFNBQVNDLE9BQU8sUUFBUSxZQUFZO0FBQ3BDLFNBQVNDLGNBQWMsRUFBRUMsZUFBZSxRQUFRLGVBQWU7QUFDL0QsU0FBU0MsT0FBTyxFQUFFQyxPQUFPLElBQUlDLGNBQWMsUUFBUSx3QkFBd0I7QUFnQjNFLE9BQU9DLGdCQUFnQixNQUFNLG9CQUFvQjtBQUNqRCxPQUFPQyxtQkFBbUIsTUFBTSx1QkFBdUI7QUFDdkQsT0FBT0MsbUJBQW1CLE1BQU0sdUJBQXVCO0FBQ3ZELE9BQU9DLGtCQUFrQixNQUFNLHNCQUFzQjtBQUNyRCxTQUFTQyxjQUFjLFFBQVEsa0JBQWtCO0FBQ2pELFNBQVNDLFFBQVEsRUFBRUMsaUJBQWlCLFFBQVEsYUFBYTtBQUN6RCxTQUNFQyxpQkFBaUIsRUFDakJDLGtCQUFrQixFQUNsQkMsbUJBQW1CLEVBQ25CQyxnQkFBZ0IsRUFDaEJDLGtCQUFrQixFQUNsQkMsa0JBQWtCLEVBQ2xCQyxnQkFBZ0IsRUFDaEJDLGFBQWEsRUFDYkMscUJBQXFCLEVBQ3JCQyxtQkFBbUIsRUFDbkJDLG1CQUFtQixRQUNkLFNBQVM7QUFDaEIsT0FBTyxTQUFTO0FBRWhCLElBQU1DLGtCQUFrQixHQUFHLEdBQUc7QUFFOUIsT0FBTyxJQUFNQyxNQUFNLEdBQW9CLFNBQTFCQSxNQUFNQSxDQUFxQkMsS0FBSyxFQUFJO0VBQy9DLElBQUFDLGdCQUFBLEdBZ0RJRCxLQUFLLENBL0NQRSxTQUFTO0lBQVRBLFNBQVMsR0FBQUQsZ0JBQUEsY0FBRyxFQUFFLEdBQUFBLGdCQUFBO0lBQUFFLGdCQUFBLEdBK0NaSCxLQUFLLENBOUNQSSxTQUFTO0lBQVRBLFNBQVMsR0FBQUQsZ0JBQUEsY0FBRyxRQUFRLEdBQUFBLGdCQUFBO0lBQ3BCRSxLQUFLLEdBNkNITCxLQUFLLENBN0NQSyxLQUFLO0lBQ0xDLEVBQUUsR0E0Q0FOLEtBQUssQ0E1Q1BNLEVBQUU7SUFDRkMsSUFBSSxHQTJDRlAsS0FBSyxDQTNDUE8sSUFBSTtJQUNVQyxTQUFTLEdBMENyQlIsS0FBSyxDQTFDUCxZQUFZO0lBQ09TLGNBQWMsR0F5Qy9CVCxLQUFLLENBekNQLGlCQUFpQjtJQUFBVSxrQkFBQSxHQXlDZlYsS0FBSyxDQXhDUFcsV0FBVztJQUFYQSxXQUFXLEdBQUFELGtCQUFBLGNBQUcsT0FBTyxHQUFBQSxrQkFBQTtJQUFBRSxjQUFBLEdBd0NuQlosS0FBSyxDQXZDUGEsT0FBTztJQUFQQSxPQUFPLEdBQUFELGNBQUEsY0FBRyxFQUFFLEdBQUFBLGNBQUE7SUFDWkUsS0FBSyxHQXNDSGQsS0FBSyxDQXRDUGMsS0FBSztJQUNMQyxZQUFZLEdBcUNWZixLQUFLLENBckNQZSxZQUFZO0lBQUFDLFdBQUEsR0FxQ1ZoQixLQUFLLENBcENQaUIsSUFBSTtJQUFKQSxJQUFJLEdBQUFELFdBQUEsY0FBRyxPQUFPLEdBQUFBLFdBQUE7SUFBQUUsYUFBQSxHQW9DWmxCLEtBQUssQ0FuQ1BtQixNQUFNO0lBQU5BLE1BQU0sR0FBQUQsYUFBQSxjQUFHLFNBQVMsR0FBQUEsYUFBQTtJQUFBRSxjQUFBLEdBbUNoQnBCLEtBQUssQ0FsQ1BxQixPQUFPO0lBQVBBLE9BQU8sR0FBQUQsY0FBQSxjQUFHLE1BQU0sR0FBQUEsY0FBQTtJQUFBRSxlQUFBLEdBa0NkdEIsS0FBSyxDQWpDUHVCLFFBQVE7SUFBRUMsWUFBWSxHQUFBRixlQUFBLGNBQUcsS0FBSyxHQUFBQSxlQUFBO0lBQUFHLGNBQUEsR0FpQzVCekIsS0FBSyxDQWhDUDBCLE9BQU87SUFBUEEsT0FBTyxHQUFBRCxjQUFBLGNBQUcsS0FBSyxHQUFBQSxjQUFBO0lBQUFFLGVBQUEsR0FnQ2IzQixLQUFLLENBL0JQNEIsUUFBUTtJQUFSQSxRQUFRLEdBQUFELGVBQUEsY0FBRyxLQUFLLEdBQUFBLGVBQUE7SUFDaEJFLGdCQUFnQixHQThCZDdCLEtBQUssQ0E5QlA2QixnQkFBZ0I7SUFBQUMsaUJBQUEsR0E4QmQ5QixLQUFLLENBN0JQK0IsVUFBVTtJQUFWQSxVQUFVLEdBQUFELGlCQUFBLGNBQUcsS0FBSyxHQUFBQSxpQkFBQTtJQUFBRSxxQkFBQSxHQTZCaEJoQyxLQUFLLENBNUJQaUMsaUJBQWlCO0lBQWpCQSxpQkFBaUIsR0FBQUQscUJBQUEsY0FBRyxRQUFRLEdBQUFBLHFCQUFBO0lBQzVCRSxXQUFXLEdBMkJUbEMsS0FBSyxDQTNCUGtDLFdBQVc7SUFBQUMscUJBQUEsR0EyQlRuQyxLQUFLLENBMUJQb0Msa0JBQWtCO0lBQWxCQSxrQkFBa0IsR0FBQUQscUJBQUEsY0FBRyxFQUFFLEdBQUFBLHFCQUFBO0lBQ3ZCRSxLQUFLLEdBeUJIckMsS0FBSyxDQXpCUHFDLEtBQUs7SUFDTEMsSUFBSSxHQXdCRnRDLEtBQUssQ0F4QlBzQyxJQUFJO0lBQ0pDLFdBQVcsR0F1QlR2QyxLQUFLLENBdkJQdUMsV0FBVztJQUNYQyxRQUFRLEdBc0JOeEMsS0FBSyxDQXRCUHdDLFFBQVE7SUFBQUMsZUFBQSxHQXNCTnpDLEtBQUssQ0FyQlAwQyxRQUFRO0lBQVJBLFFBQVEsR0FBQUQsZUFBQSxjQUFHLEtBQUssR0FBQUEsZUFBQTtJQUNoQkUsTUFBTSxHQW9CSjNDLEtBQUssQ0FwQlAyQyxNQUFNO0lBQUFDLG1CQUFBLEdBb0JKNUMsS0FBSyxDQW5CUDZDLFlBQVk7SUFBWkEsWUFBWSxHQUFBRCxtQkFBQSxjQUFHLFlBQVksR0FBQUEsbUJBQUE7SUFDM0JFLFdBQVcsR0FrQlQ5QyxLQUFLLENBbEJQOEMsV0FBVztJQUNYQyxJQUFJLEdBaUJGL0MsS0FBSyxDQWpCUCtDLElBQUk7SUFBQUMsa0JBQUEsR0FpQkZoRCxLQUFLLENBaEJQaUQsV0FBVztJQUFYQSxXQUFXLEdBQUFELGtCQUFBLGNBQUcsS0FBSyxHQUFBQSxrQkFBQTtJQUFBRSxhQUFBLEdBZ0JqQmxELEtBQUssQ0FmUG1ELE1BQU07SUFBTkEsTUFBTSxHQUFBRCxhQUFBLGNBQUcsSUFBSSxHQUFBQSxhQUFBO0lBQUFFLG9CQUFBLEdBZVhwRCxLQUFLLENBZFBxRCxhQUFhO0lBQWJBLGFBQWEsR0FBQUQsb0JBQUEsY0FBRyxLQUFLLEdBQUFBLG9CQUFBO0lBQ3JCRSxjQUFjLEdBYVp0RCxLQUFLLENBYlBzRCxjQUFjO0lBQ2RDLGVBQWUsR0FZYnZELEtBQUssQ0FaUHVELGVBQWU7SUFBQUMsb0JBQUEsR0FZYnhELEtBQUssQ0FYUHlELGFBQWE7SUFBYkEsYUFBYSxHQUFBRCxvQkFBQSxjQUFHMUQsa0JBQWtCLEdBQUEwRCxvQkFBQTtJQUNsQ0UsTUFBTSxHQVVKMUQsS0FBSyxDQVZQMEQsTUFBTTtJQUNOQyxTQUFTLEdBU1AzRCxLQUFLLENBVFAyRCxTQUFTO0lBQ1RDLFFBQVEsR0FRTjVELEtBQUssQ0FSUDRELFFBQVE7SUFDUkMsWUFBWSxHQU9WN0QsS0FBSyxDQVBQNkQsWUFBWTtJQUNaQyxjQUFjLEdBTVo5RCxLQUFLLENBTlA4RCxjQUFjO0lBQ2RDLE1BQU0sR0FLSi9ELEtBQUssQ0FMUCtELE1BQU07SUFDTkMsWUFBWSxHQUlWaEUsS0FBSyxDQUpQZ0UsWUFBWTtJQUNaQyxZQUFZLEdBR1ZqRSxLQUFLLENBSFBpRSxZQUFZO0lBQ1pDLFdBQVcsR0FFVGxFLEtBQUssQ0FGUGtFLFdBQVc7SUFDWEMsR0FBRyxHQUNEbkUsS0FBSyxDQURQbUUsR0FBRztFQUVMLElBQU01QyxRQUFRLEdBQUdDLFlBQVksSUFBSUUsT0FBTztFQUV4QyxJQUFNMEMsT0FBTyxHQUFHekYsY0FBYyxDQUFDeUIsU0FBUyxDQUFDO0VBQ3pDLElBQU1pRSxNQUFNLEdBQUd0RyxLQUFLLENBQUEsQ0FBRTtFQUN0QixJQUFNdUcsU0FBUyxHQUFHaEUsRUFBRSxLQUFBLElBQUEsSUFBRkEsRUFBRSxLQUFBLEtBQUEsQ0FBQSxHQUFGQSxFQUFFLEdBQUkrRCxNQUFNO0VBQzlCLElBQU1FLE9BQU8sR0FBR3hHLEtBQUssQ0FBQSxDQUFFO0VBQ3ZCLElBQU15RyxhQUFhLEdBQUd6RyxLQUFLLENBQUEsQ0FBRTtFQUM3QixJQUFNMEcsVUFBVSxHQUFHMUcsS0FBSyxDQUFBLENBQUU7RUFDMUIsSUFBQTJHLG1CQUFBLEdBQW9Ddkcsa0JBQWtCLENBQ3BENEMsWUFBWSxLQUFBLElBQUEsSUFBWkEsWUFBWSxLQUFBLEtBQUEsQ0FBQSxHQUFaQSxZQUFZLEdBQUthLFFBQVEsR0FBRyxFQUFFLEdBQUcrQyxTQUFVLEVBQzNDN0QsS0FBSyxDQUNOO0lBQUE4RCxvQkFBQSxHQUFBQyxjQUFBLENBQUFILG1CQUFBO0lBSE1JLFVBQVUsR0FBQUYsb0JBQUE7SUFBRUcsYUFBYSxHQUFBSCxvQkFBQTtFQUloQyxJQUFBSSxvQkFBQSxHQUFnRDdHLGtCQUFrQixDQUNoRWlFLGtCQUFrQixFQUNsQkYsV0FBVyxDQUNaO0lBQUErQyxvQkFBQSxHQUFBSixjQUFBLENBQUFHLG9CQUFBO0lBSE1FLGdCQUFnQixHQUFBRCxvQkFBQTtJQUFFRSxtQkFBbUIsR0FBQUYsb0JBQUE7RUFJNUMsSUFBQUcsU0FBQSxHQUFzQ2xILFFBQVEsQ0FBZ0IsSUFBSSxDQUFDO0lBQUFtSCxVQUFBLEdBQUFSLGNBQUEsQ0FBQU8sU0FBQTtJQUE1REUsV0FBVyxHQUFBRCxVQUFBO0lBQUVFLGNBQWMsR0FBQUYsVUFBQTtFQUVsQyxJQUFNRyxjQUFjLEdBQUc5RixhQUFhLENBQUN1QixJQUFJLENBQUM7RUFDMUMsSUFBTXdFLGVBQWUsR0FBR3pILE9BQU8sQ0FDN0I7SUFBQSxPQUFNMkIscUJBQXFCLENBQUNrQixPQUFPLENBQUM7RUFBQSxHQUNwQyxDQUFDQSxPQUFPLENBQUMsQ0FDVjtFQUNELElBQU02RSxjQUFjLEdBQUcxSCxPQUFPLENBQzVCO0lBQUEsT0FBTXFCLG1CQUFtQixDQUFDb0csZUFBZSxDQUFDO0VBQUEsR0FDMUMsQ0FBQ0EsZUFBZSxDQUFDLENBQ2xCO0VBQ0QsSUFBTUUsbUJBQW1CLEdBQUczSCxPQUFPLENBQ2pDO0lBQUEsT0FDRStELFVBQVUsR0FDTjNDLGtCQUFrQixDQUFDcUcsZUFBZSxFQUFFUCxnQkFBZ0IsRUFBRWxCLFlBQVksQ0FBQyxHQUNuRXlCLGVBQWU7RUFBQSxDQUNwQixFQUNELENBQUNBLGVBQWUsRUFBRXpCLFlBQVksRUFBRWtCLGdCQUFnQixFQUFFbkQsVUFBVSxDQUFDLENBQzlEO0VBQ0QsSUFBTTZELGtCQUFrQixHQUFHNUgsT0FBTyxDQUNoQztJQUFBLE9BQU1xQixtQkFBbUIsQ0FBQ3NHLG1CQUFtQixDQUFDO0VBQUEsR0FDOUMsQ0FBQ0EsbUJBQW1CLENBQUMsQ0FDdEI7RUFDRCxJQUFNRSxlQUFlLEdBQUc3SCxPQUFPLENBQzdCO0lBQUEsT0FBTXdCLGtCQUFrQixDQUFDa0csY0FBYyxFQUFFWixVQUFVLEVBQUVsRCxRQUFRLENBQUM7RUFBQSxHQUM5RCxDQUFDOEQsY0FBYyxFQUFFWixVQUFVLEVBQUVsRCxRQUFRLENBQUMsQ0FDdkM7RUFDRCxJQUFNa0UsYUFBYSxHQUFHOUgsT0FBTyxDQUFDLFlBQUs7SUFDakMsSUFBSTZILGVBQWUsQ0FBQ0UsTUFBTSxLQUFLLENBQUMsRUFBRTtNQUNoQyxPQUFPLElBQUk7SUFDYjtJQUVBLElBQU1DLFlBQVksR0FBR0osa0JBQWtCLENBQUNLLFNBQVMsQ0FDL0MsVUFBQ0MsTUFBTTtNQUFBLE9BQUtBLE1BQU0sQ0FBQ3BGLEtBQUssS0FBSytFLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQy9FLEtBQUs7SUFBQSxFQUN0RDtJQUVELE9BQU9rRixZQUFZLElBQUksQ0FBQyxHQUFHQSxZQUFZLEdBQUcsSUFBSTtFQUNoRCxDQUFDLEVBQUUsQ0FBQ0gsZUFBZSxFQUFFRCxrQkFBa0IsQ0FBQyxDQUFDO0VBQ3pDLElBQU1PLFlBQVksR0FBR04sZUFBZSxDQUFDRSxNQUFNLEdBQUcsQ0FBQztFQUMvQyxJQUFNSyxPQUFPLEdBQUduSSxNQUFNLENBQWtDLEVBQUUsQ0FBQztFQUMzRCxJQUFNb0ksY0FBYyxHQUFHcEksTUFBTSxDQUF1QixFQUFFLENBQUM7RUFDdkQsSUFBTXFJLFdBQVcsR0FBR3JJLE1BQU0sQ0FBd0IsSUFBSSxDQUFDO0VBQ3ZELElBQU1zSSxVQUFVLEdBQUd0SSxNQUFNLENBQTJCLElBQUksQ0FBQztFQUN6RCxJQUFNdUksY0FBYyxHQUFHdkksTUFBTSxDQUEwQixJQUFJLENBQUM7RUFFNUQsSUFBTXdJLGdCQUFnQixHQUFHckksZ0JBQWdCLENBQUMsVUFBQ3NJLElBQThCLEVBQUk7SUFDM0VILFVBQVUsQ0FBQ0ksT0FBTyxHQUFHRCxJQUFJO0lBQ3pCLElBQUl2QyxHQUFHLEVBQUU7TUFDTkEsR0FBNkMsQ0FBQ3dDLE9BQU8sR0FBR0QsSUFBSTtJQUMvRDtFQUNGLENBQUMsQ0FBQztFQUVGLElBQUFFLGVBQUEsR0FTSTVILGNBQWMsQ0FBb0I7TUFDcEMrRCxJQUFJLEVBQUpBLElBQUk7TUFDSkUsV0FBVyxFQUFYQSxXQUFXO01BQ1hZLFlBQVksRUFBWkEsWUFBWTtNQUNadEMsUUFBUSxFQUFSQSxRQUFRO01BQ1JrQyxhQUFhLEVBQWJBLGFBQWE7TUFDYkUsU0FBUyxFQUFUQSxTQUFTO01BQ1RELE1BQU0sRUFBTkE7SUR6SEEsQ0MwSEQsQ0FBQztJQWhCUW1ELFNBQVMsR0FBQUQsZUFBQSxDQUFqQkUsTUFBTTtJQUNHQyxnQkFBZ0IsR0FBQUgsZUFBQSxDQUF6QkksT0FBTztJQUNQQyxJQUFJLEdBQUFMLGVBQUEsQ0FBSkssSUFBSTtJQUNKQyxPQUFPLEdBQUFOLGVBQUEsQ0FBUE0sT0FBTztJQUNQQyxjQUFjLEdBQUFQLGVBQUEsQ0FBZE8sY0FBYztJQUNkQyxnQkFBZ0IsR0FBQVIsZUFBQSxDQUFoQlEsZ0JBQWdCO0lBQ2hCQyxTQUFTLEdBQUFULGVBQUEsQ0FBVFMsU0FBUztJQUNUQyxnQkFBZ0IsR0FBQVYsZUFBQSxDQUFoQlUsZ0JBQWdCO0VBV2xCLElBQU1DLFlBQVksR0FBR25KLGdCQUFnQixDQUFDLFVBQUNzSSxJQUE4QixFQUFJO0lBQ3ZFTyxJQUFJLENBQUNNLFlBQVksQ0FBQ2IsSUFBSSxDQUFDO0lBQ3ZCRCxnQkFBZ0IsQ0FBQ0MsSUFBSSxDQUFDO0VBQ3hCLENBQUMsQ0FBQztFQUVGLElBQU1jLFdBQVcsR0FBR3BKLGdCQUFnQixDQUFDLFVBQUNzSSxJQUEyQixFQUFJO0lBQ25FTyxJQUFJLENBQUNPLFdBQVcsQ0FBQ2QsSUFBSSxDQUFDO0lBQ3RCSixXQUFXLENBQUNLLE9BQU8sR0FBR0QsSUFBSTtFQUM1QixDQUFDLENBQUM7RUFFRixJQUFNZSxjQUFjLEdBQUc5SixpQkFBaUIsQ0FBQ3VKLE9BQU8sRUFBRTtJQUNoRGQsT0FBTyxFQUFQQSxPQUFPO0lBQ1BkLFdBQVcsRUFBWEEsV0FBVztJQUNYUSxhQUFhLEVBQWJBLGFBQWE7SUFDYjRCLFVBQVUsRUFBRW5DLGNBQWM7SUFDMUJvQyxPQUFPLEVBQUVkLFNBQVM7SUFDbEJlLElBQUksRUFBRTtFRDVITixDQzZIRCxDQUFDO0VBQ0YsSUFBTUMsU0FBUyxHQUFHakssWUFBWSxDQUFDc0osT0FBTyxFQUFFO0lBQ3RDZCxPQUFPLEVBQUVDLGNBQWM7SUFDdkJmLFdBQVcsRUFBWEEsV0FBVztJQUNYUSxhQUFhLEVBQWJBLGFBQWE7SUFDYjZCLE9BQU8sRUFBRWQsU0FBUyxJQUFJLENBQUM5RSxVQUFVO0lBQ2pDK0YsT0FBTyxFQUFFdkM7RUQ1SFQsQ0M2SEQsQ0FBQztFQUNGLElBQUF3QyxnQkFBQSxHQUE4RHJLLGVBQWUsSUFBQXNLLE1BQUEsQ0FBQUMsa0JBQUEsQ0FDeEVYLGdCQUFnQixJQUNuQkcsY0FBYyxFQUNkSSxTQUFTLEVBQ1YsQ0FBQztJQUpNSyxpQkFBaUIsR0FBQUgsZ0JBQUEsQ0FBakJHLGlCQUFpQjtJQUFFQyxnQkFBZ0IsR0FBQUosZ0JBQUEsQ0FBaEJJLGdCQUFnQjtJQUFFQyxZQUFZLEdBQUFMLGdCQUFBLENBQVpLLFlBQVk7RUFNekQsSUFBTUMsaUJBQWlCLEdBQUdySyxPQUFPLENBQy9CO0lBQUEsT0FBTTRILGtCQUFrQixDQUFDSyxTQUFTLENBQUMsVUFBQ0MsTUFBTTtNQUFBLE9BQUssQ0FBQ0EsTUFBTSxDQUFDM0UsUUFBUTtJQUFBLEVBQUM7RUFBQSxHQUNoRSxDQUFDcUUsa0JBQWtCLENBQUMsQ0FDckI7RUFDRCxJQUFNMEMsZ0JBQWdCLEdBQUd0SyxPQUFPLENBQzlCLFlBQUs7SURqSUQsSUFBSXVLLEVBQUU7SUNrSVIsS0FBSyxJQUFJQyxLQUFLLEdBQUc1QyxrQkFBa0IsQ0FBQ0csTUFBTSxHQUFHLENBQUMsRUFBRXlDLEtBQUssSUFBSSxDQUFDLEVBQUVBLEtBQUssSUFBSSxDQUFDLEVBQUU7TUFDdEUsSUFBSSxFQUFDLENBQUFELEVBQUEsR0FBQTNDLGtCQUFrQixDQUFDNEMsS0FBSyxDQUFDLE1BQUEsSUFBQSxJQUFBRCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRWhILFFBQVEsQ0FBQSxFQUFFO1FBQ3hDLE9BQU9pSCxLQUFLO01BQ2Q7SUFDRjtJQUVBLE9BQU8sSUFBSTtFQUNiLENBQUMsRUFDRCxDQUFDNUMsa0JBQWtCLENBQUMsQ0FDckI7RUFFRDlILFNBQVMsQ0FBQyxZQUFLO0lBQ2IsSUFBSSxDQUFDK0ksU0FBUyxFQUFFO01BQ2R0QixjQUFjLENBQUNPLGFBQWEsQ0FBQztNQUM3QjtJQUNGO0lBRUFQLGNBQWMsQ0FBQyxVQUFDa0QsSUFBSSxFQUFJO01BQ3RCLElBQUlBLElBQUksS0FBSyxJQUFJLElBQUk3QyxrQkFBa0IsQ0FBQzZDLElBQUksQ0FBQyxJQUFJLENBQUM3QyxrQkFBa0IsQ0FBQzZDLElBQUksQ0FBQyxDQUFDbEgsUUFBUSxFQUFFO1FBQ25GLE9BQU9rSCxJQUFJO01BQ2I7TUFFQSxJQUNFM0MsYUFBYSxLQUFLLElBQUksSUFDdEJGLGtCQUFrQixDQUFDRSxhQUFhLENBQUMsSUFDakMsQ0FBQ0Ysa0JBQWtCLENBQUNFLGFBQWEsQ0FBQyxDQUFDdkUsUUFBUSxFQUMzQztRQUNBLE9BQU91RSxhQUFhO01BQ3RCO01BRUEsT0FBT3VDLGlCQUFpQixJQUFJLENBQUMsR0FBR0EsaUJBQWlCLEdBQUcsSUFBSTtJQUMxRCxDQUFDLENBQUM7RUFDSixDQUFDLEVBQUUsQ0FBQ0EsaUJBQWlCLEVBQUV4QixTQUFTLEVBQUVmLGFBQWEsRUFBRUYsa0JBQWtCLENBQUMsQ0FBQztFQUVyRTlILFNBQVMsQ0FBQyxZQUFLO0lEMUlULElBQUl5SyxFQUFFO0lDMklWLElBQUksQ0FBQzFCLFNBQVMsSUFBSXZCLFdBQVcsS0FBSyxJQUFJLElBQUl2RCxVQUFVLEVBQUU7TUFDcEQ7SUFDRjtJQUVBLENBQUF3RyxFQUFBLEdBQUFuQyxPQUFPLENBQUNPLE9BQU8sQ0FBQ3JCLFdBQVcsQ0FBQyxNQUFBLElBQUEsSUFBQWlELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFRyxLQUFLLENBQUM7TUFBRUMsYUFBYSxFQUFFO0lBQUksQ0FBRSxDQUFDO0VBQzlELENBQUMsRUFBRSxDQUFDckQsV0FBVyxFQUFFdUIsU0FBUyxFQUFFOUUsVUFBVSxDQUFDLENBQUM7RUFFeENqRSxTQUFTLENBQUMsWUFBSztJQUNic0ksT0FBTyxDQUFDTyxPQUFPLEdBQUdQLE9BQU8sQ0FBQ08sT0FBTyxDQUFDaUMsS0FBSyxDQUFDLENBQUMsRUFBRWhELGtCQUFrQixDQUFDRyxNQUFNLENBQUM7SUFDckVNLGNBQWMsQ0FBQ00sT0FBTyxHQUFHTixjQUFjLENBQUNNLE9BQU8sQ0FBQ2lDLEtBQUssQ0FBQyxDQUFDLEVBQUVoRCxrQkFBa0IsQ0FBQ0csTUFBTSxDQUFDO0VBQ3JGLENBQUMsRUFBRSxDQUFDSCxrQkFBa0IsQ0FBQ0csTUFBTSxDQUFDLENBQUM7RUFFL0JqSSxTQUFTLENBQUMsWUFBSztJRDVJVCxJQUFJeUssRUFBRTtJQzZJVixJQUFJMUIsU0FBUyxJQUFJOUUsVUFBVSxFQUFFO01BQzNCLENBQUF3RyxFQUFBLEdBQUEvQixjQUFjLENBQUNHLE9BQU8sTUFBQSxJQUFBLElBQUE0QixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRUcsS0FBSyxDQUFDO1FBQUVDLGFBQWEsRUFBRTtNQUFJLENBQUUsQ0FBQztJQUN4RDtFQUNGLENBQUMsRUFBRSxDQUFDOUIsU0FBUyxFQUFFOUUsVUFBVSxDQUFDLENBQUM7RUFFM0IsSUFBTThHLG1CQUFtQixHQUFHekssZ0JBQWdCLENBQUMsVUFBQzBLLGFBQWlDLEVBQUVDLEtBQStCLEVBQUk7SUQ1STlHLElBQUlSLEVBQUUsRUFBRVMsRUFBRTtJQzZJZCxJQUFNQyxVQUFVLEdBQUdILGFBQTRCO0lBQy9DLElBQU1JLGFBQWEsR0FBRyxDQUFDLEVBQUVELFVBQVUsS0FBSSxDQUFBVixFQUFBLEdBQUFoQyxVQUFVLENBQUNJLE9BQU8sTUFBQSxJQUFBLElBQUE0QixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRVksUUFBUSxDQUFDRixVQUFVLENBQUMsQ0FBQSxDQUFDO0lBQ2hGLElBQU1HLGNBQWMsR0FBRyxDQUFDLEVBQUVILFVBQVUsS0FBSSxDQUFBRCxFQUFBLEdBQUExQyxXQUFXLENBQUNLLE9BQU8sTUFBQSxJQUFBLElBQUFxQyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRUcsUUFBUSxDQUFDRixVQUFVLENBQUMsQ0FBQSxDQUFDO0lBRWxGLElBQUksQ0FBQ0MsYUFBYSxJQUFJLENBQUNFLGNBQWMsRUFBRTtNQUNyQ3JGLE1BQU0sS0FBQSxJQUFBLElBQU5BLE1BQU0sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBTkEsTUFBTSxDQUFHZ0YsS0FBSyxDQUFDO0lBQ2pCO0VBQ0YsQ0FBQyxDQUFDO0VBRUYsSUFBTU0saUJBQWlCLEdBQUdqTCxnQkFBZ0IsQ0FBQyxVQUFDMkssS0FBb0MsRUFBSTtJQUNsRkYsbUJBQW1CLENBQUNFLEtBQUssQ0FBQ0QsYUFBYSxFQUFFQyxLQUFnQyxDQUFDO0VBQzVFLENBQUMsQ0FBQztFQUVGLElBQU1PLGdCQUFnQixHQUFHbEwsZ0JBQWdCLENBQUMsVUFBQzJLLEtBQW9DLEVBQUk7SUFDakZGLG1CQUFtQixDQUFDRSxLQUFLLENBQUNELGFBQWEsRUFBRUMsS0FBZ0MsQ0FBQztFQUM1RSxDQUFDLENBQUM7RUFFRixJQUFNUSxZQUFZLEdBQUduTCxnQkFBZ0IsQ0FBQyxVQUFDb0wsU0FBc0IsRUFBRUMsVUFBMEMsRUFBSTtJQUMzRzFFLGFBQWEsQ0FBQ3lFLFNBQVMsQ0FBQztJQUN4QjVGLFFBQVEsS0FBQSxJQUFBLElBQVJBLFFBQVEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBUkEsUUFBUSxDQUFHNEYsU0FBUyxFQUFFQyxVQUFVLENBQUM7RUFDbkMsQ0FBQyxDQUFDO0VBRUYsSUFBTUMsa0JBQWtCLEdBQUd0TCxnQkFBZ0IsQ0FBQyxVQUFDOEgsTUFBb0IsRUFBSTtJRGhKL0QsSUFBSXFDLEVBQUUsRUFBRVMsRUFBRTtJQ2lKZCxJQUFJOUMsTUFBTSxDQUFDM0UsUUFBUSxFQUFFO01BQ25CO0lBQ0Y7SUFFQSxJQUFJSyxRQUFRLEVBQUU7TUFDWixJQUFNNEgsU0FBUyxHQUFHM0osbUJBQW1CLENBQUNpRixVQUFVLEVBQUVvQixNQUFNLENBQUNwRixLQUFLLENBQUM7TUFDL0QsSUFBTTZJLFdBQVcsR0FBR3BLLGtCQUFrQixDQUFDbUcsY0FBYyxFQUFFOEQsU0FBUyxDQUFDO01BQ2pFRCxZQUFZLENBQUNDLFNBQVMsRUFBRUcsV0FBVyxDQUFDO01BQ3BDO0lBQ0Y7SUFFQSxJQUFJdEcsYUFBYSxJQUFJeUIsVUFBVSxLQUFLb0IsTUFBTSxDQUFDcEYsS0FBSyxFQUFFO01BQ2hEeUksWUFBWSxDQUFDNUUsU0FBUyxFQUFFQSxTQUFTLENBQUM7TUFDbENvQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7TUFDdkJoRCxNQUFNLEtBQUEsSUFBQSxJQUFOQSxNQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE1BQU0sQ0FBQSxDQUFJO01BQ1YsQ0FBQXdFLEVBQUEsR0FBQWhDLFVBQVUsQ0FBQ0ksT0FBTyxNQUFBLElBQUEsSUFBQTRCLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFRyxLQUFLLENBQUM7UUFBRUMsYUFBYSxFQUFFO01BQUksQ0FBRSxDQUFDO01BQ2xEO0lBQ0Y7SUFFQVksWUFBWSxDQUFDckQsTUFBTSxDQUFDcEYsS0FBSyxFQUFFb0YsTUFBTSxDQUFDO0lBQ2xDYSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFDdkJoRCxNQUFNLEtBQUEsSUFBQSxJQUFOQSxNQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE1BQU0sQ0FBQSxDQUFJO0lBQ1YsQ0FBQWlGLEVBQUEsR0FBQXpDLFVBQVUsQ0FBQ0ksT0FBTyxNQUFBLElBQUEsSUFBQXFDLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFTixLQUFLLENBQUM7TUFBRUMsYUFBYSxFQUFFO0lBQUksQ0FBRSxDQUFDO0VBQ3BELENBQUMsQ0FBQztFQUVGLElBQU1pQix5QkFBeUIsR0FBR3hMLGdCQUFnQixDQUFDLFVBQUN5TCxXQUE4QixFQUFJO0lBQ3BGLElBQUksQ0FBQ2pJLFFBQVEsRUFBRTtNQUNiO0lBQ0Y7SUFFQSxJQUFJLENBQUN0QyxnQkFBZ0IsQ0FBQ3dGLFVBQVUsQ0FBQyxDQUFDZ0YsUUFBUSxDQUFDRCxXQUFXLENBQUMsRUFBRTtNQUN2RDtJQUNGO0lBRUEsSUFBTUwsU0FBUyxHQUFHNUosbUJBQW1CLENBQUNrRixVQUFVLEVBQUUrRSxXQUFXLENBQUM7SUFDOUQsSUFBTUYsV0FBVyxHQUFHcEssa0JBQWtCLENBQUNtRyxjQUFjLEVBQUU4RCxTQUFTLENBQUM7SUFDakVELFlBQVksQ0FBQ0MsU0FBUyxFQUFFRyxXQUFXLENBQUM7RUFDdEMsQ0FBQyxDQUFDO0VBRUYsSUFBTUksb0JBQW9CLEdBQUczTCxnQkFBZ0IsQ0FBQyxVQUFDMkssS0FBNEMsRUFBSTtJQUM3RixJQUFJeEgsUUFBUSxFQUFFO01BQ1o7SUFDRjtJQUVBLElBQUl3SCxLQUFLLENBQUNpQixHQUFHLEtBQUsvSyxRQUFRLENBQUNnTCxLQUFLLElBQUlsQixLQUFLLENBQUNpQixHQUFHLEtBQUsvSyxRQUFRLENBQUNpTCxLQUFLLEVBQUU7TUFDaEVuQixLQUFLLENBQUNvQixjQUFjLENBQUEsQ0FBRTtNQUN0QnBELGdCQUFnQixDQUFDLENBQUNGLFNBQVMsQ0FBQztNQUM1QjtJQUNGO0lBRUEsSUFBSWtDLEtBQUssQ0FBQ2lCLEdBQUcsS0FBSy9LLFFBQVEsQ0FBQ21MLFVBQVUsSUFBSXJCLEtBQUssQ0FBQ2lCLEdBQUcsS0FBSy9LLFFBQVEsQ0FBQ29MLFFBQVEsRUFBRTtNQUN4RXRCLEtBQUssQ0FBQ29CLGNBQWMsQ0FBQSxDQUFFO01BQ3RCLElBQUksQ0FBQ3RELFNBQVMsRUFBRTtRQUNkRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7TUFDeEI7SUFDRjtFQUNGLENBQUMsQ0FBQztFQUVGLElBQU11RCxvQkFBb0IsR0FBR2xNLGdCQUFnQixDQUFDLFVBQUNvSyxLQUFhLEVBQUk7SUR6SjFELElBQUlELEVBQUU7SUMwSlYsSUFBSSxFQUFDLENBQUFBLEVBQUEsR0FBQTNDLGtCQUFrQixDQUFDNEMsS0FBSyxDQUFDLE1BQUEsSUFBQSxJQUFBRCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRWhILFFBQVEsQ0FBQSxFQUFFO01BQ3hDZ0UsY0FBYyxDQUFDaUQsS0FBSyxDQUFDO0lBQ3ZCO0VBQ0YsQ0FBQyxDQUFDO0VBRUYsSUFBTStCLHdCQUF3QixHQUFHbk0sZ0JBQWdCLENBQUMsVUFBQzJLLEtBQXVDLEVBQUk7SUFDNUZBLEtBQUssQ0FBQ29CLGNBQWMsQ0FBQSxDQUFFO0lBQ3RCcEIsS0FBSyxDQUFDeUIsZUFBZSxDQUFBLENBQUU7RUFDekIsQ0FBQyxDQUFDO0VBRUYsSUFBTUMsb0JBQW9CLEdBQUdyTSxnQkFBZ0IsQ0FBQyxVQUFDMkssS0FBdUMsRUFBSTtJQUN4RkEsS0FBSyxDQUFDb0IsY0FBYyxDQUFBLENBQUU7SUFDdEJwQixLQUFLLENBQUN5QixlQUFlLENBQUEsQ0FBRTtFQUN6QixDQUFDLENBQUM7RUFFRixJQUFNRSxnQkFBZ0IsR0FBR3RNLGdCQUFnQixDQUFDLFVBQUMySyxLQUFtQyxFQUFJO0lBQ2hGRixtQkFBbUIsQ0FBQ0UsS0FBSyxDQUFDRCxhQUFhLEVBQUVDLEtBQWdDLENBQUM7RUFDNUUsQ0FBQyxDQUFDO0VBRUYsSUFBTTRCLGtCQUFrQixHQUFHdk0sZ0JBQWdCLENBQUMsVUFBQ29MLFNBQWlCLEVBQUVvQixNQUFxQyxFQUFJO0lBQ3ZHekYsbUJBQW1CLENBQUNxRSxTQUFTLENBQUM7SUFDOUIxRixjQUFjLEtBQUEsSUFBQSxJQUFkQSxjQUFjLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQWRBLGNBQWMsQ0FBRzBGLFNBQVMsQ0FBQztFQUM3QixDQUFDLENBQUM7RUFFRixJQUFNcUIsbUJBQW1CLEdBQUd6TSxnQkFBZ0IsQ0FBQyxVQUFDMkssS0FBMkMsRUFBSTtJRDdKdkYsSUFBSVIsRUFBRSxFQUFFUyxFQUFFLEVBQUU4QixFQUFFO0lDOEpsQixJQUFJL0IsS0FBSyxDQUFDaUIsR0FBRyxLQUFLL0ssUUFBUSxDQUFDbUwsVUFBVSxJQUFJL0IsaUJBQWlCLElBQUksQ0FBQyxFQUFFO01BQy9EVSxLQUFLLENBQUNvQixjQUFjLENBQUEsQ0FBRTtNQUN0QjVFLGNBQWMsQ0FBQzhDLGlCQUFpQixDQUFDO01BQ2pDLENBQUFFLEVBQUEsR0FBQW5DLE9BQU8sQ0FBQ08sT0FBTyxDQUFDMEIsaUJBQWlCLENBQUMsTUFBQSxJQUFBLElBQUFFLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFRyxLQUFLLENBQUM7UUFBRUMsYUFBYSxFQUFFO01BQUksQ0FBRSxDQUFDO01BQ2xFO0lBQ0Y7SUFFQSxJQUFJSSxLQUFLLENBQUNpQixHQUFHLEtBQUsvSyxRQUFRLENBQUNvTCxRQUFRLElBQUkvQixnQkFBZ0IsS0FBSyxJQUFJLEVBQUU7TUFDaEVTLEtBQUssQ0FBQ29CLGNBQWMsQ0FBQSxDQUFFO01BQ3RCNUUsY0FBYyxDQUFDK0MsZ0JBQWdCLENBQUM7TUFDaEMsQ0FBQVUsRUFBQSxHQUFBNUMsT0FBTyxDQUFDTyxPQUFPLENBQUMyQixnQkFBZ0IsQ0FBQyxNQUFBLElBQUEsSUFBQVUsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVOLEtBQUssQ0FBQztRQUFFQyxhQUFhLEVBQUU7TUFBSSxDQUFFLENBQUM7TUFDakU7SUFDRjtJQUVBLElBQUlJLEtBQUssQ0FBQ2lCLEdBQUcsS0FBSy9LLFFBQVEsQ0FBQzhMLE1BQU0sRUFBRTtNQUNqQ2hDLEtBQUssQ0FBQ29CLGNBQWMsQ0FBQSxDQUFFO01BQ3RCcEQsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO01BQ3ZCLENBQUErRCxFQUFBLEdBQUF2RSxVQUFVLENBQUNJLE9BQU8sTUFBQSxJQUFBLElBQUFtRSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRXBDLEtBQUssQ0FBQztRQUFFQyxhQUFhLEVBQUU7TUFBSSxDQUFFLENBQUM7SUFDcEQ7RUFDRixDQUFDLENBQUM7RUFFRixJQUFNcUMsZUFBZSxHQUEwQjtJQUM3Q3pKLFFBQVEsRUFBUkEsUUFBUTtJQUNSSyxRQUFRLEVBQVJBLFFBQVE7SUFDUkMsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7SUFDaEJrQixJQUFJLEVBQUU4RCxTQUFTO0lBQ2ZsRyxXQUFXLEVBQUUsQ0FBQ3dGLFlBQVk7SUFDMUJOLGVBQWUsRUFBZkE7RUQvSkEsQ0NnS0Q7RUFDRCxJQUFNb0YsZUFBZSxHQUFHOUUsWUFBWSxHQUFHLE9BQU8sR0FBRyxhQUFhO0VBQzlELElBQU0rRSxxQkFBcUIsR0FDekJ0SixRQUFRLElBQ1J1RSxZQUFZLElBQ1p0RSxnQkFBZ0IsS0FBSzhDLFNBQ3RCO0VBQ0QsSUFBTXdHLGdCQUFnQixHQUFHL0csT0FBTyxDQUM5QixTQUFTLEVBQ1QzRixPQUFPLENBQ0wyRixPQUFPLFlBQUE0RCxNQUFBLENBQVl4QyxjQUFjLENBQUUsQ0FBQyxFQUNwQ3BCLE9BQU8sWUFBQTRELE1BQUEsQ0FBWTNHLE9BQU8sQ0FBRSxDQUFDLEVBQzdCd0YsU0FBUyxJQUFJekMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUNwQzhHLHFCQUFxQixJQUFJOUcsT0FBTyxDQUFDLHlCQUF5QixDQUFDLEVBQzNEK0IsWUFBWSxHQUFHL0IsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEdBQUdBLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUN6RWpELE1BQU0sS0FBSyxTQUFTLElBQUlpRCxPQUFPLFlBQUE0RCxNQUFBLENBQVk3RyxNQUFNLENBQUUsQ0FBQyxFQUNwREksUUFBUSxJQUFJNkMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQ3hDLENBQ0Y7RUFDRCxJQUFNZ0gsUUFBUSxHQUFHNUYsY0FBYyxLQUFLLE9BQU8sR0FBRyxFQUFFLEdBQUcsRUFBRTtFQUNyRCxJQUFNNkYsc0JBQXNCLEdBQUc1SyxjQUFjLEtBQUEsSUFBQSxJQUFkQSxjQUFjLEtBQUEsS0FBQSxDQUFBLEdBQWRBLGNBQWMsR0FBSzRCLEtBQUssR0FBR2tDLE9BQU8sR0FBR0ksU0FBVTtFQUM5RSxJQUFNMkcsY0FBYyxHQUFHLENBQ3JCL0ksV0FBVyxHQUFHaUMsYUFBYSxHQUFHLElBQUksRUFDbENoQyxRQUFRLEdBQUdpQyxVQUFVLEdBQUcsSUFBSSxDQUM3QixDQUFDOEcsTUFBTSxDQUFDQyxPQUFPLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJOUcsU0FBUztFQUV4QyxPQUNFcEgsS0FBQSxDQUFDcUIsZ0JBQWdCLEVBQUE7SUFDZndGLE9BQU8sRUFBRUEsT0FBTztJQUNoQmxFLFNBQVMsRUFBRUEsU0FBUztJQUNwQmUsSUFBSSxFQUFFdUUsY0FBYztJQUNwQm5FLE9BQU8sRUFBRUEsT0FBTztJQUNoQkYsTUFBTSxFQUFFQSxNQUFNO0lBQ2RJLFFBQVEsRUFBRUEsUUFBUTtJQUNsQkcsT0FBTyxFQUFFQSxPQUFPO0lBQ2hCVyxLQUFLLEVBQUVBLEtBQUs7SUFDWkMsSUFBSSxFQUFFQSxJQUFJO0lBQ1ZDLFdBQVcsRUFBRUEsV0FBVztJQUN4QkMsUUFBUSxFQUFFQSxRQUFRO0lBQ2xCRSxRQUFRLEVBQUVBLFFBQVE7SUFDbEI2QixPQUFPLEVBQUVBLE9BQU87SUFDaEJDLGFBQWEsRUFBRUEsYUFBYTtJQUM1QkMsVUFBVSxFQUFFQSxVQUFVO0lBQUFpSCxRQUFBLEVBQUEsQ0FFdEJuTyxLQUFBLENBQUEsUUFBQSxFQUFBb08sTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ00xRCxpQkFBaUIsQ0FBQztNQUNwQi9ELEdBQUcsRUFBRW9ELFlBQVk7TUFDakJqSCxFQUFFLEVBQUVnRSxTQUFTO01BQ2J1SCxJQUFJLEVBQUUsUUFBUTtNQUNkdEwsSUFBSSxFQUFKQSxJQUFJO01BQ0pnQixRQUFRLEVBQVJBLFFBQVE7TUFDUnJCLFNBQVMsRUFBRWlMLGdCQUFnQjtNQUMzQlcsU0FBUyxFQUFFL0Isb0JBQW9CO01BQy9CaEcsTUFBTSxFQUFFc0YsaUJBQWlCO01BQ3pCLFlBQVksRUFBRTdJLFNBQVM7TUFDdkIsaUJBQWlCLEVBQUU2SyxzQkFBc0I7TUFDekMsa0JBQWtCLEVBQUVDO0lEaE1sQixDQ2lNSCxDQUFDLEVBQUE7TUFBQUksUUFBQSxFQUFBLENBRUZuTyxLQUFBLENBQUEsTUFBQSxFQUFBO1FBQU0yQyxTQUFTLEVBQUVrRSxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQUFzSCxRQUFBLEVBQUEsQ0FDaEMvSSxNQUFNLElBQUl0RixJQUFBLENBQUEsTUFBQSxFQUFBO1VBQU02QyxTQUFTLEVBQUVrRSxPQUFPLENBQUMsUUFBUSxDQUFDO1VBQUFzSCxRQUFBLEVBQUcvSTtRQUFNLENBQUEsQ0FBUSxFQUM5RHRGLElBQUEsQ0FBQSxNQUFBLEVBQUE7VUFDRTZDLFNBQVMsRUFBRWtFLE9BQU8sQ0FDaEI2RyxlQUFlLEVBQ2Z4TSxPQUFPLENBQ0wyRixPQUFPLElBQUE0RCxNQUFBLENBQUlpRCxlQUFlLE9BQUFqRCxNQUFBLENBQUl4QyxjQUFjLENBQUUsQ0FBQyxFQUMvQzBGLHFCQUFxQixJQUFJOUcsT0FBTyxJQUFBNEQsTUFBQSxDQUFJaUQsZUFBZSxjQUFXLENBQUMsRUFDL0QxSixRQUFRLElBQUk2QyxPQUFPLElBQUE0RCxNQUFBLENBQUlpRCxlQUFlLGNBQVcsQ0FBQyxDQUNuRCxDQUNGO1VBQUFTLFFBQUEsRUFFRHJPLElBQUEsQ0FBQzBCLGtCQUFrQixFQUFBO1lBQ2pCcUYsT0FBTyxFQUFFQSxPQUFPO1lBQ2hCK0IsWUFBWSxFQUFFQSxZQUFZO1lBQzFCdkUsUUFBUSxFQUFFQSxRQUFRO1lBQ2xCakIsV0FBVyxFQUFFQSxXQUFXO1lBQ3hCdUQsV0FBVyxFQUFFQSxXQUFXO1lBQ3hCOEcsZUFBZSxFQUFFQSxlQUFlO1lBQ2hDbkYsZUFBZSxFQUFFQSxlQUFlO1lBQ2hDaEUsZ0JBQWdCLEVBQUVBLGdCQUFnQjtZQUNsQ2tLLFFBQVEsRUFBRW5DLHlCQUF5QjtZQUNuQ29DLGFBQWEsRUFBRXZCLG9CQUFvQjtZQUNuQ3dCLGlCQUFpQixFQUFFMUI7VUFBd0IsQ0FBQTtRQUMzQyxDQUFBLENBQ0c7TUFBQSxDQUFBLENBQ0YsRUFDUGxOLElBQUEsQ0FBQSxNQUFBLEVBQUE7UUFBTTZDLFNBQVMsRUFBRWtFLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFBQXNILFFBQUEsRUFDN0JoSyxPQUFPLEdBQ05yRSxJQUFBLENBQUNpQixPQUFPLEVBQUE7VUFBQzJDLElBQUksRUFBRW1LLFFBQVE7VUFBRWMsV0FBVyxFQUFFO1FBQUMsQ0FBQSxDQUFJLEdBRTNDN08sSUFBQSxDQUFDZ0IsS0FBSyxFQUFBO1VBQ0prQyxJQUFJLEVBQUVzRyxTQUFTLEdBQUcsV0FBVyxHQUFHLGFBQWE7VUFDN0M1RixJQUFJLEVBQUVtSyxRQUFRO1VBQ2RlLEtBQUssRUFBQztRQUFjLENBQUE7TUFFdkIsQ0FBQSxDQUNJO0lBQUEsQ0FBQSxDQUFBLENBQ0EsRUFFUjlFLFNBQVMsSUFBSSxDQUFDOUYsUUFBUSxJQUFLLFlBQUs7TUFDL0IsSUFBTTZLLFNBQVMsR0FDYi9PLElBQUEsQ0FBQ0csb0JBQW9CLEVBQUE7UUFBQzBKLE9BQU8sRUFBRUEsT0FBTztRQUFFbUYsS0FBSyxFQUFFLEtBQUs7UUFBRUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUFFQyxXQUFXLEVBQUUsS0FBSztRQUFBYixRQUFBLEVBQ3hGbk8sS0FBQSxDQUFBLEtBQUEsRUFBQW9PLE1BQUEsQ0FBQUMsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNNekQsZ0JBQWdCLENBQUM7VUFDbkJoRSxHQUFHLEVBQUVxRCxXQUFXO1VBQ2hCdEgsU0FBUyxFQUFFekIsT0FBTyxDQUFDMkYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFZCxjQUFjLENBQUM7VUFDcERqRCxLQUFLLEVBQUFzTCxNQUFBLENBQUFDLE1BQUEsQ0FBQUQsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQU96RSxjQUFjLENBQUEsRUFBS0MsZ0JBQWdCO1FEN08zQyxDQzhPTCxDQUFDLEVBQUE7VUFBQXNFLFFBQUEsRUFBQSxDQUVEM0osVUFBVSxJQUNUMUUsSUFBQSxDQUFDeUIsbUJBQW1CLEVBQUE7WUFDbEJxRixHQUFHLEVBQUVxQyxjQUFjO1lBQ25CcEMsT0FBTyxFQUFFQSxPQUFPO1lBQ2hCekQsV0FBVyxFQUFFc0IsaUJBQWlCO1lBQzlCbkIsS0FBSyxFQUFFb0UsZ0JBQWdCO1lBQ3ZCbkIsTUFBTSxFQUFFMkcsZ0JBQWdCO1lBQ3hCOUcsUUFBUSxFQUFFK0csa0JBQWtCO1lBQzVCbUIsU0FBUyxFQUFFakI7VUFBbUIsQ0FBQSxDQUVqQyxFQUNEeE4sSUFBQSxDQUFBLEtBQUEsRUFBQTtZQUFLNkMsU0FBUyxFQUFFa0UsT0FBTyxDQUFDLFlBQVksQ0FBQztZQUFBc0gsUUFBQSxFQUNsQzlGLGtCQUFrQixDQUFDRyxNQUFNLEtBQUssQ0FBQyxHQUM5QjFJLElBQUEsQ0FBQSxLQUFBLEVBQUE7Y0FBSzZDLFNBQVMsRUFBRWtFLE9BQU8sQ0FBQyxPQUFPLENBQUM7Y0FBQXNILFFBQUEsRUFDOUJyTyxJQUFBLENBQUNrQixjQUFjLEVBQUE7Z0JBQUMwQyxJQUFJLEVBQUUvQixpQkFBaUIsQ0FBQ3NOLEtBQUssQ0FBQ3ZMLElBQUk7Z0JBQUVrTCxLQUFLLEVBQUVqTixpQkFBaUIsQ0FBQ3NOLEtBQUssQ0FBQ0wsS0FBSztnQkFBQVQsUUFBQSxFQUFHN0k7Y0FBWSxDQUFBO1lBQWtCLENBQUEsQ0FDckgsR0FFTCxZQUFLO2NBQ0osSUFBSTRKLFNBQVMsR0FBRyxDQUFDO2NBRWpCLE9BQU85RyxtQkFBbUIsQ0FBQytHLEdBQUcsQ0FBQyxVQUFDQyxLQUFLO2dCQUFBLE9BQ25DcFAsS0FBQSxDQUFBLEtBQUEsRUFBQTtrQkFBcUIyQyxTQUFTLEVBQUVrRSxPQUFPLENBQUMsT0FBTyxDQUFDO2tCQUFBc0gsUUFBQSxFQUFBLENBQzdDaUIsS0FBSyxDQUFDdEssS0FBSyxJQUNWaEYsSUFBQSxDQUFBLEtBQUEsRUFBQTtvQkFBSzZDLFNBQVMsRUFBRWtFLE9BQU8sQ0FBQyxhQUFhLENBQUM7b0JBQUFzSCxRQUFBLEVBQ3BDck8sSUFBQSxDQUFDbUIsZUFBZSxFQUFBO3NCQUFDeUMsSUFBSSxFQUFFL0IsaUJBQWlCLENBQUMwTixVQUFVLENBQUMzTCxJQUFJO3NCQUFFNEwsTUFBTSxFQUFBLElBQUE7c0JBQUFuQixRQUFBLEVBQUVpQixLQUFLLENBQUN0SztvQkFBSyxDQUFBO2tCQUFtQixDQUFBLENBRW5HLEVBQ0FzSyxLQUFLLENBQUM5TCxPQUFPLENBQUM2TCxHQUFHLENBQUMsVUFBQ3hHLE1BQU0sRUFBSTtvQkFDNUIsSUFBTTRHLGVBQWUsR0FBR0wsU0FBUztvQkFDakNBLFNBQVMsSUFBSSxDQUFDO29CQUVkLElBQU1NLFFBQVEsR0FBR3ROLGdCQUFnQixDQUFDcUYsVUFBVSxFQUFFbEQsUUFBUSxFQUFFc0UsTUFBTSxDQUFDcEYsS0FBSyxDQUFDO29CQUNyRSxJQUFNa00sTUFBTSxHQUFHMUgsV0FBVyxLQUFLd0gsZUFBZTtvQkFDOUMsSUFBTUcsVUFBVSxHQUEyQjtzQkFDekNELE1BQU0sRUFBTkEsTUFBTTtzQkFDTnpMLFFBQVEsRUFBRSxDQUFDLENBQUMyRSxNQUFNLENBQUMzRSxRQUFRO3NCQUMzQmlILEtBQUssRUFBRXNFLGVBQWU7c0JBQ3RCbEwsUUFBUSxFQUFSQSxRQUFRO3NCQUNSbUIsSUFBSSxFQUFFOEQsU0FBUztzQkFDZmtHLFFBQVEsRUFBUkE7b0JEelFvQixDQzBRckI7b0JBRUQxRyxjQUFjLENBQUNNLE9BQU8sQ0FBQ21HLGVBQWUsQ0FBQyxHQUFHM04saUJBQWlCLENBQUMrRyxNQUFNLENBQUM7b0JBRW5FLE9BQ0U3SSxJQUFBLENBQUEsUUFBQSxFQUFBc08sTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBRU14RCxZQUFZLENBQUM7c0JBQ2ZqRSxHQUFHLFdBQUhBLEdBQUdBLENBQUN1QyxJQUE4QixFQUFBO3dCQUNoQ04sT0FBTyxDQUFDTyxPQUFPLENBQUNtRyxlQUFlLENBQUMsR0FBR3BHLElBQUk7c0JBQ3pDLENBQUM7c0JBQ0RtRixJQUFJLEVBQUUsUUFBUTtzQkFDZHFCLElBQUksRUFBRSxRQUFRO3NCQUNkaE4sU0FBUyxFQUFFa0UsT0FBTyxDQUNoQixRQUFRLEVBQ1IzRixPQUFPLENBQ0x1TyxNQUFNLElBQUk1SSxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQ2xDMkksUUFBUSxJQUFJM0ksT0FBTyxDQUFDLGlCQUFpQixDQUFDLEVBQ3RDOEIsTUFBTSxDQUFDM0UsUUFBUSxJQUFJNkMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEVBQzdDYixlQUFlLENBQ2hCLENBQ0Y7c0JBQ0RoQyxRQUFRLEVBQUUyRSxNQUFNLENBQUMzRSxRQUFRO3NCQUN6QixlQUFlLEVBQUV3TCxRQUFRO3NCQUN6QkksT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUdwRSxLQUF5QyxFQUFJO3dCQUNyREEsS0FBSyxDQUFDb0IsY0FBYyxDQUFBLENBQUU7d0JBQ3RCVCxrQkFBa0IsQ0FBQ3hELE1BQU0sQ0FBQztzQkFDNUIsQ0FBQztzQkFDRGtILFlBQVksRUFBRSxTQUFkQSxZQUFZQSxDQUFBO3dCQUFBLE9BQVE5QyxvQkFBb0IsQ0FBQ3dDLGVBQWUsQ0FBQztzQkFBQTtzQkFDekQvSSxNQUFNLEVBQUV1RjtvQkR0UlEsQ0N1UmpCLENBQUMsRUFBQTtzQkFBQW9DLFFBQUEsRUFFRHpILFlBQVksR0FDWEEsWUFBWSxDQUFDaUMsTUFBTSxFQUFFK0csVUFBVSxDQUFDLEdBRWhDNVAsSUFBQSxDQUFDd0IsbUJBQW1CLEVBQUE7d0JBQ2xCdUYsT0FBTyxFQUFFQSxPQUFPO3dCQUNoQjhCLE1BQU0sRUFBRUEsTUFBTTt3QkFDZDZHLFFBQVEsRUFBRUE7c0JBQVEsQ0FBQTtvQkFFckIsQ0FBQSxDQUFBLEtBQUEvRSxNQUFBLENBbENPMkUsS0FBSyxDQUFDM0MsR0FBRyxPQUFBaEMsTUFBQSxDQUFJOUIsTUFBTSxDQUFDcEYsS0FBSyxDQUFFLENBbUM1QjtrQkFFYixDQUFDLENBQUM7Z0JBQUEsQ0FBQSxFQTlETTZMLEtBQUssQ0FBQzNDLEdBQUcsQ0ErRGI7Y0FBQSxDQUNQLENBQUM7WUFDSixDQUFDLENBQUM7VUFDSCxDQUFBLENBQ0csRUFDTGxILFdBQVcsSUFBSSxJQUFJLElBQ2xCekYsSUFBQSxDQUFBLEtBQUEsRUFBQTtZQUFLNkMsU0FBUyxFQUFFa0UsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUFBc0gsUUFBQSxFQUFHNUk7VUFBVyxDQUFBLENBQ3REO1FBQUEsQ0FBQSxDQUFBO01BQ0csQ0FBQSxDQUVUO01BRUQsT0FBT0ssTUFBTSxHQUFHOUYsSUFBQSxDQUFDSSxjQUFjLEVBQUE7UUFBQWlPLFFBQUEsRUFBRVU7TUFBUyxDQUFBLENBQWtCLEdBQUdBLFNBQVM7SUFDMUUsQ0FBQyxDQUFDLENBQUU7RUFBQSxDQUFBLENBQ2E7QUFFdkIsQ0FBQztBQUVEck0sTUFBTSxDQUFDc04sV0FBVyxHQUFHLFFBQVE7QUFFN0IsNEJBQWV4UCxJQUFJLENBQUNrQyxNQUFNLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvU2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IEZsb2F0aW5nRm9jdXNNYW5hZ2VyLCBGbG9hdGluZ1BvcnRhbCwgdXNlSW50ZXJhY3Rpb25zLCB1c2VMaXN0TmF2aWdhdGlvbiwgdXNlVHlwZWFoZWFkLCB9IGZyb20gJ0BmbG9hdGluZy11aS9yZWFjdCc7XG5pbXBvcnQgeyBtZW1vLCB1c2VFZmZlY3QsIHVzZUlkLCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZFN0YXRlLCB1c2VFdmVudENhbGxiYWNrIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuLi9TcGlubmVyJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMsIGRlZmF1bHQgYXMgcm9vdENsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCBTZWxlY3RGaWVsZFNoZWxsIGZyb20gJy4vU2VsZWN0RmllbGRTaGVsbCc7XG5pbXBvcnQgU2VsZWN0T3B0aW9uQ29udGVudCBmcm9tICcuL1NlbGVjdE9wdGlvbkNvbnRlbnQnO1xuaW1wb3J0IFNlbGVjdFNlYXJjaENvbnRyb2wgZnJvbSAnLi9TZWxlY3RTZWFyY2hDb250cm9sJztcbmltcG9ydCBTZWxlY3RWYWx1ZUNvbnRlbnQgZnJvbSAnLi9TZWxlY3RWYWx1ZUNvbnRlbnQnO1xuaW1wb3J0IHsgdXNlU2VsZWN0U2hlbGwgfSBmcm9tICcuL3VzZVNlbGVjdFNoZWxsJztcbmltcG9ydCB7IEtFWUJPQVJELCBTRUxFQ1RfVFlQT0dSQVBIWSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGV4dHJhY3RPcHRpb25UZXh0LCBmaWx0ZXJPcHRpb25Hcm91cHMsIGZsYXR0ZW5PcHRpb25Hcm91cHMsIGdldE11bHRpcGxlVmFsdWUsIGdldE9wdGlvbnNCeVZhbHVlcywgZ2V0U2VsZWN0ZWRPcHRpb25zLCBpc09wdGlvblNlbGVjdGVkLCBub3JtYWxpemVTaXplLCBub3JtYWxpemVPcHRpb25Hcm91cHMsIHJlbW92ZU11bHRpcGxlVmFsdWUsIHRvZ2dsZU11bHRpcGxlVmFsdWUsIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgREVGQVVMVF9NQVhfSEVJR0hUID0gMzIwO1xuZXhwb3J0IGNvbnN0IFNlbGVjdCA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIHByZWZpeENscyA9ICdzZWxlY3QnLCBzdHlsZSwgaWQsIG5hbWUsICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLCAnYXJpYS1sYWJlbGxlZGJ5JzogYXJpYUxhYmVsbGVkQnksIHBsYWNlaG9sZGVyID0gJ1ZhbHVlJywgb3B0aW9ucyA9IFtdLCB2YWx1ZSwgZGVmYXVsdFZhbHVlLCBzaXplID0gJ2xhcmdlJywgc3RhdHVzID0gJ2RlZmF1bHQnLCB2YXJpYW50ID0gJ2ZpbGwnLCBkaXNhYmxlZDogZGlzYWJsZWRQcm9wID0gZmFsc2UsIGxvYWRpbmcgPSBmYWxzZSwgbXVsdGlwbGUgPSBmYWxzZSwgbWF4VmlzaWJsZVZhbHVlcywgc2VhcmNoYWJsZSA9IGZhbHNlLCBzZWFyY2hQbGFjZWhvbGRlciA9ICdTZWFyY2gnLCBzZWFyY2hWYWx1ZSwgZGVmYXVsdFNlYXJjaFZhbHVlID0gJycsIGxhYmVsLCBpbmZvLCBkZXNjcmlwdGlvbiwgZmVlZGJhY2ssIHJlcXVpcmVkID0gZmFsc2UsIHByZWZpeCwgZW1wdHlDb250ZW50ID0gJ05vIG9wdGlvbnMnLCBwYW5lbEZvb3Rlciwgb3BlbiwgZGVmYXVsdE9wZW4gPSBmYWxzZSwgcG9ydGFsID0gdHJ1ZSwgYWxsb3dEZXNlbGVjdCA9IGZhbHNlLCBwYW5lbENsYXNzTmFtZSwgb3B0aW9uQ2xhc3NOYW1lLCBsaXN0TWF4SGVpZ2h0ID0gREVGQVVMVF9NQVhfSEVJR0hULCBvZmZzZXQsIGFuaW1hdGlvbiwgb25DaGFuZ2UsIG9uT3BlbkNoYW5nZSwgb25TZWFyY2hDaGFuZ2UsIG9uQmx1ciwgZmlsdGVyT3B0aW9uLCByZW5kZXJPcHRpb24sIHJlbmRlclZhbHVlLCByZWYsIH0gPSBwcm9wcztcbiAgICBjb25zdCBkaXNhYmxlZCA9IGRpc2FibGVkUHJvcCB8fCBsb2FkaW5nO1xuICAgIGNvbnN0IGNsYXNzZXMgPSByb290Q2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IGF1dG9JZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgdHJpZ2dlcklkID0gaWQgIT09IG51bGwgJiYgaWQgIT09IHZvaWQgMCA/IGlkIDogYXV0b0lkO1xuICAgIGNvbnN0IGxhYmVsSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGZlZWRiYWNrSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IFtpbm5lclZhbHVlLCBzZXRJbm5lclZhbHVlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0VmFsdWUgIT09IG51bGwgJiYgZGVmYXVsdFZhbHVlICE9PSB2b2lkIDAgPyBkZWZhdWx0VmFsdWUgOiAobXVsdGlwbGUgPyBbXSA6IHVuZGVmaW5lZCksIHZhbHVlKTtcbiAgICBjb25zdCBbaW5uZXJTZWFyY2hWYWx1ZSwgc2V0SW5uZXJTZWFyY2hWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdFNlYXJjaFZhbHVlLCBzZWFyY2hWYWx1ZSk7XG4gICAgY29uc3QgW2FjdGl2ZUluZGV4LCBzZXRBY3RpdmVJbmRleF0gPSB1c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBub3JtYWxpemVkU2l6ZSA9IG5vcm1hbGl6ZVNpemUoc2l6ZSk7XG4gICAgY29uc3QgYWxsT3B0aW9uR3JvdXBzID0gdXNlTWVtbygoKSA9PiBub3JtYWxpemVPcHRpb25Hcm91cHMob3B0aW9ucyksIFtvcHRpb25zXSk7XG4gICAgY29uc3QgYWxsRmxhdE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IGZsYXR0ZW5PcHRpb25Hcm91cHMoYWxsT3B0aW9uR3JvdXBzKSwgW2FsbE9wdGlvbkdyb3Vwc10pO1xuICAgIGNvbnN0IHZpc2libGVPcHRpb25Hcm91cHMgPSB1c2VNZW1vKCgpID0+IChzZWFyY2hhYmxlXG4gICAgICAgID8gZmlsdGVyT3B0aW9uR3JvdXBzKGFsbE9wdGlvbkdyb3VwcywgaW5uZXJTZWFyY2hWYWx1ZSwgZmlsdGVyT3B0aW9uKVxuICAgICAgICA6IGFsbE9wdGlvbkdyb3VwcyksIFthbGxPcHRpb25Hcm91cHMsIGZpbHRlck9wdGlvbiwgaW5uZXJTZWFyY2hWYWx1ZSwgc2VhcmNoYWJsZV0pO1xuICAgIGNvbnN0IHZpc2libGVGbGF0T3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gZmxhdHRlbk9wdGlvbkdyb3Vwcyh2aXNpYmxlT3B0aW9uR3JvdXBzKSwgW3Zpc2libGVPcHRpb25Hcm91cHNdKTtcbiAgICBjb25zdCBzZWxlY3RlZE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IGdldFNlbGVjdGVkT3B0aW9ucyhhbGxGbGF0T3B0aW9ucywgaW5uZXJWYWx1ZSwgbXVsdGlwbGUpLCBbYWxsRmxhdE9wdGlvbnMsIGlubmVyVmFsdWUsIG11bHRpcGxlXSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRJbmRleCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWF0Y2hlZEluZGV4ID0gdmlzaWJsZUZsYXRPcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IHNlbGVjdGVkT3B0aW9uc1swXS52YWx1ZSk7XG4gICAgICAgIHJldHVybiBtYXRjaGVkSW5kZXggPj0gMCA/IG1hdGNoZWRJbmRleCA6IG51bGw7XG4gICAgfSwgW3NlbGVjdGVkT3B0aW9ucywgdmlzaWJsZUZsYXRPcHRpb25zXSk7XG4gICAgY29uc3QgaGFzU2VsZWN0aW9uID0gc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDA7XG4gICAgY29uc3QgbGlzdFJlZiA9IHVzZVJlZihbXSk7XG4gICAgY29uc3QgbGlzdENvbnRlbnRSZWYgPSB1c2VSZWYoW10pO1xuICAgIGNvbnN0IGZsb2F0aW5nUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHRyaWdnZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgc2VhcmNoSW5wdXRSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlclJlZiA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgdHJpZ2dlclJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgICAgaWYgKHJlZikge1xuICAgICAgICAgICAgcmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgeyBpc09wZW46IGlubmVyT3Blbiwgc2V0T3BlbjogaGFuZGxlT3BlbkNoYW5nZSwgcmVmcywgY29udGV4dCwgZmxvYXRpbmdTdHlsZXMsIHRyYW5zaXRpb25TdHlsZXMsIGlzTW91bnRlZCwgYmFzZUludGVyYWN0aW9ucywgfSA9IHVzZVNlbGVjdFNoZWxsKHtcbiAgICAgICAgb3BlbixcbiAgICAgICAgZGVmYXVsdE9wZW4sXG4gICAgICAgIG9uT3BlbkNoYW5nZSxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIGxpc3RNYXhIZWlnaHQsXG4gICAgICAgIGFuaW1hdGlvbixcbiAgICAgICAgb2Zmc2V0LFxuICAgIH0pO1xuICAgIGNvbnN0IHNldFJlZmVyZW5jZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgcmVmcy5zZXRSZWZlcmVuY2Uobm9kZSk7XG4gICAgICAgIGhhbmRsZVRyaWdnZXJSZWYobm9kZSk7XG4gICAgfSk7XG4gICAgY29uc3Qgc2V0RmxvYXRpbmcgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHJlZnMuc2V0RmxvYXRpbmcobm9kZSk7XG4gICAgICAgIGZsb2F0aW5nUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgIH0pO1xuICAgIGNvbnN0IGxpc3ROYXZpZ2F0aW9uID0gdXNlTGlzdE5hdmlnYXRpb24oY29udGV4dCwge1xuICAgICAgICBsaXN0UmVmLFxuICAgICAgICBhY3RpdmVJbmRleCxcbiAgICAgICAgc2VsZWN0ZWRJbmRleCxcbiAgICAgICAgb25OYXZpZ2F0ZTogc2V0QWN0aXZlSW5kZXgsXG4gICAgICAgIGVuYWJsZWQ6IGlubmVyT3BlbixcbiAgICAgICAgbG9vcDogdHJ1ZSxcbiAgICB9KTtcbiAgICBjb25zdCB0eXBlYWhlYWQgPSB1c2VUeXBlYWhlYWQoY29udGV4dCwge1xuICAgICAgICBsaXN0UmVmOiBsaXN0Q29udGVudFJlZixcbiAgICAgICAgYWN0aXZlSW5kZXgsXG4gICAgICAgIHNlbGVjdGVkSW5kZXgsXG4gICAgICAgIGVuYWJsZWQ6IGlubmVyT3BlbiAmJiAhc2VhcmNoYWJsZSxcbiAgICAgICAgb25NYXRjaDogc2V0QWN0aXZlSW5kZXgsXG4gICAgfSk7XG4gICAgY29uc3QgeyBnZXRSZWZlcmVuY2VQcm9wcywgZ2V0RmxvYXRpbmdQcm9wcywgZ2V0SXRlbVByb3BzIH0gPSB1c2VJbnRlcmFjdGlvbnMoW1xuICAgICAgICAuLi5iYXNlSW50ZXJhY3Rpb25zLFxuICAgICAgICBsaXN0TmF2aWdhdGlvbixcbiAgICAgICAgdHlwZWFoZWFkLFxuICAgIF0pO1xuICAgIGNvbnN0IGZpcnN0RW5hYmxlZEluZGV4ID0gdXNlTWVtbygoKSA9PiB2aXNpYmxlRmxhdE9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+ICFvcHRpb24uZGlzYWJsZWQpLCBbdmlzaWJsZUZsYXRPcHRpb25zXSk7XG4gICAgY29uc3QgbGFzdEVuYWJsZWRJbmRleCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4IC09IDEpIHtcbiAgICAgICAgICAgIGlmICghKChfYSA9IHZpc2libGVGbGF0T3B0aW9uc1tpbmRleF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNhYmxlZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSwgW3Zpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghaW5uZXJPcGVuKSB7XG4gICAgICAgICAgICBzZXRBY3RpdmVJbmRleChzZWxlY3RlZEluZGV4KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXRBY3RpdmVJbmRleCgocHJldikgPT4ge1xuICAgICAgICAgICAgaWYgKHByZXYgIT09IG51bGwgJiYgdmlzaWJsZUZsYXRPcHRpb25zW3ByZXZdICYmICF2aXNpYmxlRmxhdE9wdGlvbnNbcHJldl0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEluZGV4ICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgdmlzaWJsZUZsYXRPcHRpb25zW3NlbGVjdGVkSW5kZXhdICYmXG4gICAgICAgICAgICAgICAgIXZpc2libGVGbGF0T3B0aW9uc1tzZWxlY3RlZEluZGV4XS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZEluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZpcnN0RW5hYmxlZEluZGV4ID49IDAgPyBmaXJzdEVuYWJsZWRJbmRleCA6IG51bGw7XG4gICAgICAgIH0pO1xuICAgIH0sIFtmaXJzdEVuYWJsZWRJbmRleCwgaW5uZXJPcGVuLCBzZWxlY3RlZEluZGV4LCB2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghaW5uZXJPcGVuIHx8IGFjdGl2ZUluZGV4ID09PSBudWxsIHx8IHNlYXJjaGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAoX2EgPSBsaXN0UmVmLmN1cnJlbnRbYWN0aXZlSW5kZXhdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgIH0sIFthY3RpdmVJbmRleCwgaW5uZXJPcGVuLCBzZWFyY2hhYmxlXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgbGlzdFJlZi5jdXJyZW50ID0gbGlzdFJlZi5jdXJyZW50LnNsaWNlKDAsIHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGgpO1xuICAgICAgICBsaXN0Q29udGVudFJlZi5jdXJyZW50ID0gbGlzdENvbnRlbnRSZWYuY3VycmVudC5zbGljZSgwLCB2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoKTtcbiAgICB9LCBbdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aF0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKGlubmVyT3BlbiAmJiBzZWFyY2hhYmxlKSB7XG4gICAgICAgICAgICAoX2EgPSBzZWFyY2hJbnB1dFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2lubmVyT3Blbiwgc2VhcmNoYWJsZV0pO1xuICAgIGNvbnN0IG5vdGlmeUJsdXJJZk91dHNpZGUgPSB1c2VFdmVudENhbGxiYWNrKChyZWxhdGVkVGFyZ2V0LCBldmVudCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBjb25zdCBuZXh0VGFyZ2V0ID0gcmVsYXRlZFRhcmdldDtcbiAgICAgICAgY29uc3Qgd2l0aGluVHJpZ2dlciA9ICEhKG5leHRUYXJnZXQgJiYgKChfYSA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNvbnRhaW5zKG5leHRUYXJnZXQpKSk7XG4gICAgICAgIGNvbnN0IHdpdGhpbkZsb2F0aW5nID0gISEobmV4dFRhcmdldCAmJiAoKF9iID0gZmxvYXRpbmdSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNvbnRhaW5zKG5leHRUYXJnZXQpKSk7XG4gICAgICAgIGlmICghd2l0aGluVHJpZ2dlciAmJiAhd2l0aGluRmxvYXRpbmcpIHtcbiAgICAgICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cihldmVudCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIG5vdGlmeUJsdXJJZk91dHNpZGUoZXZlbnQucmVsYXRlZFRhcmdldCwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZU9wdGlvbkJsdXIgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBub3RpZnlCbHVySWZPdXRzaWRlKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBjb21taXRDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChuZXh0VmFsdWUsIG5leHRPcHRpb24pID0+IHtcbiAgICAgICAgc2V0SW5uZXJWYWx1ZShuZXh0VmFsdWUpO1xuICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9uKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWxlY3RPcHRpb24gPSB1c2VFdmVudENhbGxiYWNrKChvcHRpb24pID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgaWYgKG9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtdWx0aXBsZSkge1xuICAgICAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gdG9nZ2xlTXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlLCBvcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgbmV4dE9wdGlvbnMgPSBnZXRPcHRpb25zQnlWYWx1ZXMoYWxsRmxhdE9wdGlvbnMsIG5leHRWYWx1ZSk7XG4gICAgICAgICAgICBjb21taXRDaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9ucyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFsbG93RGVzZWxlY3QgJiYgaW5uZXJWYWx1ZSA9PT0gb3B0aW9uLnZhbHVlKSB7XG4gICAgICAgICAgICBjb21taXRDaGFuZ2UodW5kZWZpbmVkLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoKTtcbiAgICAgICAgICAgIChfYSA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb21taXRDaGFuZ2Uob3B0aW9uLnZhbHVlLCBvcHRpb24pO1xuICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKCk7XG4gICAgICAgIChfYiA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlID0gdXNlRXZlbnRDYWxsYmFjaygob3B0aW9uVmFsdWUpID0+IHtcbiAgICAgICAgaWYgKCFtdWx0aXBsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZ2V0TXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlKS5pbmNsdWRlcyhvcHRpb25WYWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSByZW1vdmVNdWx0aXBsZVZhbHVlKGlubmVyVmFsdWUsIG9wdGlvblZhbHVlKTtcbiAgICAgICAgY29uc3QgbmV4dE9wdGlvbnMgPSBnZXRPcHRpb25zQnlWYWx1ZXMoYWxsRmxhdE9wdGlvbnMsIG5leHRWYWx1ZSk7XG4gICAgICAgIGNvbW1pdENoYW5nZShuZXh0VmFsdWUsIG5leHRPcHRpb25zKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyS2V5RG93biA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkVOVEVSIHx8IGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuU1BBQ0UpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKCFpbm5lck9wZW4pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkFSUk9XX0RPV04gfHwgZXZlbnQua2V5ID09PSBLRVlCT0FSRC5BUlJPV19VUCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmICghaW5uZXJPcGVuKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUl0ZW1Nb3VzZUVudGVyID0gdXNlRXZlbnRDYWxsYmFjaygoaW5kZXgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoISgoX2EgPSB2aXNpYmxlRmxhdE9wdGlvbnNbaW5kZXhdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZGlzYWJsZWQpKSB7XG4gICAgICAgICAgICBzZXRBY3RpdmVJbmRleChpbmRleCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUYWdSZW1vdmVNb3VzZURvd24gPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUYWdSZW1vdmVDbGljayA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVNlYXJjaEJsdXIgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBub3RpZnlCbHVySWZPdXRzaWRlKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChuZXh0VmFsdWUsIF9ldmVudCkgPT4ge1xuICAgICAgICBzZXRJbm5lclNlYXJjaFZhbHVlKG5leHRWYWx1ZSk7XG4gICAgICAgIG9uU2VhcmNoQ2hhbmdlID09PSBudWxsIHx8IG9uU2VhcmNoQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblNlYXJjaENoYW5nZShuZXh0VmFsdWUpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVNlYXJjaEtleURvd24gPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfRE9XTiAmJiBmaXJzdEVuYWJsZWRJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgoZmlyc3RFbmFibGVkSW5kZXgpO1xuICAgICAgICAgICAgKF9hID0gbGlzdFJlZi5jdXJyZW50W2ZpcnN0RW5hYmxlZEluZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5BUlJPV19VUCAmJiBsYXN0RW5hYmxlZEluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgobGFzdEVuYWJsZWRJbmRleCk7XG4gICAgICAgICAgICAoX2IgPSBsaXN0UmVmLmN1cnJlbnRbbGFzdEVuYWJsZWRJbmRleF0pID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuRVNDQVBFKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICAoX2MgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCByZW5kZXJWYWx1ZU1ldGEgPSB7XG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICBtdWx0aXBsZSxcbiAgICAgICAgbWF4VmlzaWJsZVZhbHVlcyxcbiAgICAgICAgb3BlbjogaW5uZXJPcGVuLFxuICAgICAgICBwbGFjZWhvbGRlcjogIWhhc1NlbGVjdGlvbixcbiAgICAgICAgc2VsZWN0ZWRPcHRpb25zLFxuICAgIH07XG4gICAgY29uc3QgdmFsdWVMYWJlbENsYXNzID0gaGFzU2VsZWN0aW9uID8gJ3ZhbHVlJyA6ICdwbGFjZWhvbGRlcic7XG4gICAgY29uc3QgaXNNdWx0aXBsZVZhbHVlRmlsbGVkID0gKG11bHRpcGxlICYmXG4gICAgICAgIGhhc1NlbGVjdGlvbiAmJlxuICAgICAgICBtYXhWaXNpYmxlVmFsdWVzID09PSB1bmRlZmluZWQpO1xuICAgIGNvbnN0IHRyaWdnZXJDbGFzc05hbWUgPSBjbGFzc2VzKCd0cmlnZ2VyJywgam9pbkNscyhjbGFzc2VzKGB0cmlnZ2VyLSR7bm9ybWFsaXplZFNpemV9YCksIGNsYXNzZXMoYHRyaWdnZXItJHt2YXJpYW50fWApLCBpbm5lck9wZW4gJiYgY2xhc3NlcygndHJpZ2dlci1vcGVuJyksIGlzTXVsdGlwbGVWYWx1ZUZpbGxlZCAmJiBjbGFzc2VzKCd0cmlnZ2VyLW11bHRpcGxlLWZpbGxlZCcpLCBoYXNTZWxlY3Rpb24gPyBjbGFzc2VzKCd0cmlnZ2VyLWZpbGxlZCcpIDogY2xhc3NlcygndHJpZ2dlci1wbGFjZWhvbGRlcicpLCBzdGF0dXMgIT09ICdkZWZhdWx0JyAmJiBjbGFzc2VzKGB0cmlnZ2VyLSR7c3RhdHVzfWApLCBkaXNhYmxlZCAmJiBjbGFzc2VzKCd0cmlnZ2VyLWRpc2FibGVkJykpKTtcbiAgICBjb25zdCBpY29uU2l6ZSA9IG5vcm1hbGl6ZWRTaXplID09PSAnc21hbGwnID8gMTYgOiAyMDtcbiAgICBjb25zdCBmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5ID0gYXJpYUxhYmVsbGVkQnkgIT09IG51bGwgJiYgYXJpYUxhYmVsbGVkQnkgIT09IHZvaWQgMCA/IGFyaWFMYWJlbGxlZEJ5IDogKGxhYmVsID8gbGFiZWxJZCA6IHVuZGVmaW5lZCk7XG4gICAgY29uc3QgZGVzY3JpYmVkQnlJZHMgPSBbXG4gICAgICAgIGRlc2NyaXB0aW9uID8gZGVzY3JpcHRpb25JZCA6IG51bGwsXG4gICAgICAgIGZlZWRiYWNrID8gZmVlZGJhY2tJZCA6IG51bGwsXG4gICAgXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpIHx8IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gKF9qc3hzKFNlbGVjdEZpZWxkU2hlbGwsIHsgY2xhc3NlczogY2xhc3NlcywgY2xhc3NOYW1lOiBjbGFzc05hbWUsIHNpemU6IG5vcm1hbGl6ZWRTaXplLCB2YXJpYW50OiB2YXJpYW50LCBzdGF0dXM6IHN0YXR1cywgZGlzYWJsZWQ6IGRpc2FibGVkLCBsb2FkaW5nOiBsb2FkaW5nLCBsYWJlbDogbGFiZWwsIGluZm86IGluZm8sIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbiwgZmVlZGJhY2s6IGZlZWRiYWNrLCByZXF1aXJlZDogcmVxdWlyZWQsIGxhYmVsSWQ6IGxhYmVsSWQsIGRlc2NyaXB0aW9uSWQ6IGRlc2NyaXB0aW9uSWQsIGZlZWRiYWNrSWQ6IGZlZWRiYWNrSWQsIGNoaWxkcmVuOiBbX2pzeHMoXCJidXR0b25cIiwgT2JqZWN0LmFzc2lnbih7fSwgZ2V0UmVmZXJlbmNlUHJvcHMoe1xuICAgICAgICAgICAgICAgIHJlZjogc2V0UmVmZXJlbmNlLFxuICAgICAgICAgICAgICAgIGlkOiB0cmlnZ2VySWQsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6IHRyaWdnZXJDbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgb25LZXlEb3duOiBoYW5kbGVUcmlnZ2VyS2V5RG93bixcbiAgICAgICAgICAgICAgICBvbkJsdXI6IGhhbmRsZVRyaWdnZXJCbHVyLFxuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsbGVkYnknOiBmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5LFxuICAgICAgICAgICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogZGVzY3JpYmVkQnlJZHMsXG4gICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogW19qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udGVudCcpLCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncHJlZml4JyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKHZhbHVlTGFiZWxDbGFzcywgam9pbkNscyhjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tJHtub3JtYWxpemVkU2l6ZX1gKSwgaXNNdWx0aXBsZVZhbHVlRmlsbGVkICYmIGNsYXNzZXMoYCR7dmFsdWVMYWJlbENsYXNzfS1tdWx0aXBsZWApLCBkaXNhYmxlZCAmJiBjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tZGlzYWJsZWRgKSkpLCBjaGlsZHJlbjogX2pzeChTZWxlY3RWYWx1ZUNvbnRlbnQsIHsgY2xhc3NlczogY2xhc3NlcywgaGFzU2VsZWN0aW9uOiBoYXNTZWxlY3Rpb24sIG11bHRpcGxlOiBtdWx0aXBsZSwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCByZW5kZXJWYWx1ZTogcmVuZGVyVmFsdWUsIHJlbmRlclZhbHVlTWV0YTogcmVuZGVyVmFsdWVNZXRhLCBzZWxlY3RlZE9wdGlvbnM6IHNlbGVjdGVkT3B0aW9ucywgbWF4VmlzaWJsZVZhbHVlczogbWF4VmlzaWJsZVZhbHVlcywgb25SZW1vdmU6IGhhbmRsZVJlbW92ZVNlbGVjdGVkVmFsdWUsIG9uUmVtb3ZlQ2xpY2s6IGhhbmRsZVRhZ1JlbW92ZUNsaWNrLCBvblJlbW92ZU1vdXNlRG93bjogaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duIH0pIH0pXSB9KSwgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2ljb24nKSwgY2hpbGRyZW46IGxvYWRpbmcgPyAoX2pzeChTcGlubmVyLCB7IHNpemU6IGljb25TaXplLCBzdHJva2VXaWR0aDogMiB9KSkgOiAoX2pzeChJY29ucywgeyBuYW1lOiBpbm5lck9wZW4gPyAnY2hldnJvblVwJyA6ICdjaGV2cm9uRG93bicsIHNpemU6IGljb25TaXplLCBjb2xvcjogXCJjdXJyZW50Q29sb3JcIiB9KSkgfSldIH0pKSwgaXNNb3VudGVkICYmICFkaXNhYmxlZCAmJiAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhbmVsTm9kZSA9IChfanN4KEZsb2F0aW5nRm9jdXNNYW5hZ2VyLCB7IGNvbnRleHQ6IGNvbnRleHQsIG1vZGFsOiBmYWxzZSwgaW5pdGlhbEZvY3VzOiAtMSwgcmV0dXJuRm9jdXM6IGZhbHNlLCBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgZ2V0RmxvYXRpbmdQcm9wcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWY6IHNldEZsb2F0aW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBqb2luQ2xzKGNsYXNzZXMoJ3BhbmVsJyksIHBhbmVsQ2xhc3NOYW1lKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGZsb2F0aW5nU3R5bGVzKSwgdHJhbnNpdGlvblN0eWxlcyksXG4gICAgICAgICAgICAgICAgICAgIH0pLCB7IGNoaWxkcmVuOiBbc2VhcmNoYWJsZSAmJiAoX2pzeChTZWxlY3RTZWFyY2hDb250cm9sLCB7IHJlZjogc2VhcmNoSW5wdXRSZWYsIGNsYXNzZXM6IGNsYXNzZXMsIHBsYWNlaG9sZGVyOiBzZWFyY2hQbGFjZWhvbGRlciwgdmFsdWU6IGlubmVyU2VhcmNoVmFsdWUsIG9uQmx1cjogaGFuZGxlU2VhcmNoQmx1ciwgb25DaGFuZ2U6IGhhbmRsZVNlYXJjaENoYW5nZSwgb25LZXlEb3duOiBoYW5kbGVTZWFyY2hLZXlEb3duIH0pKSwgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtYm9keScpLCBjaGlsZHJlbjogdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCA9PT0gMCA/IChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdlbXB0eScpLCBjaGlsZHJlbjogX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBTRUxFQ1RfVFlQT0dSQVBIWS5lbXB0eS5zaXplLCBjb2xvcjogU0VMRUNUX1RZUE9HUkFQSFkuZW1wdHkuY29sb3IsIGNoaWxkcmVuOiBlbXB0eUNvbnRlbnQgfSkgfSkpIDogKCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmxhdEluZGV4ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmxlT3B0aW9uR3JvdXBzLm1hcCgoZ3JvdXApID0+IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAnKSwgY2hpbGRyZW46IFtncm91cC5sYWJlbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAtbGFiZWwnKSwgY2hpbGRyZW46IF9qc3goVHlwb2dyYXBoeUxhYmVsLCB7IHNpemU6IFNFTEVDVF9UWVBPR1JBUEhZLmdyb3VwTGFiZWwuc2l6ZSwgc3Ryb25nOiB0cnVlLCBjaGlsZHJlbjogZ3JvdXAubGFiZWwgfSkgfSkpLCBncm91cC5vcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25GbGF0SW5kZXggPSBmbGF0SW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGF0SW5kZXggKz0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gaXNPcHRpb25TZWxlY3RlZChpbm5lclZhbHVlLCBtdWx0aXBsZSwgb3B0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IGFjdGl2ZUluZGV4ID09PSBvcHRpb25GbGF0SW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25NZXRhID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogISFvcHRpb24uZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IG9wdGlvbkZsYXRJbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuOiBpbm5lck9wZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdENvbnRlbnRSZWYuY3VycmVudFtvcHRpb25GbGF0SW5kZXhdID0gZXh0cmFjdE9wdGlvblRleHQob3B0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChcImJ1dHRvblwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRJdGVtUHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZihub2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RSZWYuY3VycmVudFtvcHRpb25GbGF0SW5kZXhdID0gbm9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU6ICdvcHRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogY2xhc3Nlcygnb3B0aW9uJywgam9pbkNscyhhY3RpdmUgJiYgY2xhc3Nlcygnb3B0aW9uLWFjdGl2ZScpLCBzZWxlY3RlZCAmJiBjbGFzc2VzKCdvcHRpb24tc2VsZWN0ZWQnKSwgb3B0aW9uLmRpc2FibGVkICYmIGNsYXNzZXMoJ29wdGlvbi1kaXNhYmxlZCcpLCBvcHRpb25DbGFzc05hbWUpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogb3B0aW9uLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcmlhLXNlbGVjdGVkJzogc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljazogKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbihvcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyOiAoKSA9PiBoYW5kbGVJdGVtTW91c2VFbnRlcihvcHRpb25GbGF0SW5kZXgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1cjogaGFuZGxlT3B0aW9uQmx1cixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLCB7IGNoaWxkcmVuOiByZW5kZXJPcHRpb24gPyAocmVuZGVyT3B0aW9uKG9wdGlvbiwgb3B0aW9uTWV0YSkpIDogKF9qc3goU2VsZWN0T3B0aW9uQ29udGVudCwgeyBjbGFzc2VzOiBjbGFzc2VzLCBvcHRpb246IG9wdGlvbiwgc2VsZWN0ZWQ6IHNlbGVjdGVkIH0pKSB9KSwgYCR7Z3JvdXAua2V5fS0ke29wdGlvbi52YWx1ZX1gKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXSB9LCBncm91cC5rZXkpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkpIH0pLCBwYW5lbEZvb3RlciAhPSBudWxsICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1mb290ZXInKSwgY2hpbGRyZW46IHBhbmVsRm9vdGVyIH0pKV0gfSkpIH0pKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcG9ydGFsID8gX2pzeChGbG9hdGluZ1BvcnRhbCwgeyBjaGlsZHJlbjogcGFuZWxOb2RlIH0pIDogcGFuZWxOb2RlO1xuICAgICAgICAgICAgfSkoKV0gfSkpO1xufTtcblNlbGVjdC5kaXNwbGF5TmFtZSA9ICdTZWxlY3QnO1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhTZWxlY3QpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -56,6 +56,7 @@ export var SelectCustom = function SelectCustom(props) {
|
|
|
56
56
|
listMaxHeight = _props$listMaxHeight === void 0 ? DEFAULT_MAX_HEIGHT : _props$listMaxHeight,
|
|
57
57
|
placement = props.placement,
|
|
58
58
|
panelWidth = props.panelWidth,
|
|
59
|
+
offset = props.offset,
|
|
59
60
|
_props$role = props.role,
|
|
60
61
|
roleProp = _props$role === void 0 ? 'dialog' : _props$role,
|
|
61
62
|
animation = props.animation,
|
|
@@ -88,7 +89,8 @@ export var SelectCustom = function SelectCustom(props) {
|
|
|
88
89
|
panelWidth: panelWidth,
|
|
89
90
|
listMaxHeight: listMaxHeight,
|
|
90
91
|
animation: animation,
|
|
91
|
-
role: roleProp
|
|
92
|
+
role: roleProp,
|
|
93
|
+
offset: offset
|
|
92
94
|
}),
|
|
93
95
|
isOpen = _useSelectShell.isOpen,
|
|
94
96
|
setOpen = _useSelectShell.setOpen,
|
|
@@ -220,4 +222,4 @@ export var SelectCustom = function SelectCustom(props) {
|
|
|
220
222
|
};
|
|
221
223
|
SelectCustom.displayName = 'SelectCustom';
|
|
222
224
|
export default /*#__PURE__*/memo(SelectCustom);
|
|
223
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdEN1c3RvbS5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdEN1c3RvbS50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZsb2F0aW5nRm9jdXNNYW5hZ2VyIiwiRmxvYXRpbmdQb3J0YWwiLCJ1c2VJbnRlcmFjdGlvbnMiLCJtZW1vIiwidXNlSWQiLCJ1c2VSZWYiLCJ1c2VFdmVudENhbGxiYWNrIiwiSWNvbnMiLCJTcGlubmVyIiwiam9pbkNscyIsImRlZmF1bHQiLCJyb290Q2xhc3NuYW1lcyIsIlNlbGVjdEZpZWxkU2hlbGwiLCJ1c2VTZWxlY3RTaGVsbCIsIm5vcm1hbGl6ZVNpemUiLCJERUZBVUxUX01BWF9IRUlHSFQiLCJpc1JlbmRlcmFibGVUZW1wbGF0ZSIsInZhbHVlIiwidW5kZWZpbmVkIiwiU2VsZWN0Q3VzdG9tIiwicHJvcHMiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsInN0eWxlIiwiaWQiLCJuYW1lIiwiYXJpYUxhYmVsIiwiYXJpYUxhYmVsbGVkQnkiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJfcHJvcHMkc3RhdHVzIiwic3RhdHVzIiwiX3Byb3BzJHZhcmlhbnQiLCJ2YXJpYW50IiwiX3Byb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJkaXNhYmxlZFByb3AiLCJfcHJvcHMkbG9hZGluZyIsImxvYWRpbmciLCJsYWJlbCIsImluZm8iLCJkZXNjcmlwdGlvbiIsImZlZWRiYWNrIiwiX3Byb3BzJHJlcXVpcmVkIiwicmVxdWlyZWQiLCJwcmVmaXgiLCJfcHJvcHMkcGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlciIsInNlbGVjdGVkVGVtcGxhdGUiLCJfcHJvcHMkYXJyb3ciLCJhcnJvdyIsIm9wZW4iLCJfcHJvcHMkZGVmYXVsdE9wZW4iLCJkZWZhdWx0T3BlbiIsIl9wcm9wcyRwb3J0YWwiLCJwb3J0YWwiLCJwYW5lbENsYXNzTmFtZSIsInBhbmVsRm9vdGVyIiwiX3Byb3BzJGxpc3RNYXhIZWlnaHQiLCJsaXN0TWF4SGVpZ2h0IiwicGxhY2VtZW50IiwicGFuZWxXaWR0aCIsIl9wcm9wcyRyb2xlIiwicm9sZSIsInJvbGVQcm9wIiwiYW5pbWF0aW9uIiwib25PcGVuQ2hhbmdlIiwib25CbHVyIiwiY2hpbGRyZW4iLCJyZWYiLCJjbGFzc2VzIiwiYXV0b0lkIiwidHJpZ2dlcklkIiwibGFiZWxJZCIsImRlc2NyaXB0aW9uSWQiLCJmZWVkYmFja0lkIiwibm9ybWFsaXplZFNpemUiLCJmbG9hdGluZ1JlZiIsInRyaWdnZXJSZWYiLCJoYW5kbGVUcmlnZ2VyUmVmIiwibm9kZSIsImN1cnJlbnQiLCJfdXNlU2VsZWN0U2hlbGwiLCJpc09wZW4iLCJzZXRPcGVuIiwicmVmcyIsImNvbnRleHQiLCJmbG9hdGluZ1N0eWxlcyIsInRyYW5zaXRpb25TdHlsZXMiLCJpc01vdW50ZWQiLCJiYXNlSW50ZXJhY3Rpb25zIiwic2V0UmVmZXJlbmNlIiwic2V0RmxvYXRpbmciLCJfdXNlSW50ZXJhY3Rpb25zIiwiZ2V0UmVmZXJlbmNlUHJvcHMiLCJnZXRGbG9hdGluZ1Byb3BzIiwibm90aWZ5Qmx1cklmT3V0c2lkZSIsInJlbGF0ZWRUYXJnZXQiLCJldmVudCIsIl9hIiwiX2IiLCJuZXh0VGFyZ2V0Iiwid2l0aGluVHJpZ2dlciIsImNvbnRhaW5zIiwid2l0aGluRmxvYXRpbmciLCJoYW5kbGVUcmlnZ2VyQmx1ciIsImNsb3NlIiwiZm9jdXMiLCJwcmV2ZW50U2Nyb2xsIiwidHJpZ2dlckNvbnRlbnQiLCJoYXNTZWxlY3Rpb24iLCJ2YWx1ZUxhYmVsQ2xhc3MiLCJ0cmlnZ2VyQ2xhc3NOYW1lIiwiY29uY2F0IiwiaWNvblNpemUiLCJmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5IiwiZGVzY3JpYmVkQnlJZHMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsInBhbmVsQ3R4IiwicGFuZWxCb2R5IiwiT2JqZWN0IiwiYXNzaWduIiwidHlwZSIsInN0cm9rZVdpZHRoIiwiY29sb3IiLCJwYW5lbE5vZGUiLCJtb2RhbCIsImluaXRpYWxGb2N1cyIsInJldHVybkZvY3VzIiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxFQUFFQyxJQUFJLElBQUlDLEtBQUssUUFBUSxtQkFBbUI7QUNBOUQsU0FBU0Msb0JBQW9CLEVBQUVDLGNBQWMsRUFBRUMsZUFBZSxRQUFRLG9CQUFvQjtBQUMxRixTQUFTQyxJQUFJLEVBQUVDLEtBQUssRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFDM0MsU0FBU0MsZ0JBQWdCLFFBQVEsZUFBZTtBQUNoRCxTQUFTQyxLQUFLLFFBQVEsVUFBVTtBQUNoQyxTQUFTQyxPQUFPLFFBQVEsWUFBWTtBQUNwQyxTQUFTQyxPQUFPLEVBQUVDLE9BQU8sSUFBSUMsY0FBYyxRQUFRLHdCQUF3QjtBQUczRSxPQUFPQyxnQkFBZ0IsTUFBTSxvQkFBb0I7QUFDakQsU0FBU0MsY0FBYyxRQUFRLGtCQUFrQjtBQUNqRCxTQUFTQyxhQUFhLFFBQVEsU0FBUztBQUN2QyxPQUFPLFNBQVM7QUFFaEIsSUFBTUMsa0JBQWtCLEdBQUcsR0FBRztBQUU5QixJQUFNQyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFJQyxLQUFjO0VBQUEsT0FDMUNBLEtBQUssS0FBSyxJQUFJLElBQUlBLEtBQUssS0FBS0MsU0FBUyxJQUFJRCxLQUFLLEtBQUssS0FBSztBQUFBO0FBRTFELE9BQU8sSUFBTUUsWUFBWSxHQUEwQixTQUF0Q0EsWUFBWUEsQ0FBMkJDLEtBQUssRUFBSTtFQUMzRCxJQUFBQyxnQkFBQSxHQW9DSUQsS0FBSyxDQW5DUEUsU0FBUztJQUFUQSxTQUFTLEdBQUFELGdCQUFBLGNBQUcsRUFBRSxHQUFBQSxnQkFBQTtJQUFBRSxnQkFBQSxHQW1DWkgsS0FBSyxDQWxDUEksU0FBUztJQUFUQSxTQUFTLEdBQUFELGdCQUFBLGNBQUcsUUFBUSxHQUFBQSxnQkFBQTtJQUNwQkUsS0FBSyxHQWlDSEwsS0FBSyxDQWpDUEssS0FBSztJQUNMQyxFQUFFLEdBZ0NBTixLQUFLLENBaENQTSxFQUFFO0lBQ0ZDLElBQUksR0ErQkZQLEtBQUssQ0EvQlBPLElBQUk7SUFDVUMsU0FBUyxHQThCckJSLEtBQUssQ0E5QlAsWUFBWTtJQUNPUyxjQUFjLEdBNkIvQlQsS0FBSyxDQTdCUCxpQkFBaUI7SUFBQVUsV0FBQSxHQTZCZlYsS0FBSyxDQTVCUFcsSUFBSTtJQUFKQSxJQUFJLEdBQUFELFdBQUEsY0FBRyxPQUFPLEdBQUFBLFdBQUE7SUFBQUUsYUFBQSxHQTRCWlosS0FBSyxDQTNCUGEsTUFBTTtJQUFOQSxNQUFNLEdBQUFELGFBQUEsY0FBRyxTQUFTLEdBQUFBLGFBQUE7SUFBQUUsY0FBQSxHQTJCaEJkLEtBQUssQ0ExQlBlLE9BQU87SUFBUEEsT0FBTyxHQUFBRCxjQUFBLGNBQUcsTUFBTSxHQUFBQSxjQUFBO0lBQUFFLGVBQUEsR0EwQmRoQixLQUFLLENBekJQaUIsUUFBUTtJQUFFQyxZQUFZLEdBQUFGLGVBQUEsY0FBRyxLQUFLLEdBQUFBLGVBQUE7SUFBQUcsY0FBQSxHQXlCNUJuQixLQUFLLENBeEJQb0IsT0FBTztJQUFQQSxPQUFPLEdBQUFELGNBQUEsY0FBRyxLQUFLLEdBQUFBLGNBQUE7SUFDZkUsS0FBSyxHQXVCSHJCLEtBQUssQ0F2QlBxQixLQUFLO0lBQ0xDLElBQUksR0FzQkZ0QixLQUFLLENBdEJQc0IsSUFBSTtJQUNKQyxXQUFXLEdBcUJUdkIsS0FBSyxDQXJCUHVCLFdBQVc7SUFDWEMsUUFBUSxHQW9CTnhCLEtBQUssQ0FwQlB3QixRQUFRO0lBQUFDLGVBQUEsR0FvQk56QixLQUFLLENBbkJQMEIsUUFBUTtJQUFSQSxRQUFRLEdBQUFELGVBQUEsY0FBRyxLQUFLLEdBQUFBLGVBQUE7SUFDaEJFLE1BQU0sR0FrQkozQixLQUFLLENBbEJQMkIsTUFBTTtJQUFBQyxrQkFBQSxHQWtCSjVCLEtBQUssQ0FqQlA2QixXQUFXO0lBQVhBLFdBQVcsR0FBQUQsa0JBQUEsY0FBRyxPQUFPLEdBQUFBLGtCQUFBO0lBQ3JCRSxnQkFBZ0IsR0FnQmQ5QixLQUFLLENBaEJQOEIsZ0JBQWdCO0lBQUFDLFlBQUEsR0FnQmQvQixLQUFLLENBZlBnQyxLQUFLO0lBQUxBLEtBQUssR0FBQUQsWUFBQSxjQUFHLElBQUksR0FBQUEsWUFBQTtJQUNaRSxJQUFJLEdBY0ZqQyxLQUFLLENBZFBpQyxJQUFJO0lBQUFDLGtCQUFBLEdBY0ZsQyxLQUFLLENBYlBtQyxXQUFXO0lBQVhBLFdBQVcsR0FBQUQsa0JBQUEsY0FBRyxLQUFLLEdBQUFBLGtCQUFBO0lBQUFFLGFBQUEsR0FhakJwQyxLQUFLLENBWlBxQyxNQUFNO0lBQU5BLE1BQU0sR0FBQUQsYUFBQSxjQUFHLElBQUksR0FBQUEsYUFBQTtJQUNiRSxjQUFjLEdBV1p0QyxLQUFLLENBWFBzQyxjQUFjO0lBQ2RDLFdBQVcsR0FVVHZDLEtBQUssQ0FWUHVDLFdBQVc7SUFBQUMsb0JBQUEsR0FVVHhDLEtBQUssQ0FUUHlDLGFBQWE7SUFBYkEsYUFBYSxHQUFBRCxvQkFBQSxjQUFHN0Msa0JBQWtCLEdBQUE2QyxvQkFBQTtJQUNsQ0UsU0FBUyxHQVFQMUMsS0FBSyxDQVJQMEMsU0FBUztJQUNUQyxVQUFVLEdBT1IzQyxLQUFLLENBUFAyQyxVQUFVO0lBQUFDLFdBQUEsR0FPUjVDLEtBQUssQ0FOUDZDLElBQUk7SUFBRUMsUUFBUSxHQUFBRixXQUFBLGNBQUcsUUFBUSxHQUFBQSxXQUFBO0lBQ3pCRyxTQUFTLEdBS1AvQyxLQUFLLENBTFArQyxTQUFTO0lBQ1RDLFlBQVksR0FJVmhELEtBQUssQ0FKUGdELFlBQVk7SUFDWkMsTUFBTSxHQUdKakQsS0FBSyxDQUhQaUQsTUFBTTtJQUNOQyxRQUFRLEdBRU5sRCxLQUFLLENBRlBrRCxRQUFRO0lBQ1JDLEdBQUcsR0FDRG5ELEtBQUssQ0FEUG1ELEdBQUc7RUFFTCxJQUFNbEMsUUFBUSxHQUFHQyxZQUFZLElBQUlFLE9BQU87RUFFeEMsSUFBTWdDLE9BQU8sR0FBRzdELGNBQWMsQ0FBQ2EsU0FBUyxDQUFDO0VBQ3pDLElBQU1pRCxNQUFNLEdBQUdyRSxLQUFLLENBQUEsQ0FBRTtFQUN0QixJQUFNc0UsU0FBUyxHQUFHaEQsRUFBRSxLQUFBLElBQUEsSUFBRkEsRUFBRSxLQUFBLEtBQUEsQ0FBQSxHQUFGQSxFQUFFLEdBQUkrQyxNQUFNO0VBQzlCLElBQU1FLE9BQU8sR0FBR3ZFLEtBQUssQ0FBQSxDQUFFO0VBQ3ZCLElBQU13RSxhQUFhLEdBQUd4RSxLQUFLLENBQUEsQ0FBRTtFQUM3QixJQUFNeUUsVUFBVSxHQUFHekUsS0FBSyxDQUFBLENBQUU7RUFFMUIsSUFBTTBFLGNBQWMsR0FBR2hFLGFBQWEsQ0FBQ2lCLElBQUksQ0FBQztFQUMxQyxJQUFNZ0QsV0FBVyxHQUFHMUUsTUFBTSxDQUF3QixJQUFJLENBQUM7RUFDdkQsSUFBTTJFLFVBQVUsR0FBRzNFLE1BQU0sQ0FBMkIsSUFBSSxDQUFDO0VBRXpELElBQU00RSxnQkFBZ0IsR0FBRzNFLGdCQUFnQixDQUFDLFVBQUM0RSxJQUE4QixFQUFJO0lBQzNFRixVQUFVLENBQUNHLE9BQU8sR0FBR0QsSUFBSTtJQUN6QixJQUFJWCxHQUFHLEVBQUU7TUFDTkEsR0FBNkMsQ0FBQ1ksT0FBTyxHQUFHRCxJQUFJO0lBQy9EO0VBQ0YsQ0FBQyxDQUFDO0VBRUYsSUFBQUUsZUFBQSxHQVNJdkUsY0FBYyxDQUFvQjtNQUNwQ3dDLElBQUksRUFBSkEsSUFBSTtNQUNKRSxXQUFXLEVBQVhBLFdBQVc7TUFDWGEsWUFBWSxFQUFaQSxZQUFZO01BQ1ovQixRQUFRLEVBQVJBLFFBQVE7TUFDUnlCLFNBQVMsRUFBVEEsU0FBUztNQUNUQyxVQUFVLEVBQVZBLFVBQVU7TUFDVkYsYUFBYSxFQUFiQSxhQUFhO01BQ2JNLFNBQVMsRUFBVEEsU0FBUztNQUNURixJQUFJLEVBQUVDO0lEckROLENDc0RELENBQUM7SUFsQkFtQixNQUFNLEdBQUFELGVBQUEsQ0FBTkMsTUFBTTtJQUNOQyxPQUFPLEdBQUFGLGVBQUEsQ0FBUEUsT0FBTztJQUNQQyxJQUFJLEdBQUFILGVBQUEsQ0FBSkcsSUFBSTtJQUNKQyxPQUFPLEdBQUFKLGVBQUEsQ0FBUEksT0FBTztJQUNQQyxjQUFjLEdBQUFMLGVBQUEsQ0FBZEssY0FBYztJQUNkQyxnQkFBZ0IsR0FBQU4sZUFBQSxDQUFoQk0sZ0JBQWdCO0lBQ2hCQyxTQUFTLEdBQUFQLGVBQUEsQ0FBVE8sU0FBUztJQUNUQyxnQkFBZ0IsR0FBQVIsZUFBQSxDQUFoQlEsZ0JBQWdCO0VBYWxCLElBQU1DLFlBQVksR0FBR3ZGLGdCQUFnQixDQUFDLFVBQUM0RSxJQUE4QixFQUFJO0lBQ3ZFSyxJQUFJLENBQUNNLFlBQVksQ0FBQ1gsSUFBSSxDQUFDO0lBQ3ZCRCxnQkFBZ0IsQ0FBQ0MsSUFBSSxDQUFDO0VBQ3hCLENBQUMsQ0FBQztFQUVGLElBQU1ZLFdBQVcsR0FBR3hGLGdCQUFnQixDQUFDLFVBQUM0RSxJQUEyQixFQUFJO0lBQ25FSyxJQUFJLENBQUNPLFdBQVcsQ0FBQ1osSUFBSSxDQUFDO0lBQ3RCSCxXQUFXLENBQUNJLE9BQU8sR0FBR0QsSUFBSTtFQUM1QixDQUFDLENBQUM7RUFFRixJQUFBYSxnQkFBQSxHQUFnRDdGLGVBQWUsQ0FBQzBGLGdCQUFnQixDQUFDO0lBQXpFSSxpQkFBaUIsR0FBQUQsZ0JBQUEsQ0FBakJDLGlCQUFpQjtJQUFFQyxnQkFBZ0IsR0FBQUYsZ0JBQUEsQ0FBaEJFLGdCQUFnQjtFQUUzQyxJQUFNQyxtQkFBbUIsR0FBRzVGLGdCQUFnQixDQUMxQyxVQUFDNkYsYUFBaUMsRUFBRUMsS0FBK0IsRUFBSTtJRDFEbkUsSUFBSUMsRUFBRSxFQUFFQyxFQUFFO0lDMkRaLElBQU1DLFVBQVUsR0FBR0osYUFBNEI7SUFDL0MsSUFBTUssYUFBYSxHQUFHLENBQUMsRUFBRUQsVUFBVSxLQUFJLENBQUFGLEVBQUEsR0FBQXJCLFVBQVUsQ0FBQ0csT0FBTyxNQUFBLElBQUEsSUFBQWtCLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFSSxRQUFRLENBQUNGLFVBQVUsQ0FBQyxDQUFBLENBQUM7SUFDaEYsSUFBTUcsY0FBYyxHQUFHLENBQUMsRUFBRUgsVUFBVSxLQUFJLENBQUFELEVBQUEsR0FBQXZCLFdBQVcsQ0FBQ0ksT0FBTyxNQUFBLElBQUEsSUFBQW1CLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFRyxRQUFRLENBQUNGLFVBQVUsQ0FBQyxDQUFBLENBQUM7SUFFbEYsSUFBSSxDQUFDQyxhQUFhLElBQUksQ0FBQ0UsY0FBYyxFQUFFO01BQ3JDckMsTUFBTSxLQUFBLElBQUEsSUFBTkEsTUFBTSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFOQSxNQUFNLENBQUcrQixLQUFLLENBQUM7SUFDakI7RUFDRixDQUFDLENBQ0Y7RUFFRCxJQUFNTyxpQkFBaUIsR0FBR3JHLGdCQUFnQixDQUFDLFVBQUM4RixLQUFvQyxFQUFJO0lBQ2xGRixtQkFBbUIsQ0FBQ0UsS0FBSyxDQUFDRCxhQUFhLEVBQUVDLEtBQWdDLENBQUM7RUFDNUUsQ0FBQyxDQUFDO0VBRUYsSUFBTVEsS0FBSyxHQUFHdEcsZ0JBQWdCLENBQUMsWUFBSztJRDdEOUIsSUFBSStGLEVBQUU7SUM4RFZmLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDZCxDQUFBZSxFQUFBLEdBQUFyQixVQUFVLENBQUNHLE9BQU8sTUFBQSxJQUFBLElBQUFrQixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRVEsS0FBSyxDQUFDO01BQUVDLGFBQWEsRUFBRTtJQUFJLENBQUUsQ0FBQztFQUNwRCxDQUFDLENBQUM7RUFFRixJQUFNQyxjQUFjLEdBQ2xCLE9BQU83RCxnQkFBZ0IsS0FBSyxVQUFVLEdBQ2xDQSxnQkFBZ0IsQ0FBQztJQUFFRyxJQUFJLEVBQUVnQyxNQUFNO0lBQUVoRCxRQUFRLEVBQVJBO0VBQVEsQ0FBRSxDQUFDLEdBQzVDYSxnQkFBZ0I7RUFDdEIsSUFBTThELFlBQVksR0FBR2hHLG9CQUFvQixDQUFDK0YsY0FBYyxDQUFDO0VBRXpELElBQU1FLGVBQWUsR0FBR0QsWUFBWSxHQUFHLE9BQU8sR0FBRyxhQUFhO0VBQzlELElBQU1FLGdCQUFnQixHQUFHMUMsT0FBTyxDQUM5QixTQUFTLEVBQ1QvRCxPQUFPLENBQ0wrRCxPQUFPLFlBQUEyQyxNQUFBLENBQVlyQyxjQUFjLENBQUUsQ0FBQyxFQUNwQ04sT0FBTyxZQUFBMkMsTUFBQSxDQUFZaEYsT0FBTyxDQUFFLENBQUMsRUFDN0JrRCxNQUFNLElBQUliLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFDakN3QyxZQUFZLEdBQUd4QyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsR0FBR0EsT0FBTyxDQUFDLHFCQUFxQixDQUFDLEVBQ3pFdkMsTUFBTSxLQUFLLFNBQVMsSUFBSXVDLE9BQU8sWUFBQTJDLE1BQUEsQ0FBWWxGLE1BQU0sQ0FBRSxDQUFDLEVBQ3BESSxRQUFRLElBQUltQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FDeEMsQ0FDRjtFQUNELElBQU00QyxRQUFRLEdBQUd0QyxjQUFjLEtBQUssT0FBTyxHQUFHLEVBQUUsR0FBRyxFQUFFO0VBQ3JELElBQU11QyxzQkFBc0IsR0FBR3hGLGNBQWMsS0FBQSxJQUFBLElBQWRBLGNBQWMsS0FBQSxLQUFBLENBQUEsR0FBZEEsY0FBYyxHQUFLWSxLQUFLLEdBQUdrQyxPQUFPLEdBQUd6RCxTQUFVO0VBQzlFLElBQU1vRyxjQUFjLEdBQ2xCLENBQUMzRSxXQUFXLEdBQUdpQyxhQUFhLEdBQUcsSUFBSSxFQUFFaEMsUUFBUSxHQUFHaUMsVUFBVSxHQUFHLElBQUksQ0FBQyxDQUMvRDBDLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDLENBQ2ZDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSXZHLFNBQVM7RUFFM0IsSUFBTXdHLFFBQVEsR0FBNkI7SUFBRWQsS0FBSyxFQUFMQSxLQUFLO0lBQUV2RCxJQUFJLEVBQUVnQztFQUFNLENBQUU7RUFDbEUsSUFBTXNDLFNBQVMsR0FBRyxPQUFPckQsUUFBUSxLQUFLLFVBQVUsR0FBR0EsUUFBUSxDQUFDb0QsUUFBUSxDQUFDLEdBQUdwRCxRQUFRO0VBRWhGLE9BQ0V2RSxLQUFBLENBQUNhLGdCQUFnQixFQUFBO0lBQ2Y0RCxPQUFPLEVBQUVBLE9BQU87SUFDaEJsRCxTQUFTLEVBQUVBLFNBQVM7SUFDcEJTLElBQUksRUFBRStDLGNBQWM7SUFDcEIzQyxPQUFPLEVBQUVBLE9BQU87SUFDaEJGLE1BQU0sRUFBRUEsTUFBTTtJQUNkSSxRQUFRLEVBQUVBLFFBQVE7SUFDbEJHLE9BQU8sRUFBRUEsT0FBTztJQUNoQkMsS0FBSyxFQUFFQSxLQUFLO0lBQ1pDLElBQUksRUFBRUEsSUFBSTtJQUNWQyxXQUFXLEVBQUVBLFdBQVc7SUFDeEJDLFFBQVEsRUFBRUEsUUFBUTtJQUNsQkUsUUFBUSxFQUFFQSxRQUFRO0lBQ2xCNkIsT0FBTyxFQUFFQSxPQUFPO0lBQ2hCQyxhQUFhLEVBQUVBLGFBQWE7SUFDNUJDLFVBQVUsRUFBRUEsVUFBVTtJQUFBUCxRQUFBLEVBQUEsQ0FFdEJ2RSxLQUFBLENBQUEsUUFBQSxFQUFBNkgsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ003QixpQkFBaUIsQ0FBQztNQUNwQnpCLEdBQUcsRUFBRXNCLFlBQVk7TUFDakJuRSxFQUFFLEVBQUVnRCxTQUFTO01BQ2JvRCxJQUFJLEVBQUUsUUFBUTtNQUNkbkcsSUFBSSxFQUFKQSxJQUFJO01BQ0pVLFFBQVEsRUFBUkEsUUFBUTtNQUNSWixLQUFLLEVBQUxBLEtBQUs7TUFDTEgsU0FBUyxFQUFFNEYsZ0JBQWdCO01BQzNCN0MsTUFBTSxFQUFFc0MsaUJBQWlCO01BQ3pCLFlBQVksRUFBRS9FLFNBQVM7TUFDdkIsaUJBQWlCLEVBQUV5RixzQkFBc0I7TUFDekMsa0JBQWtCLEVBQUVDO0lEL0ZsQixDQ2dHSCxDQUFDLEVBQUE7TUFBQWhELFFBQUEsRUFBQSxDQUVGdkUsS0FBQSxDQUFBLE1BQUEsRUFBQTtRQUFNdUIsU0FBUyxFQUFFa0QsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUFBRixRQUFBLEVBQUEsQ0FDaEN2QixNQUFNLElBQUlsRCxJQUFBLENBQUEsTUFBQSxFQUFBO1VBQU15QixTQUFTLEVBQUVrRCxPQUFPLENBQUMsUUFBUSxDQUFDO1VBQUFGLFFBQUEsRUFBR3ZCO1FBQU0sQ0FBQSxDQUFRLEVBQzlEbEQsSUFBQSxDQUFBLE1BQUEsRUFBQTtVQUNFeUIsU0FBUyxFQUFFa0QsT0FBTyxDQUNoQnlDLGVBQWUsRUFDZnhHLE9BQU8sQ0FDTCtELE9BQU8sSUFBQTJDLE1BQUEsQ0FBSUYsZUFBZSxPQUFBRSxNQUFBLENBQUlyQyxjQUFjLENBQUUsQ0FBQyxFQUMvQ3pDLFFBQVEsSUFBSW1DLE9BQU8sSUFBQTJDLE1BQUEsQ0FBSUYsZUFBZSxjQUFXLENBQUMsQ0FDbkQsQ0FDRjtVQUFBM0MsUUFBQSxFQUVBMEMsWUFBWSxHQUFHRCxjQUFjLEdBQUc5RDtRQUFXLENBQUEsQ0FDdkM7TUFBQSxDQUFBLENBQ0YsRUFDTkcsS0FBSyxJQUNKdkQsSUFBQSxDQUFBLE1BQUEsRUFBQTtRQUFNeUIsU0FBUyxFQUFFa0QsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUFBRixRQUFBLEVBQzdCOUIsT0FBTyxHQUNOM0MsSUFBQSxDQUFDVyxPQUFPLEVBQUE7VUFBQ3VCLElBQUksRUFBRXFGLFFBQVE7VUFBRVcsV0FBVyxFQUFFO1FBQUMsQ0FBQSxDQUFJLEdBRTNDbEksSUFBQSxDQUFDVSxLQUFLLEVBQUE7VUFDSm9CLElBQUksRUFBRTBELE1BQU0sR0FBRyxXQUFXLEdBQUcsYUFBYTtVQUMxQ3RELElBQUksRUFBRXFGLFFBQVE7VUFDZFksS0FBSyxFQUFDO1FBQWMsQ0FBQTtNQUV2QixDQUFBLENBRUo7SUFBQSxDQUFBLENBQUEsQ0FDTSxFQUVSckMsU0FBUyxJQUFJLENBQUN0RCxRQUFRLElBQUssWUFBSztNQUMvQixJQUFNNEYsU0FBUyxHQUNicEksSUFBQSxDQUFDRyxvQkFBb0IsRUFBQTtRQUNuQndGLE9BQU8sRUFBRUEsT0FBTztRQUNoQjBDLEtBQUssRUFBRSxLQUFLO1FBQ1pDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDaEJDLFdBQVcsRUFBRSxLQUFLO1FBQUE5RCxRQUFBLEVBRWxCdkUsS0FBQSxDQUFBLEtBQUEsRUFBQTZILE1BQUEsQ0FBQUMsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNNNUIsZ0JBQWdCLENBQUM7VUFDbkIxQixHQUFHLEVBQUV1QixXQUFXO1VBQ2hCeEUsU0FBUyxFQUFFYixPQUFPLENBQUMrRCxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUVkLGNBQWMsQ0FBQztVQUNwRGpDLEtBQUssRUFBQW1HLE1BQUEsQ0FBQUMsTUFBQSxDQUFBRCxNQUFBLENBQUFDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBT3BDLGNBQWMsQ0FBQSxFQUFLQyxnQkFBZ0I7UUR0STNDLENDdUlMLENBQUMsRUFBQTtVQUFBcEIsUUFBQSxFQUFBLENBRUZ6RSxJQUFBLENBQUEsS0FBQSxFQUFBO1lBQUt5QixTQUFTLEVBQUVrRCxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQUFGLFFBQUEsRUFBR3FEO1VBQVMsQ0FBQSxDQUFPLEVBQ3ZEaEUsV0FBVyxJQUFJLElBQUksSUFDbEI5RCxJQUFBLENBQUEsS0FBQSxFQUFBO1lBQUt5QixTQUFTLEVBQUVrRCxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQUFGLFFBQUEsRUFBR1g7VUFBVyxDQUFBLENBQ3REO1FBQUEsQ0FBQSxDQUFBO01BQ0csQ0FBQSxDQUVUO01BRUQsT0FBT0YsTUFBTSxHQUFHNUQsSUFBQSxDQUFDSSxjQUFjLEVBQUE7UUFBQXFFLFFBQUEsRUFBRTJEO01BQVMsQ0FBQSxDQUFrQixHQUFHQSxTQUFTO0lBQzFFLENBQUMsQ0FBQyxDQUFFO0VBQUEsQ0FBQSxDQUNhO0FBRXZCLENBQUM7QUFFRDlHLFlBQVksQ0FBQ2tILFdBQVcsR0FBRyxjQUFjO0FBRXpDLDRCQUFlbEksSUFBSSxDQUFDZ0IsWUFBWSxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdEN1c3RvbS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBGbG9hdGluZ0ZvY3VzTWFuYWdlciwgRmxvYXRpbmdQb3J0YWwsIHVzZUludGVyYWN0aW9ucyB9IGZyb20gJ0BmbG9hdGluZy11aS9yZWFjdCc7XG5pbXBvcnQgeyBtZW1vLCB1c2VJZCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRXZlbnRDYWxsYmFjayB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnLi4vU3Bpbm5lcic7XG5pbXBvcnQgeyBqb2luQ2xzLCBkZWZhdWx0IGFzIHJvb3RDbGFzc25hbWVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgU2VsZWN0RmllbGRTaGVsbCBmcm9tICcuL1NlbGVjdEZpZWxkU2hlbGwnO1xuaW1wb3J0IHsgdXNlU2VsZWN0U2hlbGwgfSBmcm9tICcuL3VzZVNlbGVjdFNoZWxsJztcbmltcG9ydCB7IG5vcm1hbGl6ZVNpemUgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAnLi9zdHlsZSc7XG5jb25zdCBERUZBVUxUX01BWF9IRUlHSFQgPSAzMjA7XG5jb25zdCBpc1JlbmRlcmFibGVUZW1wbGF0ZSA9ICh2YWx1ZSkgPT4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gZmFsc2U7XG5leHBvcnQgY29uc3QgU2VsZWN0Q3VzdG9tID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gJ3NlbGVjdCcsIHN0eWxlLCBpZCwgbmFtZSwgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsICdhcmlhLWxhYmVsbGVkYnknOiBhcmlhTGFiZWxsZWRCeSwgc2l6ZSA9ICdsYXJnZScsIHN0YXR1cyA9ICdkZWZhdWx0JywgdmFyaWFudCA9ICdmaWxsJywgZGlzYWJsZWQ6IGRpc2FibGVkUHJvcCA9IGZhbHNlLCBsb2FkaW5nID0gZmFsc2UsIGxhYmVsLCBpbmZvLCBkZXNjcmlwdGlvbiwgZmVlZGJhY2ssIHJlcXVpcmVkID0gZmFsc2UsIHByZWZpeCwgcGxhY2Vob2xkZXIgPSAnVmFsdWUnLCBzZWxlY3RlZFRlbXBsYXRlLCBhcnJvdyA9IHRydWUsIG9wZW4sIGRlZmF1bHRPcGVuID0gZmFsc2UsIHBvcnRhbCA9IHRydWUsIHBhbmVsQ2xhc3NOYW1lLCBwYW5lbEZvb3RlciwgbGlzdE1heEhlaWdodCA9IERFRkFVTFRfTUFYX0hFSUdIVCwgcGxhY2VtZW50LCBwYW5lbFdpZHRoLCByb2xlOiByb2xlUHJvcCA9ICdkaWFsb2cnLCBhbmltYXRpb24sIG9uT3BlbkNoYW5nZSwgb25CbHVyLCBjaGlsZHJlbiwgcmVmLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBkaXNhYmxlZFByb3AgfHwgbG9hZGluZztcbiAgICBjb25zdCBjbGFzc2VzID0gcm9vdENsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBhdXRvSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IHRyaWdnZXJJZCA9IGlkICE9PSBudWxsICYmIGlkICE9PSB2b2lkIDAgPyBpZCA6IGF1dG9JZDtcbiAgICBjb25zdCBsYWJlbElkID0gdXNlSWQoKTtcbiAgICBjb25zdCBkZXNjcmlwdGlvbklkID0gdXNlSWQoKTtcbiAgICBjb25zdCBmZWVkYmFja0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCBub3JtYWxpemVkU2l6ZSA9IG5vcm1hbGl6ZVNpemUoc2l6ZSk7XG4gICAgY29uc3QgZmxvYXRpbmdSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgdHJpZ2dlclJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyUmVmID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICB0cmlnZ2VyUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgICBpZiAocmVmKSB7XG4gICAgICAgICAgICByZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCB7IGlzT3Blbiwgc2V0T3BlbiwgcmVmcywgY29udGV4dCwgZmxvYXRpbmdTdHlsZXMsIHRyYW5zaXRpb25TdHlsZXMsIGlzTW91bnRlZCwgYmFzZUludGVyYWN0aW9ucywgfSA9IHVzZVNlbGVjdFNoZWxsKHtcbiAgICAgICAgb3BlbixcbiAgICAgICAgZGVmYXVsdE9wZW4sXG4gICAgICAgIG9uT3BlbkNoYW5nZSxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgcGFuZWxXaWR0aCxcbiAgICAgICAgbGlzdE1heEhlaWdodCxcbiAgICAgICAgYW5pbWF0aW9uLFxuICAgICAgICByb2xlOiByb2xlUHJvcCxcbiAgICB9KTtcbiAgICBjb25zdCBzZXRSZWZlcmVuY2UgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHJlZnMuc2V0UmVmZXJlbmNlKG5vZGUpO1xuICAgICAgICBoYW5kbGVUcmlnZ2VyUmVmKG5vZGUpO1xuICAgIH0pO1xuICAgIGNvbnN0IHNldEZsb2F0aW5nID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICByZWZzLnNldEZsb2F0aW5nKG5vZGUpO1xuICAgICAgICBmbG9hdGluZ1JlZi5jdXJyZW50ID0gbm9kZTtcbiAgICB9KTtcbiAgICBjb25zdCB7IGdldFJlZmVyZW5jZVByb3BzLCBnZXRGbG9hdGluZ1Byb3BzIH0gPSB1c2VJbnRlcmFjdGlvbnMoYmFzZUludGVyYWN0aW9ucyk7XG4gICAgY29uc3Qgbm90aWZ5Qmx1cklmT3V0c2lkZSA9IHVzZUV2ZW50Q2FsbGJhY2soKHJlbGF0ZWRUYXJnZXQsIGV2ZW50KSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGNvbnN0IG5leHRUYXJnZXQgPSByZWxhdGVkVGFyZ2V0O1xuICAgICAgICBjb25zdCB3aXRoaW5UcmlnZ2VyID0gISEobmV4dFRhcmdldCAmJiAoKF9hID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY29udGFpbnMobmV4dFRhcmdldCkpKTtcbiAgICAgICAgY29uc3Qgd2l0aGluRmxvYXRpbmcgPSAhIShuZXh0VGFyZ2V0ICYmICgoX2IgPSBmbG9hdGluZ1JlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY29udGFpbnMobmV4dFRhcmdldCkpKTtcbiAgICAgICAgaWYgKCF3aXRoaW5UcmlnZ2VyICYmICF3aXRoaW5GbG9hdGluZykge1xuICAgICAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRyaWdnZXJCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgY2xvc2UgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBzZXRPcGVuKGZhbHNlKTtcbiAgICAgICAgKF9hID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IHRyaWdnZXJDb250ZW50ID0gdHlwZW9mIHNlbGVjdGVkVGVtcGxhdGUgPT09ICdmdW5jdGlvbidcbiAgICAgICAgPyBzZWxlY3RlZFRlbXBsYXRlKHsgb3BlbjogaXNPcGVuLCBkaXNhYmxlZCB9KVxuICAgICAgICA6IHNlbGVjdGVkVGVtcGxhdGU7XG4gICAgY29uc3QgaGFzU2VsZWN0aW9uID0gaXNSZW5kZXJhYmxlVGVtcGxhdGUodHJpZ2dlckNvbnRlbnQpO1xuICAgIGNvbnN0IHZhbHVlTGFiZWxDbGFzcyA9IGhhc1NlbGVjdGlvbiA/ICd2YWx1ZScgOiAncGxhY2Vob2xkZXInO1xuICAgIGNvbnN0IHRyaWdnZXJDbGFzc05hbWUgPSBjbGFzc2VzKCd0cmlnZ2VyJywgam9pbkNscyhjbGFzc2VzKGB0cmlnZ2VyLSR7bm9ybWFsaXplZFNpemV9YCksIGNsYXNzZXMoYHRyaWdnZXItJHt2YXJpYW50fWApLCBpc09wZW4gJiYgY2xhc3NlcygndHJpZ2dlci1vcGVuJyksIGhhc1NlbGVjdGlvbiA/IGNsYXNzZXMoJ3RyaWdnZXItZmlsbGVkJykgOiBjbGFzc2VzKCd0cmlnZ2VyLXBsYWNlaG9sZGVyJyksIHN0YXR1cyAhPT0gJ2RlZmF1bHQnICYmIGNsYXNzZXMoYHRyaWdnZXItJHtzdGF0dXN9YCksIGRpc2FibGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItZGlzYWJsZWQnKSkpO1xuICAgIGNvbnN0IGljb25TaXplID0gbm9ybWFsaXplZFNpemUgPT09ICdzbWFsbCcgPyAxNiA6IDIwO1xuICAgIGNvbnN0IGZsb2F0aW5nQXJpYUxhYmVsbGVkQnkgPSBhcmlhTGFiZWxsZWRCeSAhPT0gbnVsbCAmJiBhcmlhTGFiZWxsZWRCeSAhPT0gdm9pZCAwID8gYXJpYUxhYmVsbGVkQnkgOiAobGFiZWwgPyBsYWJlbElkIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCBkZXNjcmliZWRCeUlkcyA9IFtkZXNjcmlwdGlvbiA/IGRlc2NyaXB0aW9uSWQgOiBudWxsLCBmZWVkYmFjayA/IGZlZWRiYWNrSWQgOiBudWxsXVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgIC5qb2luKCcgJykgfHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IHBhbmVsQ3R4ID0geyBjbG9zZSwgb3BlbjogaXNPcGVuIH07XG4gICAgY29uc3QgcGFuZWxCb2R5ID0gdHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nID8gY2hpbGRyZW4ocGFuZWxDdHgpIDogY2hpbGRyZW47XG4gICAgcmV0dXJuIChfanN4cyhTZWxlY3RGaWVsZFNoZWxsLCB7IGNsYXNzZXM6IGNsYXNzZXMsIGNsYXNzTmFtZTogY2xhc3NOYW1lLCBzaXplOiBub3JtYWxpemVkU2l6ZSwgdmFyaWFudDogdmFyaWFudCwgc3RhdHVzOiBzdGF0dXMsIGRpc2FibGVkOiBkaXNhYmxlZCwgbG9hZGluZzogbG9hZGluZywgbGFiZWw6IGxhYmVsLCBpbmZvOiBpbmZvLCBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sIGZlZWRiYWNrOiBmZWVkYmFjaywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBsYWJlbElkOiBsYWJlbElkLCBkZXNjcmlwdGlvbklkOiBkZXNjcmlwdGlvbklkLCBmZWVkYmFja0lkOiBmZWVkYmFja0lkLCBjaGlsZHJlbjogW19qc3hzKFwiYnV0dG9uXCIsIE9iamVjdC5hc3NpZ24oe30sIGdldFJlZmVyZW5jZVByb3BzKHtcbiAgICAgICAgICAgICAgICByZWY6IHNldFJlZmVyZW5jZSxcbiAgICAgICAgICAgICAgICBpZDogdHJpZ2dlcklkLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgc3R5bGUsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiB0cmlnZ2VyQ2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgIG9uQmx1cjogaGFuZGxlVHJpZ2dlckJsdXIsXG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWxsZWRieSc6IGZsb2F0aW5nQXJpYUxhYmVsbGVkQnksXG4gICAgICAgICAgICAgICAgJ2FyaWEtZGVzY3JpYmVkYnknOiBkZXNjcmliZWRCeUlkcyxcbiAgICAgICAgICAgIH0pLCB7IGNoaWxkcmVuOiBbX2pzeHMoXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250ZW50JyksIGNoaWxkcmVuOiBbcHJlZml4ICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwcmVmaXgnKSwgY2hpbGRyZW46IHByZWZpeCB9KSwgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXModmFsdWVMYWJlbENsYXNzLCBqb2luQ2xzKGNsYXNzZXMoYCR7dmFsdWVMYWJlbENsYXNzfS0ke25vcm1hbGl6ZWRTaXplfWApLCBkaXNhYmxlZCAmJiBjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tZGlzYWJsZWRgKSkpLCBjaGlsZHJlbjogaGFzU2VsZWN0aW9uID8gdHJpZ2dlckNvbnRlbnQgOiBwbGFjZWhvbGRlciB9KV0gfSksIGFycm93ICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaWNvbicpLCBjaGlsZHJlbjogbG9hZGluZyA/IChfanN4KFNwaW5uZXIsIHsgc2l6ZTogaWNvblNpemUsIHN0cm9rZVdpZHRoOiAyIH0pKSA6IChfanN4KEljb25zLCB7IG5hbWU6IGlzT3BlbiA/ICdjaGV2cm9uVXAnIDogJ2NoZXZyb25Eb3duJywgc2l6ZTogaWNvblNpemUsIGNvbG9yOiBcImN1cnJlbnRDb2xvclwiIH0pKSB9KSldIH0pKSwgaXNNb3VudGVkICYmICFkaXNhYmxlZCAmJiAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhbmVsTm9kZSA9IChfanN4KEZsb2F0aW5nRm9jdXNNYW5hZ2VyLCB7IGNvbnRleHQ6IGNvbnRleHQsIG1vZGFsOiBmYWxzZSwgaW5pdGlhbEZvY3VzOiAtMSwgcmV0dXJuRm9jdXM6IGZhbHNlLCBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgZ2V0RmxvYXRpbmdQcm9wcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWY6IHNldEZsb2F0aW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBqb2luQ2xzKGNsYXNzZXMoJ3BhbmVsJyksIHBhbmVsQ2xhc3NOYW1lKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGZsb2F0aW5nU3R5bGVzKSwgdHJhbnNpdGlvblN0eWxlcyksXG4gICAgICAgICAgICAgICAgICAgIH0pLCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtYm9keScpLCBjaGlsZHJlbjogcGFuZWxCb2R5IH0pLCBwYW5lbEZvb3RlciAhPSBudWxsICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1mb290ZXInKSwgY2hpbGRyZW46IHBhbmVsRm9vdGVyIH0pKV0gfSkpIH0pKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcG9ydGFsID8gX2pzeChGbG9hdGluZ1BvcnRhbCwgeyBjaGlsZHJlbjogcGFuZWxOb2RlIH0pIDogcGFuZWxOb2RlO1xuICAgICAgICAgICAgfSkoKV0gfSkpO1xufTtcblNlbGVjdEN1c3RvbS5kaXNwbGF5TmFtZSA9ICdTZWxlY3RDdXN0b20nO1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhTZWxlY3RDdXN0b20pOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
225
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdEN1c3RvbS5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdEN1c3RvbS50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZsb2F0aW5nRm9jdXNNYW5hZ2VyIiwiRmxvYXRpbmdQb3J0YWwiLCJ1c2VJbnRlcmFjdGlvbnMiLCJtZW1vIiwidXNlSWQiLCJ1c2VSZWYiLCJ1c2VFdmVudENhbGxiYWNrIiwiSWNvbnMiLCJTcGlubmVyIiwiam9pbkNscyIsImRlZmF1bHQiLCJyb290Q2xhc3NuYW1lcyIsIlNlbGVjdEZpZWxkU2hlbGwiLCJ1c2VTZWxlY3RTaGVsbCIsIm5vcm1hbGl6ZVNpemUiLCJERUZBVUxUX01BWF9IRUlHSFQiLCJpc1JlbmRlcmFibGVUZW1wbGF0ZSIsInZhbHVlIiwidW5kZWZpbmVkIiwiU2VsZWN0Q3VzdG9tIiwicHJvcHMiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsInN0eWxlIiwiaWQiLCJuYW1lIiwiYXJpYUxhYmVsIiwiYXJpYUxhYmVsbGVkQnkiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJfcHJvcHMkc3RhdHVzIiwic3RhdHVzIiwiX3Byb3BzJHZhcmlhbnQiLCJ2YXJpYW50IiwiX3Byb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJkaXNhYmxlZFByb3AiLCJfcHJvcHMkbG9hZGluZyIsImxvYWRpbmciLCJsYWJlbCIsImluZm8iLCJkZXNjcmlwdGlvbiIsImZlZWRiYWNrIiwiX3Byb3BzJHJlcXVpcmVkIiwicmVxdWlyZWQiLCJwcmVmaXgiLCJfcHJvcHMkcGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlciIsInNlbGVjdGVkVGVtcGxhdGUiLCJfcHJvcHMkYXJyb3ciLCJhcnJvdyIsIm9wZW4iLCJfcHJvcHMkZGVmYXVsdE9wZW4iLCJkZWZhdWx0T3BlbiIsIl9wcm9wcyRwb3J0YWwiLCJwb3J0YWwiLCJwYW5lbENsYXNzTmFtZSIsInBhbmVsRm9vdGVyIiwiX3Byb3BzJGxpc3RNYXhIZWlnaHQiLCJsaXN0TWF4SGVpZ2h0IiwicGxhY2VtZW50IiwicGFuZWxXaWR0aCIsIm9mZnNldCIsIl9wcm9wcyRyb2xlIiwicm9sZSIsInJvbGVQcm9wIiwiYW5pbWF0aW9uIiwib25PcGVuQ2hhbmdlIiwib25CbHVyIiwiY2hpbGRyZW4iLCJyZWYiLCJjbGFzc2VzIiwiYXV0b0lkIiwidHJpZ2dlcklkIiwibGFiZWxJZCIsImRlc2NyaXB0aW9uSWQiLCJmZWVkYmFja0lkIiwibm9ybWFsaXplZFNpemUiLCJmbG9hdGluZ1JlZiIsInRyaWdnZXJSZWYiLCJoYW5kbGVUcmlnZ2VyUmVmIiwibm9kZSIsImN1cnJlbnQiLCJfdXNlU2VsZWN0U2hlbGwiLCJpc09wZW4iLCJzZXRPcGVuIiwicmVmcyIsImNvbnRleHQiLCJmbG9hdGluZ1N0eWxlcyIsInRyYW5zaXRpb25TdHlsZXMiLCJpc01vdW50ZWQiLCJiYXNlSW50ZXJhY3Rpb25zIiwic2V0UmVmZXJlbmNlIiwic2V0RmxvYXRpbmciLCJfdXNlSW50ZXJhY3Rpb25zIiwiZ2V0UmVmZXJlbmNlUHJvcHMiLCJnZXRGbG9hdGluZ1Byb3BzIiwibm90aWZ5Qmx1cklmT3V0c2lkZSIsInJlbGF0ZWRUYXJnZXQiLCJldmVudCIsIl9hIiwiX2IiLCJuZXh0VGFyZ2V0Iiwid2l0aGluVHJpZ2dlciIsImNvbnRhaW5zIiwid2l0aGluRmxvYXRpbmciLCJoYW5kbGVUcmlnZ2VyQmx1ciIsImNsb3NlIiwiZm9jdXMiLCJwcmV2ZW50U2Nyb2xsIiwidHJpZ2dlckNvbnRlbnQiLCJoYXNTZWxlY3Rpb24iLCJ2YWx1ZUxhYmVsQ2xhc3MiLCJ0cmlnZ2VyQ2xhc3NOYW1lIiwiY29uY2F0IiwiaWNvblNpemUiLCJmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5IiwiZGVzY3JpYmVkQnlJZHMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsInBhbmVsQ3R4IiwicGFuZWxCb2R5IiwiT2JqZWN0IiwiYXNzaWduIiwidHlwZSIsInN0cm9rZVdpZHRoIiwiY29sb3IiLCJwYW5lbE5vZGUiLCJtb2RhbCIsImluaXRpYWxGb2N1cyIsInJldHVybkZvY3VzIiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxFQUFFQyxJQUFJLElBQUlDLEtBQUssUUFBUSxtQkFBbUI7QUNBOUQsU0FBU0Msb0JBQW9CLEVBQUVDLGNBQWMsRUFBRUMsZUFBZSxRQUFRLG9CQUFvQjtBQUMxRixTQUFTQyxJQUFJLEVBQUVDLEtBQUssRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFDM0MsU0FBU0MsZ0JBQWdCLFFBQVEsZUFBZTtBQUNoRCxTQUFTQyxLQUFLLFFBQVEsVUFBVTtBQUNoQyxTQUFTQyxPQUFPLFFBQVEsWUFBWTtBQUNwQyxTQUFTQyxPQUFPLEVBQUVDLE9BQU8sSUFBSUMsY0FBYyxRQUFRLHdCQUF3QjtBQUczRSxPQUFPQyxnQkFBZ0IsTUFBTSxvQkFBb0I7QUFDakQsU0FBU0MsY0FBYyxRQUFRLGtCQUFrQjtBQUNqRCxTQUFTQyxhQUFhLFFBQVEsU0FBUztBQUN2QyxPQUFPLFNBQVM7QUFFaEIsSUFBTUMsa0JBQWtCLEdBQUcsR0FBRztBQUU5QixJQUFNQyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFJQyxLQUFjO0VBQUEsT0FDMUNBLEtBQUssS0FBSyxJQUFJLElBQUlBLEtBQUssS0FBS0MsU0FBUyxJQUFJRCxLQUFLLEtBQUssS0FBSztBQUFBO0FBRTFELE9BQU8sSUFBTUUsWUFBWSxHQUEwQixTQUF0Q0EsWUFBWUEsQ0FBMkJDLEtBQUssRUFBSTtFQUMzRCxJQUFBQyxnQkFBQSxHQXFDSUQsS0FBSyxDQXBDUEUsU0FBUztJQUFUQSxTQUFTLEdBQUFELGdCQUFBLGNBQUcsRUFBRSxHQUFBQSxnQkFBQTtJQUFBRSxnQkFBQSxHQW9DWkgsS0FBSyxDQW5DUEksU0FBUztJQUFUQSxTQUFTLEdBQUFELGdCQUFBLGNBQUcs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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgRmxvYXRpbmdGb2N1c01hbmFnZXIsIEZsb2F0aW5nUG9ydGFsLCB1c2VJbnRlcmFjdGlvbnMgfSBmcm9tICdAZmxvYXRpbmctdWkvcmVhY3QnO1xuaW1wb3J0IHsgbWVtbywgdXNlSWQsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUV2ZW50Q2FsbGJhY2sgfSBmcm9tICdAMW1vbmV5L2hvb2tzJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vSWNvbnMnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4uL1NwaW5uZXInO1xuaW1wb3J0IHsgam9pbkNscywgZGVmYXVsdCBhcyByb290Q2xhc3NuYW1lcyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IFNlbGVjdEZpZWxkU2hlbGwgZnJvbSAnLi9TZWxlY3RGaWVsZFNoZWxsJztcbmltcG9ydCB7IHVzZVNlbGVjdFNoZWxsIH0gZnJvbSAnLi91c2VTZWxlY3RTaGVsbCc7XG5pbXBvcnQgeyBub3JtYWxpemVTaXplIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgREVGQVVMVF9NQVhfSEVJR0hUID0gMzIwO1xuY29uc3QgaXNSZW5kZXJhYmxlVGVtcGxhdGUgPSAodmFsdWUpID0+IHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IGZhbHNlO1xuZXhwb3J0IGNvbnN0IFNlbGVjdEN1c3RvbSA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIHByZWZpeENscyA9ICdzZWxlY3QnLCBzdHlsZSwgaWQsIG5hbWUsICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLCAnYXJpYS1sYWJlbGxlZGJ5JzogYXJpYUxhYmVsbGVkQnksIHNpemUgPSAnbGFyZ2UnLCBzdGF0dXMgPSAnZGVmYXVsdCcsIHZhcmlhbnQgPSAnZmlsbCcsIGRpc2FibGVkOiBkaXNhYmxlZFByb3AgPSBmYWxzZSwgbG9hZGluZyA9IGZhbHNlLCBsYWJlbCwgaW5mbywgZGVzY3JpcHRpb24sIGZlZWRiYWNrLCByZXF1aXJlZCA9IGZhbHNlLCBwcmVmaXgsIHBsYWNlaG9sZGVyID0gJ1ZhbHVlJywgc2VsZWN0ZWRUZW1wbGF0ZSwgYXJyb3cgPSB0cnVlLCBvcGVuLCBkZWZhdWx0T3BlbiA9IGZhbHNlLCBwb3J0YWwgPSB0cnVlLCBwYW5lbENsYXNzTmFtZSwgcGFuZWxGb290ZXIsIGxpc3RNYXhIZWlnaHQgPSBERUZBVUxUX01BWF9IRUlHSFQsIHBsYWNlbWVudCwgcGFuZWxXaWR0aCwgb2Zmc2V0LCByb2xlOiByb2xlUHJvcCA9ICdkaWFsb2cnLCBhbmltYXRpb24sIG9uT3BlbkNoYW5nZSwgb25CbHVyLCBjaGlsZHJlbiwgcmVmLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBkaXNhYmxlZFByb3AgfHwgbG9hZGluZztcbiAgICBjb25zdCBjbGFzc2VzID0gcm9vdENsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBhdXRvSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IHRyaWdnZXJJZCA9IGlkICE9PSBudWxsICYmIGlkICE9PSB2b2lkIDAgPyBpZCA6IGF1dG9JZDtcbiAgICBjb25zdCBsYWJlbElkID0gdXNlSWQoKTtcbiAgICBjb25zdCBkZXNjcmlwdGlvbklkID0gdXNlSWQoKTtcbiAgICBjb25zdCBmZWVkYmFja0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCBub3JtYWxpemVkU2l6ZSA9IG5vcm1hbGl6ZVNpemUoc2l6ZSk7XG4gICAgY29uc3QgZmxvYXRpbmdSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgdHJpZ2dlclJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyUmVmID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICB0cmlnZ2VyUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgICBpZiAocmVmKSB7XG4gICAgICAgICAgICByZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCB7IGlzT3Blbiwgc2V0T3BlbiwgcmVmcywgY29udGV4dCwgZmxvYXRpbmdTdHlsZXMsIHRyYW5zaXRpb25TdHlsZXMsIGlzTW91bnRlZCwgYmFzZUludGVyYWN0aW9ucywgfSA9IHVzZVNlbGVjdFNoZWxsKHtcbiAgICAgICAgb3BlbixcbiAgICAgICAgZGVmYXVsdE9wZW4sXG4gICAgICAgIG9uT3BlbkNoYW5nZSxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgcGFuZWxXaWR0aCxcbiAgICAgICAgbGlzdE1heEhlaWdodCxcbiAgICAgICAgYW5pbWF0aW9uLFxuICAgICAgICByb2xlOiByb2xlUHJvcCxcbiAgICAgICAgb2Zmc2V0LFxuICAgIH0pO1xuICAgIGNvbnN0IHNldFJlZmVyZW5jZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgcmVmcy5zZXRSZWZlcmVuY2Uobm9kZSk7XG4gICAgICAgIGhhbmRsZVRyaWdnZXJSZWYobm9kZSk7XG4gICAgfSk7XG4gICAgY29uc3Qgc2V0RmxvYXRpbmcgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHJlZnMuc2V0RmxvYXRpbmcobm9kZSk7XG4gICAgICAgIGZsb2F0aW5nUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgIH0pO1xuICAgIGNvbnN0IHsgZ2V0UmVmZXJlbmNlUHJvcHMsIGdldEZsb2F0aW5nUHJvcHMgfSA9IHVzZUludGVyYWN0aW9ucyhiYXNlSW50ZXJhY3Rpb25zKTtcbiAgICBjb25zdCBub3RpZnlCbHVySWZPdXRzaWRlID0gdXNlRXZlbnRDYWxsYmFjaygocmVsYXRlZFRhcmdldCwgZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgbmV4dFRhcmdldCA9IHJlbGF0ZWRUYXJnZXQ7XG4gICAgICAgIGNvbnN0IHdpdGhpblRyaWdnZXIgPSAhIShuZXh0VGFyZ2V0ICYmICgoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jb250YWlucyhuZXh0VGFyZ2V0KSkpO1xuICAgICAgICBjb25zdCB3aXRoaW5GbG9hdGluZyA9ICEhKG5leHRUYXJnZXQgJiYgKChfYiA9IGZsb2F0aW5nUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jb250YWlucyhuZXh0VGFyZ2V0KSkpO1xuICAgICAgICBpZiAoIXdpdGhpblRyaWdnZXIgJiYgIXdpdGhpbkZsb2F0aW5nKSB7XG4gICAgICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlckJsdXIgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBub3RpZnlCbHVySWZPdXRzaWRlKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBjbG9zZSA9IHVzZUV2ZW50Q2FsbGJhY2soKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgICAgICAoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgdHJpZ2dlckNvbnRlbnQgPSB0eXBlb2Ygc2VsZWN0ZWRUZW1wbGF0ZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IHNlbGVjdGVkVGVtcGxhdGUoeyBvcGVuOiBpc09wZW4sIGRpc2FibGVkIH0pXG4gICAgICAgIDogc2VsZWN0ZWRUZW1wbGF0ZTtcbiAgICBjb25zdCBoYXNTZWxlY3Rpb24gPSBpc1JlbmRlcmFibGVUZW1wbGF0ZSh0cmlnZ2VyQ29udGVudCk7XG4gICAgY29uc3QgdmFsdWVMYWJlbENsYXNzID0gaGFzU2VsZWN0aW9uID8gJ3ZhbHVlJyA6ICdwbGFjZWhvbGRlcic7XG4gICAgY29uc3QgdHJpZ2dlckNsYXNzTmFtZSA9IGNsYXNzZXMoJ3RyaWdnZXInLCBqb2luQ2xzKGNsYXNzZXMoYHRyaWdnZXItJHtub3JtYWxpemVkU2l6ZX1gKSwgY2xhc3NlcyhgdHJpZ2dlci0ke3ZhcmlhbnR9YCksIGlzT3BlbiAmJiBjbGFzc2VzKCd0cmlnZ2VyLW9wZW4nKSwgaGFzU2VsZWN0aW9uID8gY2xhc3NlcygndHJpZ2dlci1maWxsZWQnKSA6IGNsYXNzZXMoJ3RyaWdnZXItcGxhY2Vob2xkZXInKSwgc3RhdHVzICE9PSAnZGVmYXVsdCcgJiYgY2xhc3NlcyhgdHJpZ2dlci0ke3N0YXR1c31gKSwgZGlzYWJsZWQgJiYgY2xhc3NlcygndHJpZ2dlci1kaXNhYmxlZCcpKSk7XG4gICAgY29uc3QgaWNvblNpemUgPSBub3JtYWxpemVkU2l6ZSA9PT0gJ3NtYWxsJyA/IDE2IDogMjA7XG4gICAgY29uc3QgZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSA9IGFyaWFMYWJlbGxlZEJ5ICE9PSBudWxsICYmIGFyaWFMYWJlbGxlZEJ5ICE9PSB2b2lkIDAgPyBhcmlhTGFiZWxsZWRCeSA6IChsYWJlbCA/IGxhYmVsSWQgOiB1bmRlZmluZWQpO1xuICAgIGNvbnN0IGRlc2NyaWJlZEJ5SWRzID0gW2Rlc2NyaXB0aW9uID8gZGVzY3JpcHRpb25JZCA6IG51bGwsIGZlZWRiYWNrID8gZmVlZGJhY2tJZCA6IG51bGxdXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgLmpvaW4oJyAnKSB8fCB1bmRlZmluZWQ7XG4gICAgY29uc3QgcGFuZWxDdHggPSB7IGNsb3NlLCBvcGVuOiBpc09wZW4gfTtcbiAgICBjb25zdCBwYW5lbEJvZHkgPSB0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbicgPyBjaGlsZHJlbihwYW5lbEN0eCkgOiBjaGlsZHJlbjtcbiAgICByZXR1cm4gKF9qc3hzKFNlbGVjdEZpZWxkU2hlbGwsIHsgY2xhc3NlczogY2xhc3NlcywgY2xhc3NOYW1lOiBjbGFzc05hbWUsIHNpemU6IG5vcm1hbGl6ZWRTaXplLCB2YXJpYW50OiB2YXJpYW50LCBzdGF0dXM6IHN0YXR1cywgZGlzYWJsZWQ6IGRpc2FibGVkLCBsb2FkaW5nOiBsb2FkaW5nLCBsYWJlbDogbGFiZWwsIGluZm86IGluZm8sIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbiwgZmVlZGJhY2s6IGZlZWRiYWNrLCByZXF1aXJlZDogcmVxdWlyZWQsIGxhYmVsSWQ6IGxhYmVsSWQsIGRlc2NyaXB0aW9uSWQ6IGRlc2NyaXB0aW9uSWQsIGZlZWRiYWNrSWQ6IGZlZWRiYWNrSWQsIGNoaWxkcmVuOiBbX2pzeHMoXCJidXR0b25cIiwgT2JqZWN0LmFzc2lnbih7fSwgZ2V0UmVmZXJlbmNlUHJvcHMoe1xuICAgICAgICAgICAgICAgIHJlZjogc2V0UmVmZXJlbmNlLFxuICAgICAgICAgICAgICAgIGlkOiB0cmlnZ2VySWQsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICBzdHlsZSxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6IHRyaWdnZXJDbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgb25CbHVyOiBoYW5kbGVUcmlnZ2VyQmx1cixcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCxcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbGxlZGJ5JzogZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSxcbiAgICAgICAgICAgICAgICAnYXJpYS1kZXNjcmliZWRieSc6IGRlc2NyaWJlZEJ5SWRzLFxuICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IFtfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbnRlbnQnKSwgY2hpbGRyZW46IFtwcmVmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3ByZWZpeCcpLCBjaGlsZHJlbjogcHJlZml4IH0pLCBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcyh2YWx1ZUxhYmVsQ2xhc3MsIGpvaW5DbHMoY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LSR7bm9ybWFsaXplZFNpemV9YCksIGRpc2FibGVkICYmIGNsYXNzZXMoYCR7dmFsdWVMYWJlbENsYXNzfS1kaXNhYmxlZGApKSksIGNoaWxkcmVuOiBoYXNTZWxlY3Rpb24gPyB0cmlnZ2VyQ29udGVudCA6IHBsYWNlaG9sZGVyIH0pXSB9KSwgYXJyb3cgJiYgKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpY29uJyksIGNoaWxkcmVuOiBsb2FkaW5nID8gKF9qc3goU3Bpbm5lciwgeyBzaXplOiBpY29uU2l6ZSwgc3Ryb2tlV2lkdGg6IDIgfSkpIDogKF9qc3goSWNvbnMsIHsgbmFtZTogaXNPcGVuID8gJ2NoZXZyb25VcCcgOiAnY2hldnJvbkRvd24nLCBzaXplOiBpY29uU2l6ZSwgY29sb3I6IFwiY3VycmVudENvbG9yXCIgfSkpIH0pKV0gfSkpLCBpc01vdW50ZWQgJiYgIWRpc2FibGVkICYmICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFuZWxOb2RlID0gKF9qc3goRmxvYXRpbmdGb2N1c01hbmFnZXIsIHsgY29udGV4dDogY29udGV4dCwgbW9kYWw6IGZhbHNlLCBpbml0aWFsRm9jdXM6IC0xLCByZXR1cm5Gb2N1czogZmFsc2UsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRGbG9hdGluZ1Byb3BzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogc2V0RmxvYXRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGpvaW5DbHMoY2xhc3NlcygncGFuZWwnKSwgcGFuZWxDbGFzc05hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZmxvYXRpbmdTdHlsZXMpLCB0cmFuc2l0aW9uU3R5bGVzKSxcbiAgICAgICAgICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IFtfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1ib2R5JyksIGNoaWxkcmVuOiBwYW5lbEJvZHkgfSksIHBhbmVsRm9vdGVyICE9IG51bGwgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWZvb3RlcicpLCBjaGlsZHJlbjogcGFuZWxGb290ZXIgfSkpXSB9KSkgfSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBwb3J0YWwgPyBfanN4KEZsb2F0aW5nUG9ydGFsLCB7IGNoaWxkcmVuOiBwYW5lbE5vZGUgfSkgOiBwYW5lbE5vZGU7XG4gICAgICAgICAgICB9KSgpXSB9KSk7XG59O1xuU2VsZWN0Q3VzdG9tLmRpc3BsYXlOYW1lID0gJ1NlbGVjdEN1c3RvbSc7XG5leHBvcnQgZGVmYXVsdCBtZW1vKFNlbGVjdEN1c3RvbSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { Placement, UseRoleProps } from '@floating-ui/react';
|
|
2
2
|
import type { CSSProperties, FocusEvent, HTMLAttributes, ReactNode, RefObject } from 'react';
|
|
3
3
|
import type { FloatingAnimation } from "../../hooks/useFloatingAnimation";
|
|
4
|
+
export type SelectOffset = number | {
|
|
5
|
+
mainAxis?: number;
|
|
6
|
+
crossAxis?: number;
|
|
7
|
+
alignmentAxis?: number | null;
|
|
8
|
+
};
|
|
4
9
|
export type SelectCustomRole = UseRoleProps['role'];
|
|
5
10
|
export interface SelectCustomTriggerContext {
|
|
6
11
|
open: boolean;
|
|
@@ -89,6 +94,16 @@ export interface SelectProps extends Omit<HTMLAttributes<HTMLDivElement>, 'defau
|
|
|
89
94
|
panelClassName?: string;
|
|
90
95
|
optionClassName?: string;
|
|
91
96
|
listMaxHeight?: number;
|
|
97
|
+
/**
|
|
98
|
+
* Gap between panel and trigger.
|
|
99
|
+
* - `number`: shorthand for `mainAxis` (perpendicular distance, in px).
|
|
100
|
+
* - object form (forwarded to floating-ui's `offset` middleware):
|
|
101
|
+
* - `mainAxis`: distance perpendicular to the placement edge.
|
|
102
|
+
* - `crossAxis`: distance parallel to the placement edge.
|
|
103
|
+
* - `alignmentAxis`: shift along the alignment edge for `*-start` / `*-end` placements.
|
|
104
|
+
* @default 0
|
|
105
|
+
*/
|
|
106
|
+
offset?: SelectOffset;
|
|
92
107
|
/**
|
|
93
108
|
* Open/close animation. Default `{ duration: { open: 150, close: 100 }, initialScale: 0.96 }`.
|
|
94
109
|
* Set to `false` to disable animation entirely (panel appears/disappears instantly).
|
|
@@ -151,6 +166,16 @@ export interface SelectCustomProps extends Omit<HTMLAttributes<HTMLDivElement>,
|
|
|
151
166
|
* trigger width.
|
|
152
167
|
*/
|
|
153
168
|
panelWidth?: number | string;
|
|
169
|
+
/**
|
|
170
|
+
* Gap between panel and trigger.
|
|
171
|
+
* - `number`: shorthand for `mainAxis` (perpendicular distance, in px).
|
|
172
|
+
* - object form (forwarded to floating-ui's `offset` middleware):
|
|
173
|
+
* - `mainAxis`: distance perpendicular to the placement edge.
|
|
174
|
+
* - `crossAxis`: distance parallel to the placement edge.
|
|
175
|
+
* - `alignmentAxis`: shift along the alignment edge for `*-start` / `*-end` placements.
|
|
176
|
+
* @default 0
|
|
177
|
+
*/
|
|
178
|
+
offset?: SelectOffset;
|
|
154
179
|
/**
|
|
155
180
|
* ARIA role applied to the floating panel and matched on the trigger via
|
|
156
181
|
* `aria-haspopup`. Defaults to `'dialog'` because the panel content is
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export var SELECT_SIZES = ['large', 'small'];
|
|
2
2
|
export var SELECT_STATUSES = ['default', 'error', 'warning', 'success'];
|
|
3
3
|
export var SELECT_VARIANTS = ['fill', 'stroke', 'frameless'];
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L2ludGVyZmFjZS50cyJdLCJuYW1lcyI6WyJTRUxFQ1RfU0laRVMiLCJTRUxFQ1RfU1RBVFVTRVMiLCJTRUxFQ1RfVkFSSUFOVFMiXSwibWFwcGluZ3MiOiJBQW9CQSxPQUFPLElBQU1BLFlBQVksR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQVU7QUFDdkQsT0FBTyxJQUFNQyxlQUFlLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQVU7QUFDbEYsT0FBTyxJQUFNQyxlQUFlLEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBVSIsImZpbGUiOiJjb21wb25lbnRzL1NlbGVjdC9pbnRlcmZhY2UuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { ElementProps, FloatingContext, Placement, ReferenceType, UseFloatingReturn, UseRoleProps } from '@floating-ui/react';
|
|
2
2
|
import type { CSSProperties } from 'react';
|
|
3
3
|
import type { FloatingAnimation } from "../../hooks/useFloatingAnimation";
|
|
4
|
+
export type SelectShellOffset = number | {
|
|
5
|
+
mainAxis?: number;
|
|
6
|
+
crossAxis?: number;
|
|
7
|
+
alignmentAxis?: number | null;
|
|
8
|
+
};
|
|
4
9
|
export interface UseSelectShellOptions {
|
|
5
10
|
open?: boolean;
|
|
6
11
|
defaultOpen?: boolean;
|
|
@@ -11,6 +16,7 @@ export interface UseSelectShellOptions {
|
|
|
11
16
|
listMaxHeight?: number;
|
|
12
17
|
animation?: FloatingAnimation;
|
|
13
18
|
role?: UseRoleProps['role'];
|
|
19
|
+
offset?: SelectShellOffset;
|
|
14
20
|
}
|
|
15
21
|
export interface UseSelectShellReturn<RT extends ReferenceType = ReferenceType> {
|
|
16
22
|
isOpen: boolean;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
2
3
|
import { autoUpdate, flip, offset, shift, size as floatingSize, useClick, useDismiss, useFloating, useRole } from '@floating-ui/react';
|
|
3
|
-
import { useMemo } from 'react';
|
|
4
|
+
import { useEffect, useMemo } from 'react';
|
|
4
5
|
import { useControlledState, useEventCallback } from '@1money/hooks';
|
|
5
6
|
import { useFloatingAnimation } from '../../hooks/useFloatingAnimation';
|
|
6
7
|
var DEFAULT_PLACEMENT = 'bottom-start';
|
|
@@ -20,7 +21,13 @@ export function useSelectShell(options) {
|
|
|
20
21
|
listMaxHeight = _options$listMaxHeigh === void 0 ? DEFAULT_LIST_MAX_HEIGHT : _options$listMaxHeigh,
|
|
21
22
|
animation = options.animation,
|
|
22
23
|
_options$role = options.role,
|
|
23
|
-
roleType = _options$role === void 0 ? 'select' : _options$role
|
|
24
|
+
roleType = _options$role === void 0 ? 'select' : _options$role,
|
|
25
|
+
_options$offset = options.offset,
|
|
26
|
+
offsetProp = _options$offset === void 0 ? 0 : _options$offset;
|
|
27
|
+
var offsetIsObject = _typeof(offsetProp) === 'object' && offsetProp !== null;
|
|
28
|
+
var offsetMainAxis = offsetIsObject ? offsetProp.mainAxis : offsetProp;
|
|
29
|
+
var offsetCrossAxis = offsetIsObject ? offsetProp.crossAxis : undefined;
|
|
30
|
+
var offsetAlignmentAxis = offsetIsObject ? offsetProp.alignmentAxis : undefined;
|
|
24
31
|
var _useControlledState = useControlledState(defaultOpen, open),
|
|
25
32
|
_useControlledState2 = _slicedToArray(_useControlledState, 2),
|
|
26
33
|
isOpen = _useControlledState2[0],
|
|
@@ -35,7 +42,11 @@ export function useSelectShell(options) {
|
|
|
35
42
|
placement: placement,
|
|
36
43
|
whileElementsMounted: autoUpdate,
|
|
37
44
|
transform: false,
|
|
38
|
-
middleware: [offset(
|
|
45
|
+
middleware: [offset({
|
|
46
|
+
mainAxis: offsetMainAxis,
|
|
47
|
+
crossAxis: offsetCrossAxis,
|
|
48
|
+
alignmentAxis: offsetAlignmentAxis
|
|
49
|
+
}), flip({
|
|
39
50
|
padding: 8
|
|
40
51
|
}), shift({
|
|
41
52
|
padding: 8
|
|
@@ -56,7 +67,13 @@ export function useSelectShell(options) {
|
|
|
56
67
|
refs = _useFloating.refs,
|
|
57
68
|
floatingStyles = _useFloating.floatingStyles,
|
|
58
69
|
context = _useFloating.context,
|
|
59
|
-
resolvedPlacement = _useFloating.placement
|
|
70
|
+
resolvedPlacement = _useFloating.placement,
|
|
71
|
+
update = _useFloating.update;
|
|
72
|
+
useEffect(function () {
|
|
73
|
+
if (isOpen) {
|
|
74
|
+
update();
|
|
75
|
+
}
|
|
76
|
+
}, [panelWidth, listMaxHeight, isOpen, update]);
|
|
60
77
|
var resolvedAnimation = useMemo(function () {
|
|
61
78
|
return animation === false ? false : Object.assign({
|
|
62
79
|
kind: 'height'
|
|
@@ -89,4 +106,4 @@ export function useSelectShell(options) {
|
|
|
89
106
|
};
|
|
90
107
|
}
|
|
91
108
|
export default useSelectShell;
|
|
92
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L3VzZVNlbGVjdFNoZWxsLnRzIiwiY29tcG9uZW50cy9TZWxlY3QvdXNlU2VsZWN0U2hlbGwuanMiXSwibmFtZXMiOlsiYXV0b1VwZGF0ZSIsImZsaXAiLCJvZmZzZXQiLCJzaGlmdCIsInNpemUiLCJmbG9hdGluZ1NpemUiLCJ1c2VDbGljayIsInVzZURpc21pc3MiLCJ1c2VGbG9hdGluZyIsInVzZVJvbGUiLCJ1c2VNZW1vIiwidXNlQ29udHJvbGxlZFN0YXRlIiwidXNlRXZlbnRDYWxsYmFjayIsInVzZUZsb2F0aW5nQW5pbWF0aW9uIiwiREVGQVVMVF9QTEFDRU1FTlQiLCJERUZBVUxUX0xJU1RfTUFYX0hFSUdIVCIsIlBBTkVMX01JTl9IRUlHSFQiLCJ1c2VTZWxlY3RTaGVsbCIsIm9wdGlvbnMiLCJvcGVuIiwiX29wdGlvbnMkZGVmYXVsdE9wZW4iLCJkZWZhdWx0T3BlbiIsIm9uT3BlbkNoYW5nZSIsIl9vcHRpb25zJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfb3B0aW9ucyRwbGFjZW1lbnQiLCJwbGFjZW1lbnQiLCJwYW5lbFdpZHRoIiwiX29wdGlvbnMkbGlzdE1heEhlaWdoIiwibGlzdE1heEhlaWdodCIsImFuaW1hdGlvbiIsIl9vcHRpb25zJHJvbGUiLCJyb2xlIiwicm9sZVR5cGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzT3BlbiIsInNldE9wZW5TdGF0ZSIsInNldE9wZW4iLCJuZXh0T3BlbiIsIl91c2VGbG9hdGluZyIsIndoaWxlRWxlbWVudHNNb3VudGVkIiwidHJhbnNmb3JtIiwibWlkZGxld2FyZSIsInBhZGRpbmciLCJhcHBseSIsIl9yZWYiLCJyZWN0cyIsImVsZW1lbnRzIiwiYXZhaWxhYmxlSGVpZ2h0IiwibmV4dE1heEhlaWdodCIsIk1hdGgiLCJtYXgiLCJtaW4iLCJyZXNvbHZlZFdpZHRoIiwiY29uY2F0IiwicmVmZXJlbmNlIiwid2lkdGgiLCJPYmplY3QiLCJhc3NpZ24iLCJmbG9hdGluZyIsInN0eWxlIiwibWF4SGVpZ2h0IiwicmVmcyIsImZsb2F0aW5nU3R5bGVzIiwiY29udGV4dCIsInJlc29sdmVkUGxhY2VtZW50IiwicmVzb2x2ZWRBbmltYXRpb24iLCJraW5kIiwiX3VzZUZsb2F0aW5nQW5pbWF0aW9uIiwiaXNNb3VudGVkIiwidHJhbnNpdGlvblN0eWxlcyIsInN0eWxlcyIsImNsaWNrIiwiZW5hYmxlZCIsImRpc21pc3MiLCJvdXRzaWRlUHJlc3NFdmVudCIsImJhc2VJbnRlcmFjdGlvbnMiXSwibWFwcGluZ3MiOiI7QUFBQSxTQUNFQSxVQUFVLEVBQ1ZDLElBQUksRUFDSkMsTUFBTSxFQUNOQyxLQUFLLEVBQ0xDLElBQUksSUFBSUMsWUFBWSxFQUNwQkMsUUFBUSxFQUNSQyxVQUFVLEVBQ1ZDLFdBQVcsRUFDWEMsT0FBTyxRQUNGLG9CQUFvQjtBQUMzQixTQUFTQyxPQUFPLFFBQVEsT0FBTztBQUMvQixTQUFTQyxrQkFBa0IsRUFBRUMsZ0JBQWdCLFFBQVEsZUFBZTtBQUNwRSxTQUFTQyxvQkFBb0IsUUFBUSxrQ0FBa0M7QUFvQ3ZFLElBQU1DLGlCQUFpQixHQUFjLGNBQWM7QUFDbkQsSUFBTUMsdUJBQXVCLEdBQUcsR0FBRztBQUNuQyxJQUFNQyxnQkFBZ0IsR0FBRyxHQUFHO0FBRTVCLE9BQU0sU0FBVUMsY0FBY0EsQ0FDNUJDLE9BQThCLEVBQUE7RUFFOUIsSUFDRUMsSUFBSSxHQVNGRCxPQUFPLENBVFRDLElBQUk7SUFBQUMsb0JBQUEsR0FTRkYsT0FBTyxDQVJURyxXQUFXO0lBQVhBLFdBQVcsR0FBQUQsb0JBQUEsY0FBRyxLQUFLLEdBQUFBLG9CQUFBO0lBQ25CRSxZQUFZLEdBT1ZKLE9BQU8sQ0FQVEksWUFBWTtJQUFBQyxpQkFBQSxHQU9WTCxPQUFPLENBTlRNLFFBQVE7SUFBUkEsUUFBUSxHQUFBRCxpQkFBQSxjQUFHLEtBQUssR0FBQUEsaUJBQUE7SUFBQUUs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LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyBhdXRvVXBkYXRlLCBmbGlwLCBvZmZzZXQsIHNoaWZ0LCBzaXplIGFzIGZsb2F0aW5nU2l6ZSwgdXNlQ2xpY2ssIHVzZURpc21pc3MsIHVzZUZsb2F0aW5nLCB1c2VSb2xlLCB9IGZyb20gJ0BmbG9hdGluZy11aS9yZWFjdCc7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZFN0YXRlLCB1c2VFdmVudENhbGxiYWNrIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyB1c2VGbG9hdGluZ0FuaW1hdGlvbiB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUZsb2F0aW5nQW5pbWF0aW9uJztcbmNvbnN0IERFRkFVTFRfUExBQ0VNRU5UID0gJ2JvdHRvbS1zdGFydCc7XG5jb25zdCBERUZBVUxUX0xJU1RfTUFYX0hFSUdIVCA9IDMyMDtcbmNvbnN0IFBBTkVMX01JTl9IRUlHSFQgPSAxMjA7XG5leHBvcnQgZnVuY3Rpb24gdXNlU2VsZWN0U2hlbGwob3B0aW9ucykge1xuICAgIGNvbnN0IHsgb3BlbiwgZGVmYXVsdE9wZW4gPSBmYWxzZSwgb25PcGVuQ2hhbmdlLCBkaXNhYmxlZCA9IGZhbHNlLCBwbGFjZW1lbnQgPSBERUZBVUxUX1BMQUNFTUVOVCwgcGFuZWxXaWR0aCwgbGlzdE1heEhlaWdodCA9IERFRkFVTFRfTElTVF9NQVhfSEVJR0hULCBhbmltYXRpb24sIHJvbGU6IHJvbGVUeXBlID0gJ3NlbGVjdCcsIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IFtpc09wZW4sIHNldE9wZW5TdGF0ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdE9wZW4sIG9wZW4pO1xuICAgIGNvbnN0IHNldE9wZW4gPSB1c2VFdmVudENhbGxiYWNrKChuZXh0T3BlbikgPT4ge1xuICAgICAgICBzZXRPcGVuU3RhdGUobmV4dE9wZW4pO1xuICAgICAgICBvbk9wZW5DaGFuZ2UgPT09IG51bGwgfHwgb25PcGVuQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbk9wZW5DaGFuZ2UobmV4dE9wZW4pO1xuICAgIH0pO1xuICAgIGNvbnN0IHsgcmVmcywgZmxvYXRpbmdTdHlsZXMsIGNvbnRleHQsIHBsYWNlbWVudDogcmVzb2x2ZWRQbGFjZW1lbnQsIH0gPSB1c2VGbG9hdGluZyh7XG4gICAgICAgIG9wZW46IGlzT3BlbixcbiAgICAgICAgb25PcGVuQ2hhbmdlOiBzZXRPcGVuLFxuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIHdoaWxlRWxlbWVudHNNb3VudGVkOiBhdXRvVXBkYXRlLFxuICAgICAgICB0cmFuc2Zvcm06IGZhbHNlLFxuICAgICAgICBtaWRkbGV3YXJlOiBbXG4gICAgICAgICAgICBvZmZzZXQoMCksXG4gICAgICAgICAgICBmbGlwKHsgcGFkZGluZzogOCB9KSxcbiAgICAgICAgICAgIHNoaWZ0KHsgcGFkZGluZzogOCB9KSxcbiAgICAgICAgICAgIGZsb2F0aW5nU2l6ZSh7XG4gICAgICAgICAgICAgICAgYXBwbHkoeyByZWN0cywgZWxlbWVudHMsIGF2YWlsYWJsZUhlaWdodCB9KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5leHRNYXhIZWlnaHQgPSBNYXRoLm1heChQQU5FTF9NSU5fSEVJR0hULCBNYXRoLm1pbihsaXN0TWF4SGVpZ2h0LCBhdmFpbGFibGVIZWlnaHQpKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzb2x2ZWRXaWR0aCA9IHBhbmVsV2lkdGggPT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBgJHtyZWN0cy5yZWZlcmVuY2Uud2lkdGh9cHhgXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHR5cGVvZiBwYW5lbFdpZHRoID09PSAnbnVtYmVyJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gYCR7cGFuZWxXaWR0aH1weGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHBhbmVsV2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oZWxlbWVudHMuZmxvYXRpbmcuc3R5bGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZXNvbHZlZFdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBgJHtuZXh0TWF4SGVpZ2h0fXB4YCxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgIH0pO1xuICAgIGNvbnN0IHJlc29sdmVkQW5pbWF0aW9uID0gdXNlTWVtbygoKSA9PiBhbmltYXRpb24gPT09IGZhbHNlXG4gICAgICAgID8gZmFsc2VcbiAgICAgICAgOiBPYmplY3QuYXNzaWduKHsga2luZDogJ2hlaWdodCcgfSwgKGFuaW1hdGlvbiAhPT0gbnVsbCAmJiBhbmltYXRpb24gIT09IHZvaWQgMCA/IGFuaW1hdGlvbiA6IHt9KSksIFthbmltYXRpb25dKTtcbiAgICBjb25zdCB7IGlzTW91bnRlZCwgc3R5bGVzOiB0cmFuc2l0aW9uU3R5bGVzIH0gPSB1c2VGbG9hdGluZ0FuaW1hdGlvbihjb250ZXh0LCByZXNvbHZlZFBsYWNlbWVudCwgcmVzb2x2ZWRBbmltYXRpb24pO1xuICAgIGNvbnN0IGNsaWNrID0gdXNlQ2xpY2soY29udGV4dCwgeyBlbmFibGVkOiAhZGlzYWJsZWQgfSk7XG4gICAgY29uc3QgZGlzbWlzcyA9IHVzZURpc21pc3MoY29udGV4dCwge1xuICAgICAgICBlbmFibGVkOiAhZGlzYWJsZWQsXG4gICAgICAgIG91dHNpZGVQcmVzc0V2ZW50OiAnbW91c2Vkb3duJyxcbiAgICB9KTtcbiAgICBjb25zdCByb2xlID0gdXNlUm9sZShjb250ZXh0LCB7IHJvbGU6IHJvbGVUeXBlIH0pO1xuICAgIGNvbnN0IGJhc2VJbnRlcmFjdGlvbnMgPSBbY2xpY2ssIGRpc21pc3MsIHJvbGVdO1xuICAgIHJldHVybiB7XG4gICAgICAgIGlzT3BlbixcbiAgICAgICAgc2V0T3BlbixcbiAgICAgICAgcmVmcyxcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgcGxhY2VtZW50OiByZXNvbHZlZFBsYWNlbWVudCxcbiAgICAgICAgZmxvYXRpbmdTdHlsZXMsXG4gICAgICAgIHRyYW5zaXRpb25TdHlsZXMsXG4gICAgICAgIGlzTW91bnRlZCxcbiAgICAgICAgYmFzZUludGVyYWN0aW9ucyxcbiAgICB9O1xufVxuZXhwb3J0IGRlZmF1bHQgdXNlU2VsZWN0U2hlbGw7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
109
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L3VzZVNlbGVjdFNoZWxsLnRzIiwiY29tcG9uZW50cy9TZWxlY3QvdXNlU2VsZWN0U2hlbGwuanMiXSwibmFtZXMiOlsiYXV0b1VwZGF0ZSIsImZsaXAiLCJvZmZzZXQiLCJzaGlmdCIsInNpemUiLCJmbG9hdGluZ1NpemUiLCJ1c2VDbGljayIsInVzZURpc21pc3MiLCJ1c2VGbG9hdGluZyIsInVzZVJvbGUiLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlQ29udHJvbGxlZFN0YXRlIiwidXNlRXZlbnRDYWxsYmFjayIsInVzZUZsb2F0aW5nQW5pbWF0aW9uIiwiREVGQVVMVF9QTEFDRU1FTlQiLCJERUZBVUxUX0xJU1RfTUFYX0hFSUdIVCIsIlBBTkVMX01JTl9IRUlHSFQiLCJ1c2VTZWxlY3RTaGVsbCIsIm9wdGlvbnMiLCJvcGVuIiwiX29wdGlvbnMkZGVmYXVsdE9wZW4iLCJkZWZhdWx0T3BlbiIsIm9uT3BlbkNoYW5nZSIsIl9vcHRpb25zJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfb3B0aW9ucyRwbGFjZW1lbnQiLCJwbGFjZW1lbnQiLCJwYW5lbFdpZHRoIiwiX29wdGlvbnMkbGlzdE1heEhlaWdoIiwibGlzdE1heEhlaWdodCIsImFuaW1hdGlvbiIsIl9vcHRpb25zJHJvbGUiLCJyb2xlIiwicm9sZVR5cGUiLCJfb3B0aW9ucyRvZmZzZXQiLCJvZmZzZXRQcm9wIiwib2Zmc2V0SXNPYmplY3QiLCJfdHlwZW9mIiwib2Zmc2V0TWFpbkF4aXMiLCJtYWluQXhpcyIsIm9mZnNldENyb3NzQXhpcyIsImNyb3NzQXhpcyIsInVuZGVmaW5lZCIsIm9mZnNldEFsaWdubWVudEF4aXMiLCJhbGlnbm1lbnRBeGlzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc09wZW4iLCJzZXRPcGVuU3RhdGUiLCJzZXRPcGVuIiwibmV4dE9wZW4iLCJfdXNlRmxvYXRpbmciLCJ3aGlsZUVsZW1lbnRzTW91bnRlZCIsInRyYW5zZm9ybSIsIm1pZGRsZXdhcmUiLCJwYWRkaW5nIiwiYXBwbHkiLCJfcmVmIiwicmVjdHMiLCJlbGVtZW50cyIsImF2YWlsYWJsZUhlaWdodCIsIm5leHRNYXhIZWlnaHQiLCJNYXRoIiwibWF4IiwibWluIiwicmVzb2x2ZWRXaWR0aCIsImNvbmNhdCIsInJlZmVyZW5jZSIsIndpZHRoIiwiT2JqZWN0IiwiYXNzaWduIiwiZmxvYXRpbmciLCJzdHlsZSIsIm1heEhlaWdodCIsInJlZnMiLCJmbG9hdGluZ1N0eWxlcyIsImNvbnRleHQiLCJyZXNvbHZlZFBsYWNlbWVudCIsInVwZGF0ZSIsInJlc29sdmVkQW5pbWF0aW9uIiwia2luZCIsIl91c2VGbG9hdGluZ0FuaW1hdGlvbiIsImlzTW91bnRlZCIsInRyYW5zaXRpb25TdHlsZXMiLCJzdHlsZXMiLCJjbGljayIsImVuYWJsZWQiLCJkaXNtaXNzIiwib3V0c2lkZVByZXNzRXZlbnQiLCJiYXNlSW50ZXJhY3Rpb25zIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQ0VBLFVBQVUsRUFDVkMsSUFBSSxFQUNKQyxNQUFNLEVBQ05DLEtBQUssRUFDTEMsSUFBSSxJQUFJQyxZQUFZLEVBQ3BCQyxRQUFRLEVBQ1JDLFVBQVUsRUFDVkMsV0FBVyxFQUNYQyxPQUFPLFFBQ0Ysb0JBQW9CO0FBQzNCLFNBQVNDLFNBQVMsRUFBRUMsT0FBTyxRQUFRLE9BQU87QUFDMUMsU0FBU0Msa0JBQWtCLEVBQUVDLGdCQUFnQixRQUFRLGVBQWU7QUFDcEUsU0FBU0Msb0JBQW9CLFFBQVEsa0NBQWtDO0FBeUN2RSxJQUFNQyxpQkFBaUIsR0FBYyxjQUFjO0FBQ25ELElBQU1DLHVCQUF1QixHQUFHLEdBQUc7QUFDbkMsSUFBTUMsZ0JBQWdCLEdBQUcsR0FBRztBQUU1QixPQUFNLFNBQVVDLGNBQWNBLENBQzVCQyxPQUE4QixFQUFBO0VBRTlCLElBQ0VDLElBQUksR0FVRkQsT0FBTyxDQVZUQyxJQUFJ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WjtFQUNELElBQUFvRCxxQkFBQSxHQUFnRHJFLG9CQUFvQixDQUNsRWdFLE9BQU8sRUFDUEMsaUJBQWlCLEVBQ2pCRSxpQkFBaUIsQ0FDbEI7SUFKT0csU0FBUyxHQUFBRCxxQkFBQSxDQUFUQyxTQUFTO0lBQVVDLGdCQUFnQixHQUFBRixxQkFBQSxDQUF4QkcsTUFBTTtFQU16QixJQUFNQyxLQUFLLEdBQUdqRixRQUFRLENBQUN3RSxPQUFPLEVBQUU7SUFBRVUsT0FBTyxFQUFFLENBQUMvRDtFQUFRLENBQUUsQ0FBQztFQUN2RCxJQUFNZ0UsT0FBTyxHQUFHbEYsVUFBVSxDQUFDdUUsT0FBTyxFQUFFO0lBQ2xDVSxPQUFPLEVBQUUsQ0FBQy9ELFFBQVE7SUFDbEJpRSxpQkFBaUIsRUFBRTtFQ3hGbkIsQ0R5RkQsQ0FBQztFQUNGLElBQU16RCxJQUFJLEdBQUd4QixPQUFPLENBQUNxRSxPQUFPLEVBQUU7SUFBRTdDLElBQUksRUFBRUM7RUFBUSxDQUFFLENBQUM7RUFFakQsSUFBTXlELGdCQUFnQixHQUFtQixDQUFDSixLQUFLLEVBQUVFLE9BQU8sRUFBRXhELElBQUksQ0FBQztFQUUvRCxPQUFPO0lBQ0xnQixNQUFNLEVBQU5BLE1BQU07SUFDTkUsT0FBTyxFQUFQQSxPQUFPO0lBQ1B5QixJQUFJLEVBQUpBLElBQUk7SUFDSkUsT0FBTyxFQUFQQSxPQUFPO0lBQ1BuRCxTQUFTLEVBQUVvRCxpQkFBaUI7SUFDNUJGLGNBQWMsRUFBZEEsY0FBYztJQUNkUSxnQkFBZ0IsRUFBaEJBLGdCQUFnQjtJQUNoQkQsU0FBUyxFQUFUQSxTQUFTO0lBQ1RPLGdCQUFnQixFQUFoQkE7RUMxRkEsQ0QyRkQ7QUFDSDtBQUVBLGVBQWV6RSxjQUFjIiwiZmlsZSI6ImNvbXBvbmVudHMvU2VsZWN0L3VzZVNlbGVjdFNoZWxsLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyBhdXRvVXBkYXRlLCBmbGlwLCBvZmZzZXQsIHNoaWZ0LCBzaXplIGFzIGZsb2F0aW5nU2l6ZSwgdXNlQ2xpY2ssIHVzZURpc21pc3MsIHVzZUZsb2F0aW5nLCB1c2VSb2xlLCB9IGZyb20gJ0BmbG9hdGluZy11aS9yZWFjdCc7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VDb250cm9sbGVkU3RhdGUsIHVzZUV2ZW50Q2FsbGJhY2sgfSBmcm9tICdAMW1vbmV5L2hvb2tzJztcbmltcG9ydCB7IHVzZUZsb2F0aW5nQW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlRmxvYXRpbmdBbmltYXRpb24nO1xuY29uc3QgREVGQVVMVF9QTEFDRU1FTlQgPSAnYm90dG9tLXN0YXJ0JztcbmNvbnN0IERFRkFVTFRfTElTVF9NQVhfSEVJR0hUID0gMzIwO1xuY29uc3QgUEFORUxfTUlOX0hFSUdIVCA9IDEyMDtcbmV4cG9ydCBmdW5jdGlvbiB1c2VTZWxlY3RTaGVsbChvcHRpb25zKSB7XG4gICAgY29uc3QgeyBvcGVuLCBkZWZhdWx0T3BlbiA9IGZhbHNlLCBvbk9wZW5DaGFuZ2UsIGRpc2FibGVkID0gZmFsc2UsIHBsYWNlbWVudCA9IERFRkFVTFRfUExBQ0VNRU5ULCBwYW5lbFdpZHRoLCBsaXN0TWF4SGVpZ2h0ID0gREVGQVVMVF9MSVNUX01BWF9IRUlHSFQsIGFuaW1hdGlvbiwgcm9sZTogcm9sZVR5cGUgPSAnc2VsZWN0Jywgb2Zmc2V0OiBvZmZzZXRQcm9wID0gMCwgfSA9IG9wdGlvbnM7XG4gICAgY29uc3Qgb2Zmc2V0SXNPYmplY3QgPSB0eXBlb2Ygb2Zmc2V0UHJvcCA9PT0gJ29iamVjdCcgJiYgb2Zmc2V0UHJvcCAhPT0gbnVsbDtcbiAgICBjb25zdCBvZmZzZXRNYWluQXhpcyA9IG9mZnNldElzT2JqZWN0ID8gb2Zmc2V0UHJvcC5tYWluQXhpcyA6IG9mZnNldFByb3A7XG4gICAgY29uc3Qgb2Zmc2V0Q3Jvc3NBeGlzID0gb2Zmc2V0SXNPYmplY3QgPyBvZmZzZXRQcm9wLmNyb3NzQXhpcyA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBvZmZzZXRBbGlnbm1lbnRBeGlzID0gb2Zmc2V0SXNPYmplY3QgPyBvZmZzZXRQcm9wLmFsaWdubWVudEF4aXMgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgW2lzT3Blbiwgc2V0T3BlblN0YXRlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0T3Blbiwgb3Blbik7XG4gICAgY29uc3Qgc2V0T3BlbiA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHRPcGVuKSA9PiB7XG4gICAgICAgIHNldE9wZW5TdGF0ZShuZXh0T3Blbik7XG4gICAgICAgIG9uT3BlbkNoYW5nZSA9PT0gbnVsbCB8fCBvbk9wZW5DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uT3BlbkNoYW5nZShuZXh0T3Blbik7XG4gICAgfSk7XG4gICAgY29uc3QgeyByZWZzLCBmbG9hdGluZ1N0eWxlcywgY29udGV4dCwgcGxhY2VtZW50OiByZXNvbHZlZFBsYWNlbWVudCwgdXBkYXRlLCB9ID0gdXNlRmxvYXRpbmcoe1xuICAgICAgICBvcGVuOiBpc09wZW4sXG4gICAgICAgIG9uT3BlbkNoYW5nZTogc2V0T3BlbixcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICB3aGlsZUVsZW1lbnRzTW91bnRlZDogYXV0b1VwZGF0ZSxcbiAgICAgICAgdHJhbnNmb3JtOiBmYWxzZSxcbiAgICAgICAgbWlkZGxld2FyZTogW1xuICAgICAgICAgICAgb2Zmc2V0KHtcbiAgICAgICAgICAgICAgICBtYWluQXhpczogb2Zmc2V0TWFpbkF4aXMsXG4gICAgICAgICAgICAgICAgY3Jvc3NBeGlzOiBvZmZzZXRDcm9zc0F4aXMsXG4gICAgICAgICAgICAgICAgYWxpZ25tZW50QXhpczogb2Zmc2V0QWxpZ25tZW50QXhpcyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZmxpcCh7IHBhZGRpbmc6IDggfSksXG4gICAgICAgICAgICBzaGlmdCh7IHBhZGRpbmc6IDggfSksXG4gICAgICAgICAgICBmbG9hdGluZ1NpemUoe1xuICAgICAgICAgICAgICAgIGFwcGx5KHsgcmVjdHMsIGVsZW1lbnRzLCBhdmFpbGFibGVIZWlnaHQgfSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXh0TWF4SGVpZ2h0ID0gTWF0aC5tYXgoUEFORUxfTUlOX0hFSUdIVCwgTWF0aC5taW4obGlzdE1heEhlaWdodCwgYXZhaWxhYmxlSGVpZ2h0KSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc29sdmVkV2lkdGggPSBwYW5lbFdpZHRoID09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgID8gYCR7cmVjdHMucmVmZXJlbmNlLndpZHRofXB4YFxuICAgICAgICAgICAgICAgICAgICAgICAgOiB0eXBlb2YgcGFuZWxXaWR0aCA9PT0gJ251bWJlcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGAke3BhbmVsV2lkdGh9cHhgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBwYW5lbFdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGVsZW1lbnRzLmZsb2F0aW5nLnN0eWxlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVzb2x2ZWRXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogYCR7bmV4dE1heEhlaWdodH1weGAsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICB9KTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoaXNPcGVuKSB7XG4gICAgICAgICAgICB1cGRhdGUoKTtcbiAgICAgICAgfVxuICAgIH0sIFtwYW5lbFdpZHRoLCBsaXN0TWF4SGVpZ2h0LCBpc09wZW4sIHVwZGF0ZV0pO1xuICAgIGNvbnN0IHJlc29sdmVkQW5pbWF0aW9uID0gdXNlTWVtbygoKSA9PiBhbmltYXRpb24gPT09IGZhbHNlXG4gICAgICAgID8gZmFsc2VcbiAgICAgICAgOiBPYmplY3QuYXNzaWduKHsga2luZDogJ2hlaWdodCcgfSwgKGFuaW1hdGlvbiAhPT0gbnVsbCAmJiBhbmltYXRpb24gIT09IHZvaWQgMCA/IGFuaW1hdGlvbiA6IHt9KSksIFthbmltYXRpb25dKTtcbiAgICBjb25zdCB7IGlzTW91bnRlZCwgc3R5bGVzOiB0cmFuc2l0aW9uU3R5bGVzIH0gPSB1c2VGbG9hdGluZ0FuaW1hdGlvbihjb250ZXh0LCByZXNvbHZlZFBsYWNlbWVudCwgcmVzb2x2ZWRBbmltYXRpb24pO1xuICAgIGNvbnN0IGNsaWNrID0gdXNlQ2xpY2soY29udGV4dCwgeyBlbmFibGVkOiAhZGlzYWJsZWQgfSk7XG4gICAgY29uc3QgZGlzbWlzcyA9IHVzZURpc21pc3MoY29udGV4dCwge1xuICAgICAgICBlbmFibGVkOiAhZGlzYWJsZWQsXG4gICAgICAgIG91dHNpZGVQcmVzc0V2ZW50OiAnbW91c2Vkb3duJyxcbiAgICB9KTtcbiAgICBjb25zdCByb2xlID0gdXNlUm9sZShjb250ZXh0LCB7IHJvbGU6IHJvbGVUeXBlIH0pO1xuICAgIGNvbnN0IGJhc2VJbnRlcmFjdGlvbnMgPSBbY2xpY2ssIGRpc21pc3MsIHJvbGVdO1xuICAgIHJldHVybiB7XG4gICAgICAgIGlzT3BlbixcbiAgICAgICAgc2V0T3BlbixcbiAgICAgICAgcmVmcyxcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgcGxhY2VtZW50OiByZXNvbHZlZFBsYWNlbWVudCxcbiAgICAgICAgZmxvYXRpbmdTdHlsZXMsXG4gICAgICAgIHRyYW5zaXRpb25TdHlsZXMsXG4gICAgICAgIGlzTW91bnRlZCxcbiAgICAgICAgYmFzZUludGVyYWN0aW9ucyxcbiAgICB9O1xufVxuZXhwb3J0IGRlZmF1bHQgdXNlU2VsZWN0U2hlbGw7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|