@payloadcms/ui 3.0.0-alpha.34 → 3.0.0-alpha.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +3 -2
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +12 -9
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +3 -2
- package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +3 -2
- package/dist/elements/Drawer/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.js +4 -2
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +3 -2
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +8 -7
- package/dist/elements/EditUpload/index.d.ts.map +1 -1
- package/dist/elements/EditUpload/index.js +3 -2
- package/dist/elements/GenerateConfirmation/index.d.ts.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +3 -2
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +3 -2
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +3 -2
- package/dist/elements/ListDrawer/index.d.ts.map +1 -1
- package/dist/elements/ListDrawer/index.js +3 -2
- package/dist/elements/Localizer/index.d.ts.map +1 -1
- package/dist/elements/Localizer/index.js +8 -14
- package/dist/elements/Nav/NavToggler/index.d.ts.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +3 -2
- package/dist/elements/Nav/context.d.ts.map +1 -1
- package/dist/elements/Nav/context.js +3 -2
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +3 -2
- package/dist/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/elements/PublishMany/index.js +9 -9
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +3 -2
- package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +3 -2
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js +8 -8
- package/dist/exports/elements.d.ts +10 -4
- package/dist/exports/elements.d.ts.map +1 -1
- package/dist/exports/elements.js +9 -5
- package/dist/exports/forms.d.ts +7 -7
- package/dist/exports/forms.d.ts.map +1 -1
- package/dist/exports/forms.js +8 -8
- package/dist/exports/hooks.d.ts +4 -2
- package/dist/exports/hooks.d.ts.map +1 -1
- package/dist/exports/hooks.js +11 -3
- package/dist/forms/Form/getDataByPath.d.ts.map +1 -1
- package/dist/forms/Form/getDataByPath.js +3 -2
- package/dist/forms/Form/getSiblingData.d.ts.map +1 -1
- package/dist/forms/Form/getSiblingData.js +3 -2
- package/dist/forms/Form/reduceFieldsToValues.js +3 -2
- package/dist/forms/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
- package/dist/forms/fields/Blocks/BlocksDrawer/index.js +3 -2
- package/dist/forms/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/forms/fields/Blocks/RowActions.js +3 -2
- package/dist/hooks/useHotkey.d.ts.map +1 -1
- package/dist/hooks/useHotkey.js +3 -2
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +5 -5
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +38 -47
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +14 -4
- package/dist/providers/SearchParams/index.d.ts.map +1 -1
- package/dist/providers/SearchParams/index.js +26 -35
- package/dist/providers/SearchParams/types.d.ts +4 -17
- package/dist/providers/SearchParams/types.d.ts.map +1 -1
- package/dist/providers/SearchParams/types.js +1 -1
- package/dist/utilities/buildComponentMap/index.js +5 -5
- package/dist/utilities/formatDate/index.js +2 -2
- package/package.json +4 -4
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import
|
|
2
|
+
import * as facelessUIImport from '@faceless-ui/modal';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { ArrayAction } from '../../../elements/ArrayAction/index.js';
|
|
5
5
|
import { useDrawerSlug } from '../../../elements/Drawer/useDrawerSlug.js';
|
|
6
6
|
import { BlocksDrawer } from './BlocksDrawer/index.js';
|
|
7
7
|
export const RowActions = (props)=>{
|
|
8
8
|
const { addRow, blockType, blocks, duplicateRow, hasMaxRows, labels, moveRow, removeRow, rowCount, rowIndex } = props;
|
|
9
|
+
const { useModal } = facelessUIImport;
|
|
9
10
|
const { closeModal, openModal } = useModal();
|
|
10
11
|
const drawerSlug = useDrawerSlug('blocks-drawer');
|
|
11
12
|
const [indexToAdd, setIndexToAdd] = React.useState(null);
|
|
@@ -34,4 +35,4 @@ export const RowActions = (props)=>{
|
|
|
34
35
|
}));
|
|
35
36
|
};
|
|
36
37
|
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3Jtcy9maWVsZHMvQmxvY2tzL1Jvd0FjdGlvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IHR5cGUgeyBMYWJlbHMgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgKiBhcyBmYWNlbGVzc1VJSW1wb3J0IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBGaWVsZE1hcCwgUmVkdWNlZEJsb2NrIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2J1aWxkQ29tcG9uZW50TWFwL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBBcnJheUFjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2VsZW1lbnRzL0FycmF5QWN0aW9uL2luZGV4LmpzJ1xuaW1wb3J0IHsgdXNlRHJhd2VyU2x1ZyB9IGZyb20gJy4uLy4uLy4uL2VsZW1lbnRzL0RyYXdlci91c2VEcmF3ZXJTbHVnLmpzJ1xuaW1wb3J0IHsgQmxvY2tzRHJhd2VyIH0gZnJvbSAnLi9CbG9ja3NEcmF3ZXIvaW5kZXguanMnXG5cbmV4cG9ydCBjb25zdCBSb3dBY3Rpb25zOiBSZWFjdC5GQzx7XG4gIGFkZFJvdzogKHJvd0luZGV4OiBudW1iZXIsIGJsb2NrVHlwZTogc3RyaW5nKSA9PiB2b2lkXG4gIGJsb2NrVHlwZTogc3RyaW5nXG4gIGJsb2NrczogUmVkdWNlZEJsb2NrW11cbiAgZHVwbGljYXRlUm93OiAocm93SW5kZXg6IG51bWJlciwgYmxvY2tUeXBlOiBzdHJpbmcpID0+IHZvaWRcbiAgZmllbGRNYXA6IEZpZWxkTWFwXG4gIGhhc01heFJvd3M/OiBib29sZWFuXG4gIGxhYmVsczogTGFiZWxzXG4gIG1vdmVSb3c6IChmcm9tSW5kZXg6IG51bWJlciwgdG9JbmRleDogbnVtYmVyKSA9PiB2b2lkXG4gIHJlbW92ZVJvdzogKHJvd0luZGV4OiBudW1iZXIpID0+IHZvaWRcbiAgcm93Q291bnQ6IG51bWJlclxuICByb3dJbmRleDogbnVtYmVyXG59PiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgYWRkUm93LFxuICAgIGJsb2NrVHlwZSxcbiAgICBibG9ja3MsXG4gICAgZHVwbGljYXRlUm93LFxuICAgIGhhc01heFJvd3MsXG4gICAgbGFiZWxzLFxuICAgIG1vdmVSb3csXG4gICAgcmVtb3ZlUm93LFxuICAgIHJvd0NvdW50LFxuICAgIHJvd0luZGV4LFxuICB9ID0gcHJvcHNcbiAgY29uc3QgeyB1c2VNb2RhbCB9ID0gZmFjZWxlc3NVSUltcG9ydFxuXG4gIGNvbnN0IHsgY2xvc2VNb2RhbCwgb3Blbk1vZGFsIH0gPSB1c2VNb2RhbCgpXG4gIGNvbnN0IGRyYXdlclNsdWcgPSB1c2VEcmF3ZXJTbHVnKCdibG9ja3MtZHJhd2VyJylcblxuICBjb25zdCBbaW5kZXhUb0FkZCwgc2V0SW5kZXhUb0FkZF0gPSBSZWFjdC51c2VTdGF0ZTxudWxsIHwgbnVtYmVyPihudWxsKVxuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPEJsb2Nrc0RyYXdlclxuICAgICAgICBhZGRSb3c9eyhfLCByb3dCbG9ja1R5cGUpID0+IHtcbiAgICAgICAgICBpZiAodHlwZW9mIGFkZFJvdyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgYWRkUm93KGluZGV4VG9BZGQsIHJvd0Jsb2NrVHlwZSlcbiAgICAgICAgICB9XG4gICAgICAgICAgY2xvc2VNb2RhbChkcmF3ZXJTbHVnKVxuICAgICAgICB9fVxuICAgICAgICBhZGRSb3dJbmRleD17cm93SW5kZXh9XG4gICAgICAgIGJsb2Nrcz17YmxvY2tzfVxuICAgICAgICBkcmF3ZXJTbHVnPXtkcmF3ZXJTbHVnfVxuICAgICAgICBsYWJlbHM9e2xhYmVsc31cbiAgICAgIC8+XG4gICAgICA8QXJyYXlBY3Rpb25cbiAgICAgICAgYWRkUm93PXsoaW5kZXgpID0+IHtcbiAgICAgICAgICBzZXRJbmRleFRvQWRkKGluZGV4KVxuICAgICAgICAgIG9wZW5Nb2RhbChkcmF3ZXJTbHVnKVxuICAgICAgICB9fVxuICAgICAgICBkdXBsaWNhdGVSb3c9eygpID0+IGR1cGxpY2F0ZVJvdyhyb3dJbmRleCwgYmxvY2tUeXBlKX1cbiAgICAgICAgaGFzTWF4Um93cz17aGFzTWF4Um93c31cbiAgICAgICAgaW5kZXg9e3Jvd0luZGV4fVxuICAgICAgICBtb3ZlUm93PXttb3ZlUm93fVxuICAgICAgICByZW1vdmVSb3c9e3JlbW92ZVJvd31cbiAgICAgICAgcm93Q291bnQ9e3Jvd0NvdW50fVxuICAgICAgLz5cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApXG59XG4iXSwibmFtZXMiOlsiZmFjZWxlc3NVSUltcG9ydCIsIlJlYWN0IiwiQXJyYXlBY3Rpb24iLCJ1c2VEcmF3ZXJTbHVnIiwiQmxvY2tzRHJhd2VyIiwiUm93QWN0aW9ucyIsInByb3BzIiwiYWRkUm93IiwiYmxvY2tUeXBlIiwiYmxvY2tzIiwiZHVwbGljYXRlUm93IiwiaGFzTWF4Um93cyIsImxhYmVscyIsIm1vdmVSb3ciLCJyZW1vdmVSb3ciLCJyb3dDb3VudCIsInJvd0luZGV4IiwidXNlTW9kYWwiLCJjbG9zZU1vZGFsIiwib3Blbk1vZGFsIiwiZHJhd2VyU2x1ZyIsImluZGV4VG9BZGQiLCJzZXRJbmRleFRvQWRkIiwidXNlU3RhdGUiLCJGcmFnbWVudCIsIl8iLCJyb3dCbG9ja1R5cGUiLCJhZGRSb3dJbmRleCIsImluZGV4Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUdBLFlBQVlBLHNCQUFzQixxQkFBb0I7QUFDdEQsT0FBT0MsV0FBVyxRQUFPO0FBSXpCLFNBQVNDLFdBQVcsUUFBUSx5Q0FBd0M7QUFDcEUsU0FBU0MsYUFBYSxRQUFRLDRDQUEyQztBQUN6RSxTQUFTQyxZQUFZLFFBQVEsMEJBQXlCO0FBRXRELE9BQU8sTUFBTUMsYUFZUixDQUFDQztJQUNKLE1BQU0sRUFDSkMsTUFBTSxFQUNOQyxTQUFTLEVBQ1RDLE1BQU0sRUFDTkMsWUFBWSxFQUNaQyxVQUFVLEVBQ1ZDLE1BQU0sRUFDTkMsT0FBTyxFQUNQQyxTQUFTLEVBQ1RDLFFBQVEsRUFDUkMsUUFBUSxFQUNULEdBQUdWO0lBQ0osTUFBTSxFQUFFVyxRQUFRLEVBQUUsR0FBR2pCO0lBRXJCLE1BQU0sRUFBRWtCLFVBQVUsRUFBRUMsU0FBUyxFQUFFLEdBQUdGO0lBQ2xDLE1BQU1HLGFBQWFqQixjQUFjO0lBRWpDLE1BQU0sQ0FBQ2tCLFlBQVlDLGNBQWMsR0FBR3JCLE1BQU1zQixRQUFRLENBQWdCO0lBRWxFLHFCQUNFLG9CQUFDdEIsTUFBTXVCLFFBQVEsc0JBQ2Isb0JBQUNwQjtRQUNDRyxRQUFRLENBQUNrQixHQUFHQztZQUNWLElBQUksT0FBT25CLFdBQVcsWUFBWTtnQkFDaENBLE9BQU9jLFlBQVlLO1lBQ3JCO1lBQ0FSLFdBQVdFO1FBQ2I7UUFDQU8sYUFBYVg7UUFDYlAsUUFBUUE7UUFDUlcsWUFBWUE7UUFDWlIsUUFBUUE7c0JBRVYsb0JBQUNWO1FBQ0NLLFFBQVEsQ0FBQ3FCO1lBQ1BOLGNBQWNNO1lBQ2RULFVBQVVDO1FBQ1o7UUFDQVYsY0FBYyxJQUFNQSxhQUFhTSxVQUFVUjtRQUMzQ0csWUFBWUE7UUFDWmlCLE9BQU9aO1FBQ1BILFNBQVNBO1FBQ1RDLFdBQVdBO1FBQ1hDLFVBQVVBOztBQUlsQixFQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHotkey.d.ts","sourceRoot":"","sources":["../../src/hooks/useHotkey.tsx"],"names":[],"mappings":"AA6DA;;;;;;GAMG;AACH,QAAA,MAAM,SAAS,YACJ;IACP,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,YACS,aAAa,KAAK,IAAI,KAC/B,
|
|
1
|
+
{"version":3,"file":"useHotkey.d.ts","sourceRoot":"","sources":["../../src/hooks/useHotkey.tsx"],"names":[],"mappings":"AA6DA;;;;;;GAMG;AACH,QAAA,MAAM,SAAS,YACJ;IACP,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,YACS,aAAa,KAAK,IAAI,KAC/B,IAiEF,CAAA;AAED,eAAe,SAAS,CAAA"}
|
package/dist/hooks/useHotkey.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
/* eslint-disable no-shadow */ import
|
|
2
|
+
/* eslint-disable no-shadow */ import * as facelessUIImport from '@faceless-ui/modal';
|
|
3
3
|
import { setsAreEqual } from 'payload/utilities';
|
|
4
4
|
import { useCallback, useEffect } from 'react';
|
|
5
5
|
// Required to be outside of hook, else debounce would be necessary
|
|
@@ -53,6 +53,7 @@ const removeFromKeys = (code)=>{
|
|
|
53
53
|
* @param param0.editDepth {boolean} This ensures that the hotkey is only triggered for the most top-level drawer in case there are nested drawers
|
|
54
54
|
* @param func The callback function
|
|
55
55
|
*/ const useHotkey = (options, func)=>{
|
|
56
|
+
const { useModal } = facelessUIImport;
|
|
56
57
|
const { cmdCtrlKey, editDepth, keyCodes } = options;
|
|
57
58
|
const { modalState } = useModal();
|
|
58
59
|
const keydown = useCallback((event)=>{
|
|
@@ -116,4 +117,4 @@ const removeFromKeys = (code)=>{
|
|
|
116
117
|
};
|
|
117
118
|
export default useHotkey;
|
|
118
119
|
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VIb3RrZXkudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuLyogZXNsaW50LWRpc2FibGUgbm8tc2hhZG93ICovXG5pbXBvcnQgeyB1c2VNb2RhbCB9IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCB7IHNldHNBcmVFcXVhbCB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuXG4vLyBSZXF1aXJlZCB0byBiZSBvdXRzaWRlIG9mIGhvb2ssIGVsc2UgZGVib3VuY2Ugd291bGQgYmUgbmVjZXNzYXJ5XG4vLyBhbmQgdGhlbiBvbmUgY291bGQgbm90IHByZXZlbnQgdGhlIGRlZmF1bHQgYmVoYXZpb3VyLlxuXG4vLyBJdCBtYXBzIHRoZSBwcmVzc2VkIGtleXMgd2l0aCB0aGUgdGltZSB0aGV5IHdlcmUgcHJlc3NlZCwgaW4gb3JkZXIgdG8gaW1wbGVtZW50IGEgbWF4aW11bSB0aW1lXG4vLyBmb3IgdGhlIHVzZXIgdG8gcHJlc3MgdGhlIG5leHQga2V5IGluIHRoZSBzZXF1ZW5jZVxuXG4vLyBUaGlzIGlzIG5lY2Vzc2FyeSB0byBwcmV2ZW50IGEgYnVnIHdoZXJlIHRoZSBrZXl1cCBldmVudCwgd2hpY2ggdW5zZXRzIHRoZSBrZXkgYXMgcHJlc3NlZFxuLy8gaXMgbm90IGZpcmVkIHdoZW4gdGhlIHdpbmRvdyBpcyBub3QgZm9jdXNlZC5cbi8vIFdoZW4gdGhlIHVzZXIgdGhlbiBjb21lcyBiYWNrIHRvIHRoZSB3aW5kb3csIHRoZSBrZXkgaXMgc3RpbGwgcmVnaXN0ZXJlZCBhcyBwcmVzc2VkLCBldmVuIHRob3VnaCBpdCdzIG5vdC5cbmNvbnN0IHByZXNzZWRLZXlzID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oW10pXG5cbmNvbnN0IG1hcCA9IHtcbiAgYWx0bGVmdDogJ2FsdCcsXG4gIGFsdHJpZ2h0OiAnYWx0JyxcbiAgY29udHJvbGxlZnQ6ICdjdHJsJyxcbiAgY29udHJvbHJpZ2h0OiAnY3RybCcsXG4gIGN0cmxsZWZ0OiAnY3RybCcsXG4gIGN0cmxyaWdodDogJ2N0cmwnLFxuICBlc2NhcGU6ICdlc2MnLFxuICBtZXRhbGVmdDogJ21ldGEnLFxuICBtZXRhcmlnaHQ6ICdtZXRhJyxcbiAgb3NsZWZ0OiAnbWV0YScsXG4gIG9zcmlnaHQ6ICdtZXRhJyxcbiAgc2hpZnRsZWZ0OiAnc2hpZnQnLFxuICBzaGlmdHJpZ2h0OiAnc2hpZnQnLFxufVxuXG5jb25zdCBzdHJpcEtleSA9IChrZXk6IHN0cmluZykgPT4ge1xuICByZXR1cm4gKG1hcFtrZXkudG9Mb3dlckNhc2UoKV0gfHwga2V5KS50cmltKCkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCdrZXknLCAnJylcbn1cblxuY29uc3QgcHVzaFRvS2V5cyA9IChjb2RlOiBzdHJpbmcpID0+IHtcbiAgY29uc3Qga2V5ID0gc3RyaXBLZXkoY29kZSlcblxuICAvLyBUaGVyZSBpcyBhIHdlaXJkIGJ1ZyB3aXRoIG1hY29zIHRoYXQgaWYgdGhlIGtleXMgYXJlIG5vdCBjbGVhcmVkIHRoZXkgcmVtYWluIGluIHRoZVxuICAvLyBwcmVzc2VkIGtleXMgc2V0LlxuICBpZiAoa2V5ID09PSAnbWV0YScpIHtcbiAgICBwcmVzc2VkS2V5cy5mb3JFYWNoKFxuICAgICAgKHRpbWUsIHByZXNzZWRLZXkpID0+IHByZXNzZWRLZXkgIT09ICdtZXRhJyAmJiBwcmVzc2VkS2V5cy5kZWxldGUocHJlc3NlZEtleSksXG4gICAgKVxuICB9XG5cbiAgcHJlc3NlZEtleXMuc2V0KGtleSwgRGF0ZS5ub3coKSlcbn1cblxuY29uc3QgcmVtb3ZlRnJvbUtleXMgPSAoY29kZTogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IGtleSA9IHN0cmlwS2V5KGNvZGUpXG4gIC8vIFRoZXJlIGlzIGEgd2VpcmQgYnVnIHdpdGggbWFjb3MgdGhhdCBpZiB0aGUga2V5cyBhcmUgbm90IGNsZWFyZWQgdGhleSByZW1haW4gaW4gdGhlXG4gIC8vIHByZXNzZWQga2V5cyBzZXQuXG4gIGlmIChrZXkgPT09ICdtZXRhJykge1xuICAgIHByZXNzZWRLZXlzLmNsZWFyKClcbiAgfVxuICBwcmVzc2VkS2V5cy5kZWxldGUoa2V5KVxufVxuXG4vKipcbiAqIEhvb2sgZnVuY3Rpb24gdG8gd29yayB3aXRoIGhvdGtleXMuXG4gKiBAcGFyYW0gcGFyYW0wLmtleUNvZGUge3N0cmluZ1tdfSBUaGUga2V5cyB0byBsaXN0ZW4gZm9yIChgRXZlbnQuY29kZWAgd2l0aG91dCBgJ0tleSdgIGFuZCBsb3dlcmNhc2VkKVxuICogQHBhcmFtIHBhcmFtMC5jbWRDdHJsS2V5IHtib29sZWFufSBXaGV0aGVyIEN0cmwgb24gd2luZG93cyBvciBDbWQgb24gbWFjIG11c3QgYmUgcHJlc3NlZFxuICogQHBhcmFtIHBhcmFtMC5lZGl0RGVwdGgge2Jvb2xlYW59IFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBob3RrZXkgaXMgb25seSB0cmlnZ2VyZWQgZm9yIHRoZSBtb3N0IHRvcC1sZXZlbCBkcmF3ZXIgaW4gY2FzZSB0aGVyZSBhcmUgbmVzdGVkIGRyYXdlcnNcbiAqIEBwYXJhbSBmdW5jIFRoZSBjYWxsYmFjayBmdW5jdGlvblxuICovXG5jb25zdCB1c2VIb3RrZXkgPSAoXG4gIG9wdGlvbnM6IHtcbiAgICBjbWRDdHJsS2V5OiBib29sZWFuXG4gICAgZWRpdERlcHRoOiBudW1iZXJcbiAgICBrZXlDb2Rlczogc3RyaW5nW11cbiAgfSxcbiAgZnVuYzogKGU6IEtleWJvYXJkRXZlbnQpID0+IHZvaWQsXG4pOiB2b2lkID0+IHtcbiAgY29uc3QgeyBjbWRDdHJsS2V5LCBlZGl0RGVwdGgsIGtleUNvZGVzIH0gPSBvcHRpb25zXG5cbiAgY29uc3QgeyBtb2RhbFN0YXRlIH0gPSB1c2VNb2RhbCgpXG5cbiAgY29uc3Qga2V5ZG93biA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogQ3VzdG9tRXZlbnQgfCBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICBjb25zdCBlOiBLZXlib2FyZEV2ZW50ID0gZXZlbnQuZGV0YWlsPy5rZXkgPyBldmVudC5kZXRhaWwgOiBldmVudFxuICAgICAgaWYgKGUua2V5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgLy8gQXV0b2ZpbGwgZXZlbnRzLCBvciBvdGhlciBzeW50aGV0aWMgZXZlbnRzLCBjYW4gYmUgaWdub3JlZFxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gRmlsdGVyIG91dCBwcmVzc2VkIGtleXMgd2hpY2ggaGF2ZSBiZWVuIHByZXNzZWQgPiAzIHNlY29uZHMgYWdvXG4gICAgICBwcmVzc2VkS2V5cy5mb3JFYWNoKCh0aW1lLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKERhdGUubm93KCkgLSB0aW1lID4gMzAwMCkge1xuICAgICAgICAgIHByZXNzZWRLZXlzLmRlbGV0ZShrZXkpXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIGlmIChlLmNvZGUpIHB1c2hUb0tleXMoZS5jb2RlKVxuXG4gICAgICAvLyBDaGVjayBmb3IgTWFjIGFuZCBpUGFkXG4gICAgICBjb25zdCBoYXNDbWQgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmNsdWRlcygnTWFjIE9TIFgnKVxuICAgICAgY29uc3QgcHJlc3NlZFdpdGhvdXRNb2RpZmllciA9IFsuLi5wcmVzc2VkS2V5cy5rZXlzKCldLmZpbHRlcihcbiAgICAgICAgKGtleSkgPT4gIVsnYWx0JywgJ2N0cmwnLCAnbWV0YScsICdzaGlmdCddLmluY2x1ZGVzKGtleSksXG4gICAgICApXG5cbiAgICAgIC8vIENoZWNrIHdoZXRoZXIgYXJyYXlzIGNvbnRhaW4gdGhlIHNhbWUgdmFsdWVzIChyZWdhcmRsZXNzIG9mIG51bWJlciBvZiBvY2N1cnJlbmNlcylcbiAgICAgIGlmIChcbiAgICAgICAgc2V0c0FyZUVxdWFsKG5ldyBTZXQocHJlc3NlZFdpdGhvdXRNb2RpZmllciksIG5ldyBTZXQoa2V5Q29kZXMpKSAmJlxuICAgICAgICAoIWNtZEN0cmxLZXkgfHwgKGhhc0NtZCAmJiBwcmVzc2VkS2V5cy5oYXMoJ21ldGEnKSkgfHwgKCFoYXNDbWQgJiYgZS5jdHJsS2V5KSlcbiAgICAgICkge1xuICAgICAgICAvLyBnZXQgdGhlIG1heGltdW0gZWRpdCBkZXB0aCBieSBjb3VudGluZyB0aGUgbnVtYmVyIG9mIG9wZW4gZHJhd2Vycy4gbW9kYWxTdGF0ZSBpcyBhbmQgb2JqZWN0IHdoaWNoIGNvbnRhaW5zIHRoZSBzdGF0ZSBvZiBhbGwgZHJhd2Vycy5cbiAgICAgICAgY29uc3QgbWF4RWRpdERlcHRoID1cbiAgICAgICAgICBPYmplY3Qua2V5cyhtb2RhbFN0YXRlKS5maWx0ZXIoKGtleSkgPT4gbW9kYWxTdGF0ZVtrZXldPy5pc09wZW4pPy5sZW5ndGggKyAxID8/IDFcblxuICAgICAgICBpZiAobWF4RWRpdERlcHRoICE9PSBlZGl0RGVwdGgpIHtcbiAgICAgICAgICAvLyBXZSBvbmx5IHdhbnQgdG8gZXhlY3V0ZSB0aGUgaG90a2V5IGZyb20gdGhlIG1vc3QgdG9wLWxldmVsIGRyYXdlciAvIGVkaXQgZGVwdGguXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgLy8gZXhlY3V0ZSB0aGUgZnVuY3Rpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBtYXhpbXVtIGVkaXQgZGVwdGhcbiAgICAgICAgZnVuYyhlKVxuICAgICAgfVxuICAgIH0sXG4gICAgW2tleUNvZGVzLCBjbWRDdHJsS2V5LCBlZGl0RGVwdGgsIG1vZGFsU3RhdGUsIGZ1bmNdLFxuICApXG5cbiAgY29uc3Qga2V5dXAgPSB1c2VDYWxsYmFjaygoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgIGlmIChlLmNvZGUpIHJlbW92ZUZyb21LZXlzKGUuY29kZSlcbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywga2V5ZG93biwgZmFsc2UpXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignYnlwYXNzS2V5RG93bicsIGtleWRvd24sIGZhbHNlKSAvLyB0aGlzIGlzIGNhbGxlZCBpZiB0aGUga2V5ZG93biBldmVudCdzIHByb3BhZ2F0aW9uIGlzIHN0b3BwZWQgYnkgcmVhY3Qtc2VsZWN0XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCBrZXl1cCwgZmFsc2UpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGtleWRvd24pXG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdieXBhc3NLZXlEb3duJywga2V5ZG93bilcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywga2V5dXApXG4gICAgfVxuICB9LCBba2V5ZG93biwga2V5dXBdKVxufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VIb3RrZXlcbiJdLCJuYW1lcyI6WyJ1c2VNb2RhbCIsInNldHNBcmVFcXVhbCIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwicHJlc3NlZEtleXMiLCJNYXAiLCJtYXAiLCJhbHRsZWZ0IiwiYWx0cmlnaHQiLCJjb250cm9sbGVmdCIsImNvbnRyb2xyaWdodCIsImN0cmxsZWZ0IiwiY3RybHJpZ2h0IiwiZXNjYXBlIiwibWV0YWxlZnQiLCJtZXRhcmlnaHQiLCJvc2xlZnQiLCJvc3JpZ2h0Iiwic2hpZnRsZWZ0Iiwic2hpZnRyaWdodCIsInN0cmlwS2V5Iiwia2V5IiwidG9Mb3dlckNhc2UiLCJ0cmltIiwicmVwbGFjZSIsInB1c2hUb0tleXMiLCJjb2RlIiwiZm9yRWFjaCIsInRpbWUiLCJwcmVzc2VkS2V5IiwiZGVsZXRlIiwic2V0IiwiRGF0ZSIsIm5vdyIsInJlbW92ZUZyb21LZXlzIiwiY2xlYXIiLCJ1c2VIb3RrZXkiLCJvcHRpb25zIiwiZnVuYyIsImNtZEN0cmxLZXkiLCJlZGl0RGVwdGgiLCJrZXlDb2RlcyIsIm1vZGFsU3RhdGUiLCJrZXlkb3duIiwiZXZlbnQiLCJlIiwiZGV0YWlsIiwidW5kZWZpbmVkIiwiaGFzQ21kIiwid2luZG93IiwibmF2aWdhdG9yIiwidXNlckFnZW50IiwiaW5jbHVkZXMiLCJwcmVzc2VkV2l0aG91dE1vZGlmaWVyIiwia2V5cyIsImZpbHRlciIsIlNldCIsImhhcyIsImN0cmxLZXkiLCJtYXhFZGl0RGVwdGgiLCJPYmplY3QiLCJpc09wZW4iLCJsZW5ndGgiLCJrZXl1cCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsNEJBQTRCLEdBQzVCLFNBQVNBLFFBQVEsUUFBUSxxQkFBb0I7QUFDN0MsU0FBU0MsWUFBWSxRQUFRLG9CQUFtQjtBQUNoRCxTQUFTQyxXQUFXLEVBQUVDLFNBQVMsUUFBUSxRQUFPO0FBRTlDLG1FQUFtRTtBQUNuRSx3REFBd0Q7QUFFeEQsaUdBQWlHO0FBQ2pHLHFEQUFxRDtBQUVyRCw0RkFBNEY7QUFDNUYsK0NBQStDO0FBQy9DLDZHQUE2RztBQUM3RyxNQUFNQyxjQUFjLElBQUlDLElBQW9CLEVBQUU7QUFFOUMsTUFBTUMsTUFBTTtJQUNWQyxTQUFTO0lBQ1RDLFVBQVU7SUFDVkMsYUFBYTtJQUNiQyxjQUFjO0lBQ2RDLFVBQVU7SUFDVkMsV0FBVztJQUNYQyxRQUFRO0lBQ1JDLFVBQVU7SUFDVkMsV0FBVztJQUNYQyxRQUFRO0lBQ1JDLFNBQVM7SUFDVEMsV0FBVztJQUNYQyxZQUFZO0FBQ2Q7QUFFQSxNQUFNQyxXQUFXLENBQUNDO0lBQ2hCLE9BQU8sQUFBQ2YsQ0FBQUEsR0FBRyxDQUFDZSxJQUFJQyxXQUFXLEdBQUcsSUFBSUQsR0FBRSxFQUFHRSxJQUFJLEdBQUdELFdBQVcsR0FBR0UsT0FBTyxDQUFDLE9BQU87QUFDN0U7QUFFQSxNQUFNQyxhQUFhLENBQUNDO0lBQ2xCLE1BQU1MLE1BQU1ELFNBQVNNO0lBRXJCLHNGQUFzRjtJQUN0RixvQkFBb0I7SUFDcEIs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
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VIb3RrZXkudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuLyogZXNsaW50LWRpc2FibGUgbm8tc2hhZG93ICovXG5pbXBvcnQgKiBhcyBmYWNlbGVzc1VJSW1wb3J0IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCB7IHNldHNBcmVFcXVhbCB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuXG4vLyBSZXF1aXJlZCB0byBiZSBvdXRzaWRlIG9mIGhvb2ssIGVsc2UgZGVib3VuY2Ugd291bGQgYmUgbmVjZXNzYXJ5XG4vLyBhbmQgdGhlbiBvbmUgY291bGQgbm90IHByZXZlbnQgdGhlIGRlZmF1bHQgYmVoYXZpb3VyLlxuXG4vLyBJdCBtYXBzIHRoZSBwcmVzc2VkIGtleXMgd2l0aCB0aGUgdGltZSB0aGV5IHdlcmUgcHJlc3NlZCwgaW4gb3JkZXIgdG8gaW1wbGVtZW50IGEgbWF4aW11bSB0aW1lXG4vLyBmb3IgdGhlIHVzZXIgdG8gcHJlc3MgdGhlIG5leHQga2V5IGluIHRoZSBzZXF1ZW5jZVxuXG4vLyBUaGlzIGlzIG5lY2Vzc2FyeSB0byBwcmV2ZW50IGEgYnVnIHdoZXJlIHRoZSBrZXl1cCBldmVudCwgd2hpY2ggdW5zZXRzIHRoZSBrZXkgYXMgcHJlc3NlZFxuLy8gaXMgbm90IGZpcmVkIHdoZW4gdGhlIHdpbmRvdyBpcyBub3QgZm9jdXNlZC5cbi8vIFdoZW4gdGhlIHVzZXIgdGhlbiBjb21lcyBiYWNrIHRvIHRoZSB3aW5kb3csIHRoZSBrZXkgaXMgc3RpbGwgcmVnaXN0ZXJlZCBhcyBwcmVzc2VkLCBldmVuIHRob3VnaCBpdCdzIG5vdC5cbmNvbnN0IHByZXNzZWRLZXlzID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oW10pXG5cbmNvbnN0IG1hcCA9IHtcbiAgYWx0bGVmdDogJ2FsdCcsXG4gIGFsdHJpZ2h0OiAnYWx0JyxcbiAgY29udHJvbGxlZnQ6ICdjdHJsJyxcbiAgY29udHJvbHJpZ2h0OiAnY3RybCcsXG4gIGN0cmxsZWZ0OiAnY3RybCcsXG4gIGN0cmxyaWdodDogJ2N0cmwnLFxuICBlc2NhcGU6ICdlc2MnLFxuICBtZXRhbGVmdDogJ21ldGEnLFxuICBtZXRhcmlnaHQ6ICdtZXRhJyxcbiAgb3NsZWZ0OiAnbWV0YScsXG4gIG9zcmlnaHQ6ICdtZXRhJyxcbiAgc2hpZnRsZWZ0OiAnc2hpZnQnLFxuICBzaGlmdHJpZ2h0OiAnc2hpZnQnLFxufVxuXG5jb25zdCBzdHJpcEtleSA9IChrZXk6IHN0cmluZykgPT4ge1xuICByZXR1cm4gKG1hcFtrZXkudG9Mb3dlckNhc2UoKV0gfHwga2V5KS50cmltKCkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCdrZXknLCAnJylcbn1cblxuY29uc3QgcHVzaFRvS2V5cyA9IChjb2RlOiBzdHJpbmcpID0+IHtcbiAgY29uc3Qga2V5ID0gc3RyaXBLZXkoY29kZSlcblxuICAvLyBUaGVyZSBpcyBhIHdlaXJkIGJ1ZyB3aXRoIG1hY29zIHRoYXQgaWYgdGhlIGtleXMgYXJlIG5vdCBjbGVhcmVkIHRoZXkgcmVtYWluIGluIHRoZVxuICAvLyBwcmVzc2VkIGtleXMgc2V0LlxuICBpZiAoa2V5ID09PSAnbWV0YScpIHtcbiAgICBwcmVzc2VkS2V5cy5mb3JFYWNoKFxuICAgICAgKHRpbWUsIHByZXNzZWRLZXkpID0+IHByZXNzZWRLZXkgIT09ICdtZXRhJyAmJiBwcmVzc2VkS2V5cy5kZWxldGUocHJlc3NlZEtleSksXG4gICAgKVxuICB9XG5cbiAgcHJlc3NlZEtleXMuc2V0KGtleSwgRGF0ZS5ub3coKSlcbn1cblxuY29uc3QgcmVtb3ZlRnJvbUtleXMgPSAoY29kZTogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IGtleSA9IHN0cmlwS2V5KGNvZGUpXG4gIC8vIFRoZXJlIGlzIGEgd2VpcmQgYnVnIHdpdGggbWFjb3MgdGhhdCBpZiB0aGUga2V5cyBhcmUgbm90IGNsZWFyZWQgdGhleSByZW1haW4gaW4gdGhlXG4gIC8vIHByZXNzZWQga2V5cyBzZXQuXG4gIGlmIChrZXkgPT09ICdtZXRhJykge1xuICAgIHByZXNzZWRLZXlzLmNsZWFyKClcbiAgfVxuICBwcmVzc2VkS2V5cy5kZWxldGUoa2V5KVxufVxuXG4vKipcbiAqIEhvb2sgZnVuY3Rpb24gdG8gd29yayB3aXRoIGhvdGtleXMuXG4gKiBAcGFyYW0gcGFyYW0wLmtleUNvZGUge3N0cmluZ1tdfSBUaGUga2V5cyB0byBsaXN0ZW4gZm9yIChgRXZlbnQuY29kZWAgd2l0aG91dCBgJ0tleSdgIGFuZCBsb3dlcmNhc2VkKVxuICogQHBhcmFtIHBhcmFtMC5jbWRDdHJsS2V5IHtib29sZWFufSBXaGV0aGVyIEN0cmwgb24gd2luZG93cyBvciBDbWQgb24gbWFjIG11c3QgYmUgcHJlc3NlZFxuICogQHBhcmFtIHBhcmFtMC5lZGl0RGVwdGgge2Jvb2xlYW59IFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBob3RrZXkgaXMgb25seSB0cmlnZ2VyZWQgZm9yIHRoZSBtb3N0IHRvcC1sZXZlbCBkcmF3ZXIgaW4gY2FzZSB0aGVyZSBhcmUgbmVzdGVkIGRyYXdlcnNcbiAqIEBwYXJhbSBmdW5jIFRoZSBjYWxsYmFjayBmdW5jdGlvblxuICovXG5jb25zdCB1c2VIb3RrZXkgPSAoXG4gIG9wdGlvbnM6IHtcbiAgICBjbWRDdHJsS2V5OiBib29sZWFuXG4gICAgZWRpdERlcHRoOiBudW1iZXJcbiAgICBrZXlDb2Rlczogc3RyaW5nW11cbiAgfSxcbiAgZnVuYzogKGU6IEtleWJvYXJkRXZlbnQpID0+IHZvaWQsXG4pOiB2b2lkID0+IHtcbiAgY29uc3QgeyB1c2VNb2RhbCB9ID0gZmFjZWxlc3NVSUltcG9ydFxuXG4gIGNvbnN0IHsgY21kQ3RybEtleSwgZWRpdERlcHRoLCBrZXlDb2RlcyB9ID0gb3B0aW9uc1xuXG4gIGNvbnN0IHsgbW9kYWxTdGF0ZSB9ID0gdXNlTW9kYWwoKVxuXG4gIGNvbnN0IGtleWRvd24gPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IEN1c3RvbUV2ZW50IHwgS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgY29uc3QgZTogS2V5Ym9hcmRFdmVudCA9IGV2ZW50LmRldGFpbD8ua2V5ID8gZXZlbnQuZGV0YWlsIDogZXZlbnRcbiAgICAgIGlmIChlLmtleSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIEF1dG9maWxsIGV2ZW50cywgb3Igb3RoZXIgc3ludGhldGljIGV2ZW50cywgY2FuIGJlIGlnbm9yZWRcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIC8vIEZpbHRlciBvdXQgcHJlc3NlZCBrZXlzIHdoaWNoIGhhdmUgYmVlbiBwcmVzc2VkID4gMyBzZWNvbmRzIGFnb1xuICAgICAgcHJlc3NlZEtleXMuZm9yRWFjaCgodGltZSwga2V5KSA9PiB7XG4gICAgICAgIGlmIChEYXRlLm5vdygpIC0gdGltZSA+IDMwMDApIHtcbiAgICAgICAgICBwcmVzc2VkS2V5cy5kZWxldGUoa2V5KVxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICBpZiAoZS5jb2RlKSBwdXNoVG9LZXlzKGUuY29kZSlcblxuICAgICAgLy8gQ2hlY2sgZm9yIE1hYyBhbmQgaVBhZFxuICAgICAgY29uc3QgaGFzQ21kID0gd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQuaW5jbHVkZXMoJ01hYyBPUyBYJylcbiAgICAgIGNvbnN0IHByZXNzZWRXaXRob3V0TW9kaWZpZXIgPSBbLi4ucHJlc3NlZEtleXMua2V5cygpXS5maWx0ZXIoXG4gICAgICAgIChrZXkpID0+ICFbJ2FsdCcsICdjdHJsJywgJ21ldGEnLCAnc2hpZnQnXS5pbmNsdWRlcyhrZXkpLFxuICAgICAgKVxuXG4gICAgICAvLyBDaGVjayB3aGV0aGVyIGFycmF5cyBjb250YWluIHRoZSBzYW1lIHZhbHVlcyAocmVnYXJkbGVzcyBvZiBudW1iZXIgb2Ygb2NjdXJyZW5jZXMpXG4gICAgICBpZiAoXG4gICAgICAgIHNldHNBcmVFcXVhbChuZXcgU2V0KHByZXNzZWRXaXRob3V0TW9kaWZpZXIpLCBuZXcgU2V0KGtleUNvZGVzKSkgJiZcbiAgICAgICAgKCFjbWRDdHJsS2V5IHx8IChoYXNDbWQgJiYgcHJlc3NlZEtleXMuaGFzKCdtZXRhJykpIHx8ICghaGFzQ21kICYmIGUuY3RybEtleSkpXG4gICAgICApIHtcbiAgICAgICAgLy8gZ2V0IHRoZSBtYXhpbXVtIGVkaXQgZGVwdGggYnkgY291bnRpbmcgdGhlIG51bWJlciBvZiBvcGVuIGRyYXdlcnMuIG1vZGFsU3RhdGUgaXMgYW5kIG9iamVjdCB3aGljaCBjb250YWlucyB0aGUgc3RhdGUgb2YgYWxsIGRyYXdlcnMuXG4gICAgICAgIGNvbnN0IG1heEVkaXREZXB0aCA9XG4gICAgICAgICAgT2JqZWN0LmtleXMobW9kYWxTdGF0ZSkuZmlsdGVyKChrZXkpID0+IG1vZGFsU3RhdGVba2V5XT8uaXNPcGVuKT8ubGVuZ3RoICsgMSA/PyAxXG5cbiAgICAgICAgaWYgKG1heEVkaXREZXB0aCAhPT0gZWRpdERlcHRoKSB7XG4gICAgICAgICAgLy8gV2Ugb25seSB3YW50IHRvIGV4ZWN1dGUgdGhlIGhvdGtleSBmcm9tIHRoZSBtb3N0IHRvcC1sZXZlbCBkcmF3ZXIgLyBlZGl0IGRlcHRoLlxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIC8vIGV4ZWN1dGUgdGhlIGZ1bmN0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgbWF4aW11bSBlZGl0IGRlcHRoXG4gICAgICAgIGZ1bmMoZSlcbiAgICAgIH1cbiAgICB9LFxuICAgIFtrZXlDb2RlcywgY21kQ3RybEtleSwgZWRpdERlcHRoLCBtb2RhbFN0YXRlLCBmdW5jXSxcbiAgKVxuXG4gIGNvbnN0IGtleXVwID0gdXNlQ2FsbGJhY2soKGU6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICBpZiAoZS5jb2RlKSByZW1vdmVGcm9tS2V5cyhlLmNvZGUpXG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGtleWRvd24sIGZhbHNlKVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2J5cGFzc0tleURvd24nLCBrZXlkb3duLCBmYWxzZSkgLy8gdGhpcyBpcyBjYWxsZWQgaWYgdGhlIGtleWRvd24gZXZlbnQncyBwcm9wYWdhdGlvbiBpcyBzdG9wcGVkIGJ5IHJlYWN0LXNlbGVjdFxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywga2V5dXAsIGZhbHNlKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBrZXlkb3duKVxuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYnlwYXNzS2V5RG93bicsIGtleWRvd24pXG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXl1cCcsIGtleXVwKVxuICAgIH1cbiAgfSwgW2tleWRvd24sIGtleXVwXSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlSG90a2V5XG4iXSwibmFtZXMiOlsiZmFjZWxlc3NVSUltcG9ydCIsInNldHNBcmVFcXVhbCIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwicHJlc3NlZEtleXMiLCJNYXAiLCJtYXAiLCJhbHRsZWZ0IiwiYWx0cmlnaHQiLCJjb250cm9sbGVmdCIsImNvbnRyb2xyaWdodCIsImN0cmxsZWZ0IiwiY3RybHJpZ2h0IiwiZXNjYXBlIiwibWV0YWxlZnQiLCJtZXRhcmlnaHQiLCJvc2xlZnQiLCJvc3JpZ2h0Iiwic2hpZnRsZWZ0Iiwic2hpZnRyaWdodCIsInN0cmlwS2V5Iiwia2V5IiwidG9Mb3dlckNhc2UiLCJ0cmltIiwicmVwbGFjZSIsInB1c2hUb0tleXMiLCJjb2RlIiwiZm9yRWFjaCIsInRpbWUiLCJwcmVzc2VkS2V5IiwiZGVsZXRlIiwic2V0IiwiRGF0ZSIsIm5vdyIsInJlbW92ZUZyb21LZXlzIiwiY2xlYXIiLCJ1c2VIb3RrZXkiLCJvcHRpb25zIiwiZnVuYyIsInVzZU1vZGFsIiwiY21kQ3RybEtleSIsImVkaXREZXB0aCIsImtleUNvZGVzIiwibW9kYWxTdGF0ZSIsImtleWRvd24iLCJldmVudCIsImUiLCJkZXRhaWwiLCJ1bmRlZmluZWQiLCJoYXNDbWQiLCJ3aW5kb3ciLCJuYXZpZ2F0b3IiLCJ1c2VyQWdlbnQiLCJpbmNsdWRlcyIsInByZXNzZWRXaXRob3V0TW9kaWZpZXIiLCJrZXlzIiwiZmlsdGVyIiwiU2V0IiwiaGFzIiwiY3RybEtleSIsIm1heEVkaXREZXB0aCIsIk9iamVjdCIsImlzT3BlbiIsImxlbmd0aCIsImtleXVwIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSw0QkFBNEIsR0FDNUIsWUFBWUEsc0JBQXNCLHFCQUFvQjtBQUN0RCxTQUFTQyxZQUFZLFFBQVEsb0JBQW1CO0FBQ2hELFNBQVNDLFdBQVcsRUFBRUMsU0FBUyxRQUFRLFFBQU87QUFFOUMsbUVBQW1FO0FBQ25FLHdEQUF3RDtBQUV4RCxpR0FBaUc7QUFDakcscURBQXFEO0FBRXJELDRGQUE0RjtBQUM1RiwrQ0FBK0M7QUFDL0MsNkdBQTZHO0FBQzdHLE1BQU1DLGNBQWMsSUFBSUMsSUFBb0IsRUFBRTtBQUU5QyxNQUFNQyxNQUFNO0lBQ1ZDLFNBQVM7SUFDVEMsVUFBVTtJQUNWQyxhQUFhO0lBQ2JDLGNBQWM7SUFDZEMsVUFBVTtJQUNWQyxXQUFXO0lBQ1hDLFFBQVE7SUFDUkMsVUFBVTtJQUNWQyxXQUFXO0lBQ1hDLFFBQVE7SUFDUkMsU0FBUztJQUNUQyxXQUFXO0lBQ1hDLFlBQVk7QUFDZDtBQUVBLE1BQU1DLFdBQVcsQ0FBQ0M7SUFDaEIsT0FBTyxBQUFDZixDQUFBQSxHQUFHLENBQUNlLElBQUlDLFdBQVcsR0FBRyxJQUFJRCxHQUFFLEVBQUdFLElBQUksR0FBR0QsV0FBVyxHQUFHRSxPQUFPLENBQUMsT0FBTztBQUM3RTtBQUVBLE1BQU1D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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Auth/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,IAAI,EAAE,MAAM,cAAc,CAAA;AAKrD,OAAO,KAAsE,MAAM,OAAO,CAAA;AAG1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAa7C,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Auth/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,IAAI,EAAE,MAAM,cAAc,CAAA;AAKrD,OAAO,KAAsE,MAAM,OAAO,CAAA;AAG1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAa7C,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAyShE,CAAA;AAED,eAAO,MAAM,OAAO,gCAAyE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import
|
|
2
|
+
import * as facelessUIImport from '@faceless-ui/modal';
|
|
3
3
|
import { usePathname, useRouter } from 'next/navigation.js';
|
|
4
4
|
import qs from 'qs';
|
|
5
5
|
import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';
|
|
@@ -13,6 +13,7 @@ import { useSearchParams } from '../SearchParams/index.js';
|
|
|
13
13
|
const Context = /*#__PURE__*/ createContext({});
|
|
14
14
|
const maxTimeoutTime = 2147483647;
|
|
15
15
|
export const AuthProvider = ({ children })=>{
|
|
16
|
+
const { useModal } = facelessUIImport;
|
|
16
17
|
const { searchParams } = useSearchParams();
|
|
17
18
|
const [user, setUser] = useState();
|
|
18
19
|
const [tokenInMemory, setTokenInMemory] = useState();
|
|
@@ -122,12 +123,11 @@ export const AuthProvider = ({ children })=>{
|
|
|
122
123
|
redirectToInactivityRoute,
|
|
123
124
|
setTokenAndExpiration
|
|
124
125
|
]);
|
|
125
|
-
const logOut = useCallback(()=>{
|
|
126
|
+
const logOut = useCallback(async ()=>{
|
|
126
127
|
setUser(null);
|
|
127
128
|
revokeTokenAndExpire();
|
|
128
129
|
try {
|
|
129
|
-
|
|
130
|
-
requests.post(`${serverURL}${api}/${userSlug}/logout`);
|
|
130
|
+
await requests.post(`${serverURL}${api}/${userSlug}/logout`);
|
|
131
131
|
} catch (e) {
|
|
132
132
|
toast.error(`Logging out failed: ${e.message}`);
|
|
133
133
|
}
|
|
@@ -295,4 +295,4 @@ export const AuthProvider = ({ children })=>{
|
|
|
295
295
|
};
|
|
296
296
|
export const useAuth = ()=>useContext(Context);
|
|
297
297
|
|
|
298
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvQXV0aC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgdHlwZSB7IFBlcm1pc3Npb25zLCBVc2VyIH0gZnJvbSAncGF5bG9hZC9hdXRoJ1xuXG5pbXBvcnQgeyB1c2VNb2RhbCB9IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCB7IHVzZVBhdGhuYW1lLCB1c2VSb3V0ZXIgfSBmcm9tICduZXh0L25hdmlnYXRpb24uanMnXG5pbXBvcnQgcXMgZnJvbSAncXMnXG5pbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHRvYXN0IH0gZnJvbSAncmVhY3QtdG9hc3RpZnknXG5cbmltcG9ydCB0eXBlIHsgQXV0aENvbnRleHQgfSBmcm9tICcuL3R5cGVzLmpzJ1xuXG5pbXBvcnQgdXNlRGVib3VuY2UgZnJvbSAnLi4vLi4vaG9va3MvdXNlRGVib3VuY2UuanMnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9UcmFuc2xhdGlvbi9pbmRleC5qcydcbmltcG9ydCB7IHJlcXVlc3RzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2FwaS5qcydcbmltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gJy4uL0NvbmZpZy9pbmRleC5qcydcbmltcG9ydCB7IHVzZVNlYXJjaFBhcmFtcyB9IGZyb20gJy4uL1NlYXJjaFBhcmFtcy9pbmRleC5qcydcbi8vIGltcG9ydCB7IHVzZUxvY2FsZSB9IGZyb20gJy4uL0xvY2FsZSdcblxuY29uc3QgQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoe30gYXMgQXV0aENvbnRleHQpXG5cbmNvbnN0IG1heFRpbWVvdXRUaW1lID0gMjE0NzQ4MzY0N1xuXG5leHBvcnQgY29uc3QgQXV0aFByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4gPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gIGNvbnN0IHsgc2VhcmNoUGFyYW1zIH0gPSB1c2VTZWFyY2hQYXJhbXMoKVxuICBjb25zdCBbdXNlciwgc2V0VXNlcl0gPSB1c2VTdGF0ZTxVc2VyIHwgbnVsbD4oKVxuICBjb25zdCBbdG9rZW5Jbk1lbW9yeSwgc2V0VG9rZW5Jbk1lbW9yeV0gPSB1c2VTdGF0ZTxzdHJpbmc+KClcbiAgY29uc3QgW3Rva2VuRXhwaXJhdGlvbiwgc2V0VG9rZW5FeHBpcmF0aW9uXSA9IHVzZVN0YXRlPG51bWJlcj4oKVxuICBjb25zdCBwYXRobmFtZSA9IHVzZVBhdGhuYW1lKClcbiAgY29uc3Qgcm91dGVyID0gdXNlUm91dGVyKClcbiAgLy8gY29uc3QgeyBjb2RlIH0gPSB1c2VMb2NhbGUoKVxuICBjb25zdCBjb2RlID0gJ2VuJyAvLyBUT0RPOiByZS1lbmFibGUgaTE4biBhc2FwXG5cbiAgY29uc3QgY29uZmlnID0gdXNlQ29uZmlnKClcblxuICBjb25zdCB7XG4gICAgYWRtaW46IHsgYXV0b0xvZ2luLCBpbmFjdGl2aXR5Um91dGU6IGxvZ291dEluYWN0aXZpdHlSb3V0ZSwgdXNlcjogdXNlclNsdWcgfSxcbiAgICByb3V0ZXM6IHsgYWRtaW4sIGFwaSB9LFxuICAgIHNlcnZlclVSTCxcbiAgfSA9IGNvbmZpZ1xuXG4gIGNvbnN0IFtwZXJtaXNzaW9ucywgc2V0UGVybWlzc2lvbnNdID0gdXNlU3RhdGU8UGVybWlzc2lvbnM+KClcblxuICBjb25zdCB7IGkxOG4gfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgeyBjbG9zZUFsbE1vZGFscywgb3Blbk1vZGFsIH0gPSB1c2VNb2RhbCgpXG4gIGNvbnN0IFtsYXN0TG9jYXRpb25DaGFuZ2UsIHNldExhc3RMb2NhdGlvbkNoYW5nZV0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBkZWJvdW5jZWRMb2NhdGlvbkNoYW5nZSA9IHVzZURlYm91bmNlKGxhc3RMb2NhdGlvbkNoYW5nZSwgMTAwMDApXG5cbiAgY29uc3QgaWQgPSB1c2VyPy5pZFxuXG4gIGNvbnN0IHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zdGFydHNXaXRoKGFkbWluKSkge1xuICAgICAgY29uc3QgcmVkaXJlY3RQYXJhbSA9IGA/cmVkaXJlY3Q9JHtlbmNvZGVVUklDb21wb25lbnQoXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKGFkbWluLCAnJyksXG4gICAgICApfWBcbiAgICAgIHJvdXRlci5yZXBsYWNlKGAke2FkbWlufSR7bG9nb3V0SW5hY3Rpdml0eVJvdXRlfSR7cmVkaXJlY3RQYXJhbX1gKVxuICAgIH0gZWxzZSB7XG4gICAgICByb3V0ZXIucmVwbGFjZShgJHthZG1pbn0ke2xvZ291dEluYWN0aXZpdHlSb3V0ZX1gKVxuICAgIH1cbiAgICBjbG9zZUFsbE1vZGFscygpXG4gIH0sIFtyb3V0ZXIsIGFkbWluLCBsb2dvdXRJbmFjdGl2aXR5Um91dGUsIGNsb3NlQWxsTW9kYWxzXSlcblxuICBjb25zdCByZXZva2VUb2tlbkFuZEV4cGlyZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRUb2tlbkluTWVtb3J5KHVuZGVmaW5lZClcbiAgICBzZXRUb2tlbkV4cGlyYXRpb24odW5kZWZpbmVkKVxuICB9LCBbXSlcblxuICBjb25zdCBzZXRUb2tlbkFuZEV4cGlyYXRpb24gPSB1c2VDYWxsYmFjayhcbiAgICAoanNvbikgPT4ge1xuICAgICAgY29uc3QgdG9rZW4gPSBqc29uPy50b2tlbiB8fCBqc29uPy5yZWZyZXNoZWRUb2tlblxuICAgICAgaWYgKHRva2VuICYmIGpzb24/LmV4cCkge1xuICAgICAgICBzZXRUb2tlbkluTWVtb3J5KHRva2VuKVxuICAgICAgICBzZXRUb2tlbkV4cGlyYXRpb24oanNvbi5leHApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXZva2VUb2tlbkFuZEV4cGlyZSgpXG4gICAgICB9XG4gICAgfSxcbiAgICBbcmV2b2tlVG9rZW5BbmRFeHBpcmVdLFxuICApXG5cbiAgY29uc3QgcmVmcmVzaENvb2tpZSA9IHVzZUNhbGxiYWNrKFxuICAgIChmb3JjZVJlZnJlc2g/OiBib29sZWFuKSA9PiB7XG4gICAgICBjb25zdCBub3cgPSBNYXRoLnJvdW5kKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMClcbiAgICAgIGNvbnN0IHJlbWFpbmluZ1RpbWUgPSAodHlwZW9mIHRva2VuRXhwaXJhdGlvbiA9PT0gJ251bWJlcicgPyB0b2tlbkV4cGlyYXRpb24gOiAwKSAtIG5vd1xuXG4gICAgICBpZiAoZm9yY2VSZWZyZXNoIHx8ICh0b2tlbkV4cGlyYXRpb24gJiYgcmVtYWluaW5nVGltZSA8IDEyMCkpIHtcbiAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCByZXF1ZXN0cy5wb3N0KGAke3NlcnZlclVSTH0ke2FwaX0vJHt1c2VyU2x1Z30vcmVmcmVzaC10b2tlbmAsIHtcbiAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgaWYgKHJlcXVlc3Quc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlcXVlc3QuanNvbigpXG4gICAgICAgICAgICAgIHNldFVzZXIoanNvbi51c2VyKVxuICAgICAgICAgICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24oanNvbilcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHNldFVzZXIobnVsbClcbiAgICAgICAgICAgICAgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdG9hc3QuZXJyb3IoZS5tZXNzYWdlKVxuICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwMClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIHRva2VuRXhwaXJhdGlvbixcbiAgICAgIHNlcnZlclVSTCxcbiAgICAgIGFwaSxcbiAgICAgIHVzZXJTbHVnLFxuICAgICAgaTE4bixcbiAgICAgIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUsXG4gICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24sXG4gICAgXSxcbiAgKVxuXG4gIGNvbnN0IHJlZnJlc2hDb29raWVBc3luYyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChza2lwU2V0VXNlcj86IGJvb2xlYW4pOiBQcm9taXNlPFVzZXI+ID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCByZXF1ZXN0cy5wb3N0KGAke3NlcnZlclVSTH0ke2FwaX0vJHt1c2VyU2x1Z30vcmVmcmVzaC10b2tlbmAsIHtcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmIChyZXF1ZXN0LnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlcXVlc3QuanNvbigpXG4gICAgICAgICAgaWYgKCFza2lwU2V0VXNlcikge1xuICAgICAgICAgICAgc2V0VXNlcihqc29uLnVzZXIpXG4gICAgICAgICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24oanNvbilcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGpzb24udXNlclxuICAgICAgICB9XG5cbiAgICAgICAgc2V0VXNlcihudWxsKVxuICAgICAgICByZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlKClcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdG9hc3QuZXJyb3IoYFJlZnJlc2hpbmcgdG9rZW4gZmFpbGVkOiAke2UubWVzc2FnZX1gKVxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuICAgIH0sXG4gICAgW3NlcnZlclVSTCwgYXBpLCB1c2VyU2x1ZywgaTE4biwgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSwgc2V0VG9rZW5BbmRFeHBpcmF0aW9uXSxcbiAgKVxuXG4gIGNvbnN0IGxvZ091dCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRVc2VyKG51bGwpXG4gICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgIHRyeSB7XG4gICAgICAvLyBUT0RPOiBJIGRvbnQgdGhpbmsgZXJyb3JzIGZyb20gdW5hd2FpdGVkIHByb21pc2VzIGNhbiBiZSBjYXVnaHRcbiAgICAgIHJlcXVlc3RzLnBvc3QoYCR7c2VydmVyVVJMfSR7YXBpfS8ke3VzZXJTbHVnfS9sb2dvdXRgKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRvYXN0LmVycm9yKGBMb2dnaW5nIG91dCBmYWlsZWQ6ICR7ZS5tZXNzYWdlfWApXG4gICAgfVxuICB9LCBbc2VydmVyVVJMLCBhcGksIHVzZXJTbHVnLCByZXZva2VUb2tlbkFuZEV4cGlyZV0pXG5cbiAgY29uc3QgcmVmcmVzaFBlcm1pc3Npb25zID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIGxvY2FsZTogY29kZSxcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHJlcXVlc3RzLmdldChgJHtzZXJ2ZXJVUkx9JHthcGl9L2FjY2Vzcz8ke3FzLnN0cmluZ2lmeShwYXJhbXMpfWAsIHtcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICB9LFxuICAgICAgfSlcblxuICAgICAgaWYgKHJlcXVlc3Quc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgY29uc3QganNvbjogUGVybWlzc2lvbnMgPSBhd2FpdCByZXF1ZXN0Lmpzb24oKVxuICAgICAgICBzZXRQZXJtaXNzaW9ucyhqc29uKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGZXRjaGluZyBwZXJtaXNzaW9ucyBmYWlsZWQgd2l0aCBzdGF0dXMgY29kZSAke3JlcXVlc3Quc3RhdHVzfWApXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdG9hc3QuZXJyb3IoYFJlZnJlc2hpbmcgcGVybWlzc2lvbnMgZmFpbGVkOiAke2UubWVzc2FnZX1gKVxuICAgIH1cbiAgfSwgW3NlcnZlclVSTCwgYXBpLCBpMThuLCBjb2RlXSlcblxuICBjb25zdCBmZXRjaEZ1bGxVc2VyID0gUmVhY3QudXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgcmVxdWVzdHMuZ2V0KGAke3NlcnZlclVSTH0ke2FwaX0vJHt1c2VyU2x1Z30vbWVgLCB7XG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG5cbiAgICAgIGlmIChyZXF1ZXN0LnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXF1ZXN0Lmpzb24oKVxuXG4gICAgICAgIGlmIChqc29uPy51c2VyKSB7XG4gICAgICAgICAgc2V0VXNlcihqc29uLnVzZXIpXG4gICAgICAgICAgaWYgKGpzb24/LnRva2VuKSB7XG4gICAgICAgICAgICBzZXRUb2tlbkFuZEV4cGlyYXRpb24oanNvbilcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoYXV0b0xvZ2luICYmIGF1dG9Mb2dpbi5wcmVmaWxsT25seSAhPT0gdHJ1ZSkge1xuICAgICAgICAgIC8vIGF1dG8gbG9nLWluIHdpdGggdGhlIHByb3ZpZGVkIGF1dG9Mb2dpbiBjcmVkZW50aWFscy4gVGhpcyBpcyB1c2VkIGluIGRldiBtb2RlXG4gICAgICAgICAgLy8gc28geW91IGRvbid0IGhhdmUgdG8gbG9nIGluIG92ZXIgYW5kIG92ZXIgYWdhaW5cbiAgICAgICAgICBjb25zdCBhdXRvTG9naW5SZXN1bHQgPSBhd2FpdCByZXF1ZXN0cy5wb3N0KGAke3NlcnZlclVSTH0ke2FwaX0vJHt1c2VyU2x1Z30vbG9naW5gLCB7XG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgIGVtYWlsOiBhdXRvTG9naW4uZW1haWwsXG4gICAgICAgICAgICAgIHBhc3N3b3JkOiBhdXRvTG9naW4ucGFzc3dvcmQsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pXG4gICAgICAgICAgaWYgKGF1dG9Mb2dpblJlc3VsdC5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgICAgY29uc3QgYXV0b0xvZ2luSnNvbiA9IGF3YWl0IGF1dG9Mb2dpblJlc3VsdC5qc29uKClcbiAgICAgICAgICAgIHNldFVzZXIoYXV0b0xvZ2luSnNvbi51c2VyKVxuICAgICAgICAgICAgaWYgKGF1dG9Mb2dpbkpzb24/LnRva2VuKSB7XG4gICAgICAgICAgICAgIHNldFRva2VuQW5kRXhwaXJhdGlvbihhdXRvTG9naW5Kc29uKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcm91dGVyLnJlcGxhY2UoXG4gICAgICAgICAgICAgIHR5cGVvZiBzZWFyY2hQYXJhbXNbJ3JlZGlyZWN0J10gPT09ICdzdHJpbmcnID8gc2VhcmNoUGFyYW1zWydyZWRpcmVjdCddIDogYWRtaW4sXG4gICAgICAgICAgICApXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldFVzZXIobnVsbClcbiAgICAgICAgICAgIHJldm9rZVRva2VuQW5kRXhwaXJlKClcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2V0VXNlcihudWxsKVxuICAgICAgICAgIHJldm9rZVRva2VuQW5kRXhwaXJlKClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRvYXN0LmVycm9yKGBGZXRjaGluZyB1c2VyIGZhaWxlZDogJHtlLm1lc3NhZ2V9YClcbiAgICB9XG4gIH0sIFtcbiAgICBzZXJ2ZXJVUkwsXG4gICAgYXBpLFxuICAgIHVzZXJTbHVnLFxuICAgIGkxOG4ubGFuZ3VhZ2UsXG4gICAgYXV0b0xvZ2luLFxuICAgIHNldFRva2VuQW5kRXhwaXJhdGlvbixcbiAgICByb3V0ZXIsXG4gICAgc2VhcmNoUGFyYW1zLFxuICAgIGFkbWluLFxuICAgIHJldm9rZVRva2VuQW5kRXhwaXJlLFxuICBdKVxuXG4gIC8vIE9uIG1vdW50LCBnZXQgdXNlciBhbmQgc2V0XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdm9pZCBmZXRjaEZ1bGxVc2VyKClcbiAgfSwgW2ZldGNoRnVsbFVzZXJdKVxuXG4gIC8vIFdoZW4gbG9jYXRpb24gY2hhbmdlcywgcmVmcmVzaCBjb29raWVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIHJlZnJlc2hDb29raWUoKVxuICAgIH1cbiAgfSwgW2RlYm91bmNlZExvY2F0aW9uQ2hhbmdlLCByZWZyZXNoQ29va2llLCBpZF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRMYXN0TG9jYXRpb25DaGFuZ2UoRGF0ZS5ub3coKSlcbiAgfSwgW3BhdGhuYW1lXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZW1pbmRlcjogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD5cbiAgICBjb25zdCBub3cgPSBNYXRoLnJvdW5kKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMClcbiAgICBjb25zdCByZW1haW5pbmdUaW1lID0gdHlwZW9mIHRva2VuRXhwaXJhdGlvbiA9PT0gJ251bWJlcicgPyB0b2tlbkV4cGlyYXRpb24gLSBub3cgOiAwXG5cbiAgICBpZiAocmVtYWluaW5nVGltZSA+IDApIHtcbiAgICAgIHJlbWluZGVyID0gc2V0VGltZW91dChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIG9wZW5Nb2RhbCgnc3RheS1sb2dnZWQtaW4nKVxuICAgICAgICB9LFxuICAgICAgICBNYXRoLm1heChNYXRoLm1pbigocmVtYWluaW5nVGltZSAtIDYwKSAqIDEwMDAsIG1heFRpbWVvdXRUaW1lKSksXG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZW1pbmRlcikgY2xlYXJUaW1lb3V0KHJlbWluZGVyKVxuICAgIH1cbiAgfSwgW3Rva2VuRXhwaXJhdGlvbiwgb3Blbk1vZGFsXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBmb3JjZUxvZ091dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD5cbiAgICBjb25zdCBub3cgPSBNYXRoLnJvdW5kKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMClcbiAgICBjb25zdCByZW1haW5pbmdUaW1lID0gdHlwZW9mIHRva2VuRXhwaXJhdGlvbiA9PT0gJ251bWJlcicgPyB0b2tlbkV4cGlyYXRpb24gLSBub3cgOiAwXG5cbiAgICBpZiAocmVtYWluaW5nVGltZSA+IDApIHtcbiAgICAgIGZvcmNlTG9nT3V0ID0gc2V0VGltZW91dChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHNldFVzZXIobnVsbClcbiAgICAgICAgICByZXZva2VUb2tlbkFuZEV4cGlyZSgpXG4gICAgICAgICAgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSgpXG4gICAgICAgIH0sXG4gICAgICAgIE1hdGgubWF4KE1hdGgubWluKHJlbWFpbmluZ1RpbWUgKiAxMDAwLCBtYXhUaW1lb3V0VGltZSksIDApLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoZm9yY2VMb2dPdXQpIGNsZWFyVGltZW91dChmb3JjZUxvZ091dClcbiAgICB9XG4gIH0sIFt0b2tlbkV4cGlyYXRpb24sIGNsb3NlQWxsTW9kYWxzLCBpMThuLCByZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlLCByZXZva2VUb2tlbkFuZEV4cGlyZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgZmV0Y2hGdWxsVXNlcixcbiAgICAgICAgbG9nT3V0LFxuICAgICAgICBwZXJtaXNzaW9ucyxcbiAgICAgICAgcmVmcmVzaENvb2tpZSxcbiAgICAgICAgcmVmcmVzaENvb2tpZUFzeW5jLFxuICAgICAgICByZWZyZXNoUGVybWlzc2lvbnMsXG4gICAgICAgIHNldFBlcm1pc3Npb25zLFxuICAgICAgICBzZXRVc2VyLFxuICAgICAgICB0b2tlbjogdG9rZW5Jbk1lbW9yeSxcbiAgICAgICAgdXNlcixcbiAgICAgIH19XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgdXNlQXV0aCA9IDxUID0gVXNlciw+KCk6IEF1dGhDb250ZXh0PFQ+ID0+IHVzZUNvbnRleHQoQ29udGV4dCkgYXMgQXV0aENvbnRleHQ8VD5cbiJdLCJuYW1lcyI6WyJ1c2VNb2RhbCIsInVzZVBhdGhuYW1lIiwidXNlUm91dGVyIiwicXMiLCJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJ1c2VDYWxsYmFjayIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInRvYXN0IiwidXNlRGVib3VuY2UiLCJ1c2VUcmFuc2xhdGlvbiIsInJlcXVlc3RzIiwidXNlQ29uZmlnIiwidXNlU2VhcmNoUGFyYW1zIiwiQ29udGV4dCIsIm1heFRpbWVvdXRUaW1lIiwiQXV0aFByb3ZpZGVyIiwiY2hpbGRyZW4iLCJzZWFyY2hQYXJhbXMiLCJ1c2VyIiwic2V0VXNlciIsInRva2VuSW5NZW1vcnkiLCJzZXRUb2tlbkluTWVtb3J5IiwidG9rZW5FeHBpcmF0aW9uIiwic2V0VG9rZW5FeHBpcmF0aW9uIiwicGF0aG5hbWUiLCJyb3V0ZXIiLCJjb2RlIiwiY29uZmlnIiwiYWRtaW4iLCJhdXRvTG9naW4iLCJpbmFjdGl2aXR5Um91dGUiLCJsb2dvdXRJbmFjdGl2aXR5Um91dGUiLCJ1c2VyU2x1ZyIsInJvdXRlcyIsImFwaSIsInNlcnZlclVSTCIsInBlcm1pc3Npb25zIiwic2V0UGVybWlzc2lvbnMiLCJpMThuIiwiY2xvc2VBbGxNb2RhbHMiLCJvcGVuTW9kYWwiLCJsYXN0TG9jYXRpb25DaGFuZ2UiLCJzZXRMYXN0TG9jYXRpb25DaGFuZ2UiLCJkZWJvdW5jZWRMb2NhdGlvbkNoYW5nZSIsImlkIiwicmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSIsIndpbmRvdyIsImxvY2F0aW9uIiwic3RhcnRzV2l0aCIsInJlZGlyZWN0UGFyYW0iLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZXBsYWNlIiwicmV2b2tlVG9rZW5BbmRFeHBpcmUiLCJ1bmRlZmluZWQiLCJzZXRUb2tlbkFuZEV4cGlyYXRpb24iLCJqc29uIiwidG9rZW4iLCJyZWZyZXNoZWRUb2tlbiIsImV4cCIsInJlZnJlc2hDb29raWUiLCJmb3JjZVJlZnJlc2giLCJub3ciLCJNYXRoIiwicm91bmQiLCJEYXRlIiwiZ2V0VGltZSIsInJlbWFpbmluZ1RpbWUiLCJzZXRUaW1lb3V0IiwicmVxdWVzdCIsInBvc3QiLCJoZWFkZXJzIiwibGFuZ3VhZ2UiLCJzdGF0dXMiLCJlIiwiZXJyb3IiLCJtZXNzYWdlIiwicmVmcmVzaENvb2tpZUFzeW5jIiwic2tpcFNldFVzZXIiLCJsb2dPdXQiLCJyZWZyZXNoUGVybWlzc2lvbnMiLCJwYXJhbXMiLCJsb2NhbGUiLCJnZXQiLCJzdHJpbmdpZnkiLCJFcnJvciIsImZldGNoRnVsbFVzZXIiLCJwcmVmaWxsT25seSIsImF1dG9Mb2dpblJlc3VsdCIsImJvZHkiLCJKU09OIiwiZW1haWwiLCJwYXNzd29yZCIsImF1dG9Mb2dpbkpzb24iLCJyZW1pbmRlciIsIm1heCIsIm1pbiIsImNsZWFyVGltZW91dCIsImZvcmNlTG9nT3V0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsInVzZUF1dGgiXSwibWFwcGluZ3MiOiJBQUFBO0FBR0EsU0FBU0EsUUFBUSxRQUFRLHFCQUFvQjtBQUM3QyxTQUFTQyxXQUFXLEVBQUVDLFNBQVMsUUFBUSxxQkFBb0I7QUFDM0QsT0FBT0MsUUFBUSxLQUFJO0FBQ25CLE9BQU9DLFNBQVNDLGFBQWEsRUFBRUMsV0FBVyxFQUFFQyxVQUFVLEVBQUVDLFNBQVMsRUFBRUMsUUFBUSxRQUFRLFFBQU87QUFDMUYsU0FBU0MsS0FBSyxRQUFRLGlCQUFnQjtBQUl0QyxPQUFPQyxpQkFBaUIsNkJBQTRCO0FBQ3BELFNBQVNDLGNBQWMsUUFBUSx1Q0FBc0M7QUFDckUsU0FBU0MsUUFBUSxRQUFRLHlCQUF3QjtBQUNqRCxTQUFTQyxTQUFTLFFBQVEscUJBQW9CO0FBQzlDLFNBQVNDLGVBQWUsUUFBUSwyQkFBMEI7QUFDMUQsd0NBQXdDO0FBRXhDLE1BQU1DLHdCQUFVWCxjQUFjLENBQUM7QUFFL0IsTUFBTVksaUJBQWlCO0FBRXZCLE9BQU8sTUFBTUMsZUFBd0QsQ0FBQyxFQUFFQyxRQUFRLEVBQUU7SUFDaEYsTUFBTSxFQUFFQyxZQUFZLEVBQUUsR0FBR0w7SUFDekIsTUFBTSxDQUFDTSxNQUFNQyxRQUFRLEdBQUdiO0lBQ3hCLE1BQU0sQ0FBQ2MsZUFBZUMsaUJBQWlCLEdBQUdmO0lBQzFDLE1BQU0sQ0FBQ2dCLGlCQUFpQkMsbUJBQW1CLEdBQUdqQjtJQUM5QyxNQUFNa0IsV0FBVzFCO0lBQ2pCLE1BQU0yQixTQUFTMUI7SUFDZiwrQkFBK0I7SUFDL0IsTUFBTTJCLE9BQU8sS0FBSyw0QkFBNEI7O0lBRTlDLE1BQU1DLFNBQVNoQjtJQUVmLE1BQU0sRUFDSmlCLE9BQU8sRUFBRUMsU0FBUyxFQUFFQyxpQkFBaUJDLHFCQUFxQixFQUFFYixNQUFNYyxRQUFRLEVBQUUsRUFDNUVDLFFBQVEsRUFBRUwsS0FBSyxFQUFFTSxHQUFHLEVBQUUsRUFDdEJDLFNBQVMsRUFDVixHQUFHUjtJQUVKLE1BQU0sQ0FBQ1MsYUFBYUMsZUFBZSxHQUFHL0I7SUFFdEMsTUFBTSxFQUFFZ0MsSUFBSSxFQUFFLEdBQUc3QjtJQUNqQixNQUFNLEVBQUU4QixjQUFjLEVBQUVDLFNBQVMsRUFBRSxHQUFHM0M7SUFDdEMsTUFBTSxDQUFDNEMsb0JBQW9CQyxzQkFBc0IsR0FBR3BDLFNBQVM7SUFDN0QsTUFBTXFDLDBCQUEwQm5DLFlBQVlpQyxvQkFBb0I7SUFFaEUsTUFBTUcsS0FBSzFCLE1BQU0wQjtJQUVqQixNQUFNQyw0QkFBNEIxQyxZQUFZO1FBQzVDLElBQUkyQyxPQUFPQyxRQUFRLENBQUN2QixRQUFRLENBQUN3QixVQUFVLENBQUNwQixRQUFRO1lBQzlDLE1BQU1xQixnQkFBZ0IsQ0FBQyxVQUFVLEVBQUVDLG1CQUNqQ0osT0FBT0MsUUFBUSxDQUFDdkIsUUFBUSxDQUFDMkIsT0FBTyxDQUFDdkIsT0FBTyxLQUN4QyxDQUFDO1lBQ0hILE9BQU8wQixPQUFPLENBQUMsQ0FBQyxFQUFFdkIsTUFBTSxFQUFFRyxzQkFBc0IsRUFBRWtCLGNBQWMsQ0FBQztRQUNuRSxPQUFPO1lBQ0x4QixPQUFPMEIsT0FBTyxDQUFDLENBQUMsRUFBRXZCLE1BQU0sRUFBRUcsc0JBQXNCLENBQUM7UUFDbkQ7UUFDQVE7SUFDRixHQUFHO1FBQUNkO1FBQVFHO1FBQU9HO1FBQXVCUTtLQUFlO0lBRXpELE1BQU1hLHVCQUF1QmpELFlBQVk7UUFDdkNrQixpQkFBaUJnQztRQUNqQjlCLG1CQUFtQjhCO0lBQ3JCLEdBQUcsRUFBRTtJQUVMLE1BQU1DLHdCQUF3Qm5ELFlBQzVCLENBQUNvRDtRQUNDLE1BQU1DLFFBQVFELE1BQU1DLFNBQVNELE1BQU1FO1FBQ25DLElBQUlELFNBQVNELE1BQU1HLEtBQUs7WUFDdEJyQyxpQkFBaUJtQztZQUNqQmpDLG1CQUFtQmdDLEtBQUtHLEdBQUc7UUFDN0IsT0FBTztZQUNMTjtRQUNGO0lBQ0YsR0FDQTtRQUFDQTtLQUFxQjtJQUd4QixNQUFNTyxnQkFBZ0J4RCxZQUNwQixDQUFDeUQ7UUFDQyxNQUFNQyxNQUFNQyxLQUFLQyxLQUFLLENBQUMsSUFBSUMsT0FBT0MsT0FBTyxLQUFLO1FBQzlDLE1BQU1DLGdCQUFnQixBQUFDLENBQUEsT0FBTzVDLG9CQUFvQixXQUFXQSxrQkFBa0IsQ0FBQSxJQUFLdUM7UUFFcEYsSUFBSUQsZ0JBQWlCdEMsbUJBQW1CNEMsZ0JBQWdCLEtBQU07WUFDNURDLFdBQVc7Z0JBQ1QsSUFBSTtvQkFDRixNQUFNQyxVQUFVLE1BQU0xRCxTQUFTMkQsSUFBSSxDQUFDLENBQUMsRUFBRWxDLFVBQVUsRUFBRUQsSUFBSSxDQUFDLEVBQUVGLFNBQVMsY0FBYyxDQUFDLEVBQUU7d0JBQ2xGc0MsU0FBUzs0QkFDUCxtQkFBbUJoQyxLQUFLaUMsUUFBUTt3QkFDbEM7b0JBQ0Y7b0JBRUEsSUFBSUgsUUFBUUksTUFBTSxLQUFLLEtBQUs7d0JBQzFCLE1BQU1qQixPQUFPLE1BQU1hLFFBQVFiLElBQUk7d0JBQy9CcEMsUUFBUW9DLEtBQUtyQyxJQUFJO3dCQUNqQm9DLHNCQUFzQkM7b0JBQ3hCLE9BQU87d0JBQ0xwQyxRQUFRO3dCQUNSMEI7b0JBQ0Y7Z0JBQ0YsRUFBRSxPQUFPNEIsR0FBRztvQkFDVmxFLE1BQU1tRSxLQUFLLENBQUNELEVBQUVFLE9BQU87Z0JBQ3ZCO1lBQ0YsR0FBRztRQUNMO0lBQ0YsR0FDQTtRQUNFckQ7UUFDQWE7UUFDQUQ7UUFDQUY7UUFDQU07UUFDQU87UUFDQVM7S0FDRDtJQUdILE1BQU1zQixxQkFBcUJ6RSxZQUN6QixPQUFPMEU7UUFDTCxJQUFJO1lBQ0YsTUFBTVQsVUFBVSxNQUFNMUQsU0FBUzJELElBQUksQ0FBQyxDQUFDLEVBQUVsQyxVQUFVLEVBQUVELElBQUksQ0FBQyxFQUFFRixTQUFTLGNBQWMsQ0FBQyxFQUFFO2dCQUNsRnNDLFNBQVM7b0JBQ1AsbUJBQW1CaEMsS0FBS2lDLFFBQVE7Z0JBQ2xDO1lBQ0Y7WUFFQSxJQUFJSCxRQUFRSSxNQUFNLEtBQUssS0FBSztnQkFDMUIsTUFBTWpCLE9BQU8sTUFBTWEsUUFBUWIsSUFBSTtnQkFDL0IsSUFBSSxDQUFDc0IsYUFBYTtvQkFDaEIxRCxRQUFRb0MsS0FBS3JDLElBQUk7b0JBQ2pCb0Msc0JBQXNCQztnQkFDeEI7Z0JBQ0EsT0FBT0EsS0FBS3JDLElBQUk7WUFDbEI7WUFFQUMsUUFBUTtZQUNSMEI7WUFDQSxPQUFPO1FBQ1QsRUFBRSxPQUFPNEIsR0FBRztZQUNWbEUsTUFBTW1FLEtBQUssQ0FBQyxDQUFDLHlCQUF5QixFQUFFRCxFQUFFRSxPQUFPLENBQUMsQ0FBQztZQUNuRCxPQUFPO1FBQ1Q7SUFDRixHQUNBO1FBQUN4QztRQUFXRDtRQUFLRjtRQUFVTTtRQUFNTztRQUEyQlM7S0FBc0I7SUFHcEYsTUFBTXdCLFNBQVMzRSxZQUFZO1FBQ3pCZ0IsUUFBUTtRQUNSaUM7UUFDQSxJQUFJO1lBQ0Ysa0VBQWtFO1lBQ2xFMUMsU0FBUzJELElBQUksQ0FBQyxDQUFDLEVBQUVsQyxVQUFVLEVBQUVELElBQUksQ0FBQyxFQUFFRixTQUFTLE9BQU8sQ0FBQztRQUN2RCxFQUFFLE9BQU95QyxHQUFHO1lBQ1ZsRSxNQUFNbUUsS0FBSyxDQUFDLENBQUMsb0JBQW9CLEVBQUVELEVBQUVFLE9BQU8sQ0FBQyxDQUFDO1FBQ2hEO0lBQ0YsR0FBRztRQUFDeEM7UUFBV0Q7UUFBS0Y7UUFBVW9CO0tBQXFCO0lBRW5ELE1BQU0yQixxQkFBcUI1RSxZQUFZO1FBQ3JDLE1BQU02RSxTQUFTO1lBQ2JDLFFBQVF2RDtRQUNWO1FBRUEsSUFBSTtZQUNGLE1BQU0wQyxVQUFVLE1BQU0xRCxTQUFTd0UsR0FBRyxDQUFDLENBQUMsRUFBRS9DLFVBQVUsRUFBRUQsSUFBSSxRQUFRLEVBQUVsQyxHQUFHbUYsU0FBUyxDQUFDSCxRQUFRLENBQUMsRUFBRTtnQkFDdEZWLFNBQVM7b0JBQ1AsbUJBQW1CaEMsS0FBS2lDLFFBQVE7Z0JBQ2xDO1lBQ0Y7WUFFQSxJQUFJSCxRQUFRSSxNQUFNLEtBQUssS0FBSztnQkFDMUIsTUFBTWpCLE9BQW9CLE1BQU1hLFFBQVFiLElBQUk7Z0JBQzVDbEIsZUFBZWtCO1lBQ2pCLE9BQU87Z0JBQ0wsTUFBTSxJQUFJNkIsTUFBTSxDQUFDLDZDQUE2QyxFQUFFaEIsUUFBUUksTUFBTSxDQUFDLENBQUM7WUFDbEY7UUFDRixFQUFFLE9BQU9DLEdBQUc7WUFDVmxFLE1BQU1tRSxLQUFLLENBQUMsQ0FBQywrQkFBK0IsRUFBRUQsRUFBRUUsT0FBTyxDQUFDLENBQUM7UUFDM0Q7SUFDRixHQUFHO1FBQUN4QztRQUFXRDtRQUFLSTtRQUFNWjtLQUFLO0lBRS9CLE1BQU0yRCxnQkFBZ0JwRixNQUFNRSxXQUFXLENBQUM7UUFDdEMsSUFBSTtZQUNGLE1BQU1pRSxVQUFVLE1BQU0xRCxTQUFTd0UsR0FBRyxDQUFDLENBQUMsRUFBRS9DLFVBQVUsRUFBRUQsSUFBSSxDQUFDLEVBQUVGLFNBQVMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3RFc0MsU0FBUztvQkFDUCxtQkFBbUJoQyxLQUFLaUMsUUFBUTtnQkFDbEM7WUFDRjtZQUVBLElBQUlILFFBQVFJLE1BQU0sS0FBSyxLQUFLO2dCQUMxQixNQUFNakIsT0FBTyxNQUFNYSxRQUFRYixJQUFJO2dCQUUvQixJQUFJQSxNQUFNckMsTUFBTTtvQkFDZEMsUUFBUW9DLEtBQUtyQyxJQUFJO29CQUNqQixJQUFJcUMsTUFBTUMsT0FBTzt3QkFDZkYsc0JBQXNCQztvQkFDeEI7Z0JBQ0YsT0FBTyxJQUFJMUIsYUFBYUEsVUFBVXlELFdBQVcsS0FBSyxNQUFNO29CQUN0RCxnRkFBZ0Y7b0JBQ2hGLGtEQUFrRDtvQkFDbEQsTUFBTUMsa0JBQWtCLE1BQU03RSxTQUFTMkQsSUFBSSxDQUFDLENBQUMsRUFBRWxDLFVBQVUsRUFBRUQsSUFBSSxDQUFDLEVBQUVGLFNBQVMsTUFBTSxDQUFDLEVBQUU7d0JBQ2xGd0QsTUFBTUMsS0FBS04sU0FBUyxDQUFDOzRCQUNuQk8sT0FBTzdELFVBQVU2RCxLQUFLOzRCQUN0QkMsVUFBVTlELFVBQVU4RCxRQUFRO3dCQUM5Qjt3QkFDQXJCLFNBQVM7NEJBQ1AsbUJBQW1CaEMsS0FBS2lDLFFBQVE7NEJBQ2hDLGdCQUFnQjt3QkFDbEI7b0JBQ0Y7b0JBQ0EsSUFBSWdCLGdCQUFnQmYsTUFBTSxLQUFLLEtBQUs7d0JBQ2xDLE1BQU1vQixnQkFBZ0IsTUFBTUwsZ0JBQWdCaEMsSUFBSTt3QkFDaERwQyxRQUFReUUsY0FBYzFFLElBQUk7d0JBQzFCLElBQUkwRSxlQUFlcEMsT0FBTzs0QkFDeEJGLHNCQUFzQnNDO3dCQUN4Qjt3QkFDQW5FLE9BQU8wQixPQUFPLENBQ1osT0FBT2xDLFlBQVksQ0FBQyxXQUFXLEtBQUssV0FBV0EsWUFBWSxDQUFDLFdBQVcsR0FBR1c7b0JBRTlFLE9BQU87d0JBQ0xULFFBQVE7d0JBQ1JpQztvQkFDRjtnQkFDRixPQUFPO29CQUNMakMsUUFBUTtvQkFDUmlDO2dCQUNGO1lBQ0Y7UUFDRixFQUFFLE9BQU9xQixHQUFHO1lBQ1ZsRSxNQUFNbUUsS0FBSyxDQUFDLENBQUMsc0JBQXNCLEVBQUVELEVBQUVFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xEO0lBQ0YsR0FBRztRQUNEeEM7UUFDQUQ7UUFDQUY7UUFDQU0sS0FBS2lDLFFBQVE7UUFDYjFDO1FBQ0F5QjtRQUNBN0I7UUFDQVI7UUFDQVc7UUFDQXdCO0tBQ0Q7SUFFRCw2QkFBNkI7SUFDN0IvQyxVQUFVO1FBQ1IsS0FBS2dGO0lBQ1AsR0FBRztRQUFDQTtLQUFjO0lBRWxCLHdDQUF3QztJQUN4Q2hGLFVBQVU7UUFDUixJQUFJdUMsSUFBSTtZQUNOZTtRQUNGO0lBQ0YsR0FBRztRQUFDaEI7UUFBeUJnQjtRQUFlZjtLQUFHO0lBRS9DdkMsVUFBVTtRQUNScUMsc0JBQXNCc0IsS0FBS0gsR0FBRztJQUNoQyxHQUFHO1FBQUNyQztLQUFTO0lBRWJuQixVQUFVO1FBQ1IsSUFBSXdGO1FBQ0osTUFBTWhDLE1BQU1DLEtBQUtDLEtBQUssQ0FBQyxJQUFJQyxPQUFPQyxPQUFPLEtBQUs7UUFDOUMsTUFBTUMsZ0JBQWdCLE9BQU81QyxvQkFBb0IsV0FBV0Esa0JBQWtCdUMsTUFBTTtRQUVwRixJQUFJSyxnQkFBZ0IsR0FBRztZQUNyQjJCLFdBQVcxQixXQUNUO2dCQUNFM0IsVUFBVTtZQUNaLEdBQ0FzQixLQUFLZ0MsR0FBRyxDQUFDaEMsS0FBS2lDLEdBQUcsQ0FBQyxBQUFDN0IsQ0FBQUEsZ0JBQWdCLEVBQUMsSUFBSyxNQUFNcEQ7UUFFbkQ7UUFFQSxPQUFPO1lBQ0wsSUFBSStFLFVBQVVHLGFBQWFIO1FBQzdCO0lBQ0YsR0FBRztRQUFDdkU7UUFBaUJrQjtLQUFVO0lBRS9CbkMsVUFBVTtRQUNSLElBQUk0RjtRQUNKLE1BQU1wQyxNQUFNQyxLQUFLQyxLQUFLLENBQUMsSUFBSUMsT0FBT0MsT0FBTyxLQUFLO1FBQzlDLE1BQU1DLGdCQUFnQixPQUFPNUMsb0JBQW9CLFdBQVdBLGtCQUFrQnVDLE1BQU07UUFFcEYsSUFBSUssZ0JBQWdCLEdBQUc7WUFDckIrQixjQUFjOUIsV0FDWjtnQkFDRWhELFFBQVE7Z0JBQ1JpQztnQkFDQVA7WUFDRixHQUNBaUIsS0FBS2dDLEdBQUcsQ0FBQ2hDLEtBQUtpQyxHQUFHLENBQUM3QixnQkFBZ0IsTUFBTXBELGlCQUFpQjtRQUU3RDtRQUVBLE9BQU87WUFDTCxJQUFJbUYsYUFBYUQsYUFBYUM7UUFDaEM7SUFDRixHQUFHO1FBQUMzRTtRQUFpQmlCO1FBQWdCRDtRQUFNTztRQUEyQk87S0FBcUI7SUFFM0YscUJBQ0Usb0JBQUN2QyxRQUFRcUYsUUFBUTtRQUNmQyxPQUFPO1lBQ0xkO1lBQ0FQO1lBQ0ExQztZQUNBdUI7WUFDQWlCO1lBQ0FHO1lBQ0ExQztZQUNBbEI7WUFDQXFDLE9BQU9wQztZQUNQRjtRQUNGO09BRUNGO0FBR1AsRUFBQztBQUVELE9BQU8sTUFBTW9GLFVBQVUsSUFBaUNoRyxXQUFXUyxTQUEwQiJ9
|
|
298
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvQXV0aC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgdHlwZSB7IFBlcm1pc3Npb25zLCBVc2VyIH0gZnJvbSAncGF5bG9hZC9hdXRoJ1xuXG5pbXBvcnQgKiBhcyBmYWNlbGVzc1VJSW1wb3J0IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCB7IHVzZVBhdGhuYW1lLCB1c2VSb3V0ZXIgfSBmcm9tICduZXh0L25hdmlnYXRpb24uanMnXG5pbXBvcnQgcXMgZnJvbSAncXMnXG5pbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHRvYXN0IH0gZnJvbSAncmVhY3QtdG9hc3RpZnknXG5cbmltcG9ydCB0eXBlIHsgQXV0aENvbnRleHQgfSBmcm9tICcuL3R5cGVzLmpzJ1xuXG5pbXBvcnQgdXNlRGVib3VuY2UgZnJvbSAnLi4vLi4vaG9va3MvdXNlRGVib3VuY2UuanMnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9UcmFuc2xhdGlvbi9pbmRleC5qcydcbmltcG9ydCB7IHJlcXVlc3RzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2FwaS5qcydcbmltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gJy4uL0NvbmZpZy9pbmRleC5qcydcbmltcG9ydCB7IHVzZVNlYXJjaFBhcmFtcyB9IGZyb20gJy4uL1NlYXJjaFBhcmFtcy9pbmRleC5qcydcbi8vIGltcG9ydCB7IHVzZUxvY2FsZSB9IGZyb20gJy4uL0xvY2FsZSdcblxuY29uc3QgQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoe30gYXMgQXV0aENvbnRleHQpXG5cbmNvbnN0IG1heFRpbWVvdXRUaW1lID0gMjE0NzQ4MzY0N1xuXG5leHBvcnQgY29uc3QgQXV0aFByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4gPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gIGNvbnN0IHsgdXNlTW9kYWwgfSA9IGZhY2VsZXNzVUlJbXBvcnRcblxuICBjb25zdCB7IHNlYXJjaFBhcmFtcyB9ID0gdXNlU2VhcmNoUGFyYW1zKClcbiAgY29uc3QgW3VzZXIsIHNldFVzZXJdID0gdXNlU3RhdGU8VXNlciB8IG51bGw+KClcbiAgY29uc3QgW3Rva2VuSW5NZW1vcnksIHNldFRva2VuSW5NZW1vcnldID0gdXNlU3RhdGU8c3RyaW5nPigpXG4gIGNvbnN0IFt0b2tlbkV4cGlyYXRpb24sIHNldFRva2VuRXhwaXJhdGlvbl0gPSB1c2VTdGF0ZTxudW1iZXI+KClcbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VQYXRobmFtZSgpXG4gIGNvbnN0IHJvdXRlciA9IHVzZVJvdXRlcigpXG4gIC8vIGNvbnN0IHsgY29kZSB9ID0gdXNlTG9jYWxlKClcbiAgY29uc3QgY29kZSA9ICdlbicgLy8gVE9ETzogcmUtZW5hYmxlIGkxOG4gYXNhcFxuXG4gIGNvbnN0IGNvbmZpZyA9IHVzZUNvbmZpZygpXG5cbiAgY29uc3Qge1xuICAgIGFkbWluOiB7IGF1dG9Mb2dpbiwgaW5hY3Rpdml0eVJvdXRlOiBsb2dvdXRJbmFjdGl2aXR5Um91dGUsIHVzZXI6IHVzZXJTbHVnIH0sXG4gICAgcm91dGVzOiB7IGFkbWluLCBhcGkgfSxcbiAgICBzZXJ2ZXJVUkwsXG4gIH0gPSBjb25maWdcblxuICBjb25zdCBbcGVybWlzc2lvbnMsIHNldFBlcm1pc3Npb25zXSA9IHVzZVN0YXRlPFBlcm1pc3Npb25zPigpXG5cbiAgY29uc3QgeyBpMThuIH0gPSB1c2VUcmFuc2xhdGlvbigpXG4gIGNvbnN0IHsgY2xvc2VBbGxNb2RhbHMsIG9wZW5Nb2RhbCB9ID0gdXNlTW9kYWwoKVxuICBjb25zdCBbbGFzdExvY2F0aW9uQ2hhbmdlLCBzZXRMYXN0TG9jYXRpb25DaGFuZ2VdID0gdXNlU3RhdGUoMClcbiAgY29uc3QgZGVib3VuY2VkTG9jYXRpb25DaGFuZ2UgPSB1c2VEZWJvdW5jZShsYXN0TG9jYXRpb25DaGFuZ2UsIDEwMDAwKVxuXG4gIGNvbnN0IGlkID0gdXNlcj8uaWRcblxuICBjb25zdCByZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3RhcnRzV2l0aChhZG1pbikpIHtcbiAgICAgIGNvbnN0IHJlZGlyZWN0UGFyYW0gPSBgP3JlZGlyZWN0PSR7ZW5jb2RlVVJJQ29tcG9uZW50KFxuICAgICAgICB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZShhZG1pbiwgJycpLFxuICAgICAgKX1gXG4gICAgICByb3V0ZXIucmVwbGFjZShgJHthZG1pbn0ke2xvZ291dEluYWN0aXZpdHlSb3V0ZX0ke3JlZGlyZWN0UGFyYW19YClcbiAgICB9IGVsc2Uge1xuICAgICAgcm91dGVyLnJlcGxhY2UoYCR7YWRtaW59JHtsb2dvdXRJbmFjdGl2aXR5Um91dGV9YClcbiAgICB9XG4gICAgY2xvc2VBbGxNb2RhbHMoKVxuICB9LCBbcm91dGVyLCBhZG1pbiwgbG9nb3V0SW5hY3Rpdml0eVJvdXRlLCBjbG9zZUFsbE1vZGFsc10pXG5cbiAgY29uc3QgcmV2b2tlVG9rZW5BbmRFeHBpcmUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VG9rZW5Jbk1lbW9yeSh1bmRlZmluZWQpXG4gICAgc2V0VG9rZW5FeHBpcmF0aW9uKHVuZGVmaW5lZClcbiAgfSwgW10pXG5cbiAgY29uc3Qgc2V0VG9rZW5BbmRFeHBpcmF0aW9uID0gdXNlQ2FsbGJhY2soXG4gICAgKGpzb24pID0+IHtcbiAgICAgIGNvbnN0IHRva2VuID0ganNvbj8udG9rZW4gfHwganNvbj8ucmVmcmVzaGVkVG9rZW5cbiAgICAgIGlmICh0b2tlbiAmJiBqc29uPy5leHApIHtcbiAgICAgICAgc2V0VG9rZW5Jbk1lbW9yeSh0b2tlbilcbiAgICAgICAgc2V0VG9rZW5FeHBpcmF0aW9uKGpzb24uZXhwKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgICAgfVxuICAgIH0sXG4gICAgW3Jldm9rZVRva2VuQW5kRXhwaXJlXSxcbiAgKVxuXG4gIGNvbnN0IHJlZnJlc2hDb29raWUgPSB1c2VDYWxsYmFjayhcbiAgICAoZm9yY2VSZWZyZXNoPzogYm9vbGVhbikgPT4ge1xuICAgICAgY29uc3Qgbm93ID0gTWF0aC5yb3VuZChuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApXG4gICAgICBjb25zdCByZW1haW5pbmdUaW1lID0gKHR5cGVvZiB0b2tlbkV4cGlyYXRpb24gPT09ICdudW1iZXInID8gdG9rZW5FeHBpcmF0aW9uIDogMCkgLSBub3dcblxuICAgICAgaWYgKGZvcmNlUmVmcmVzaCB8fCAodG9rZW5FeHBpcmF0aW9uICYmIHJlbWFpbmluZ1RpbWUgPCAxMjApKSB7XG4gICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgcmVxdWVzdHMucG9zdChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7dXNlclNsdWd9L3JlZnJlc2gtdG9rZW5gLCB7XG4gICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGlmIChyZXF1ZXN0LnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXF1ZXN0Lmpzb24oKVxuICAgICAgICAgICAgICBzZXRVc2VyKGpzb24udXNlcilcbiAgICAgICAgICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uKGpzb24pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBzZXRVc2VyKG51bGwpXG4gICAgICAgICAgICAgIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRvYXN0LmVycm9yKGUubWVzc2FnZSlcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMDApXG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICB0b2tlbkV4cGlyYXRpb24sXG4gICAgICBzZXJ2ZXJVUkwsXG4gICAgICBhcGksXG4gICAgICB1c2VyU2x1ZyxcbiAgICAgIGkxOG4sXG4gICAgICByZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlLFxuICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uLFxuICAgIF0sXG4gIClcblxuICBjb25zdCByZWZyZXNoQ29va2llQXN5bmMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoc2tpcFNldFVzZXI/OiBib29sZWFuKTogUHJvbWlzZTxVc2VyPiA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgcmVxdWVzdHMucG9zdChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7dXNlclNsdWd9L3JlZnJlc2gtdG9rZW5gLCB7XG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAocmVxdWVzdC5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXF1ZXN0Lmpzb24oKVxuICAgICAgICAgIGlmICghc2tpcFNldFVzZXIpIHtcbiAgICAgICAgICAgIHNldFVzZXIoanNvbi51c2VyKVxuICAgICAgICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uKGpzb24pXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBqc29uLnVzZXJcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFVzZXIobnVsbClcbiAgICAgICAgcmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSgpXG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRvYXN0LmVycm9yKGBSZWZyZXNoaW5nIHRva2VuIGZhaWxlZDogJHtlLm1lc3NhZ2V9YClcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZXJ2ZXJVUkwsIGFwaSwgdXNlclNsdWcsIGkxOG4sIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUsIHNldFRva2VuQW5kRXhwaXJhdGlvbl0sXG4gIClcblxuICBjb25zdCBsb2dPdXQgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgc2V0VXNlcihudWxsKVxuICAgIHJldm9rZVRva2VuQW5kRXhwaXJlKClcbiAgICB0cnkge1xuICAgICAgYXdhaXQgcmVxdWVzdHMucG9zdChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7dXNlclNsdWd9L2xvZ291dGApXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdG9hc3QuZXJyb3IoYExvZ2dpbmcgb3V0IGZhaWxlZDogJHtlLm1lc3NhZ2V9YClcbiAgICB9XG4gIH0sIFtzZXJ2ZXJVUkwsIGFwaSwgdXNlclNsdWcsIHJldm9rZVRva2VuQW5kRXhwaXJlXSlcblxuICBjb25zdCByZWZyZXNoUGVybWlzc2lvbnMgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgbG9jYWxlOiBjb2RlLFxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgcmVxdWVzdHMuZ2V0KGAke3NlcnZlclVSTH0ke2FwaX0vYWNjZXNzPyR7cXMuc3RyaW5naWZ5KHBhcmFtcyl9YCwge1xuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgIH0sXG4gICAgICB9KVxuXG4gICAgICBpZiAocmVxdWVzdC5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICBjb25zdCBqc29uOiBQZXJtaXNzaW9ucyA9IGF3YWl0IHJlcXVlc3QuanNvbigpXG4gICAgICAgIHNldFBlcm1pc3Npb25zKGpzb24pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZldGNoaW5nIHBlcm1pc3Npb25zIGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlICR7cmVxdWVzdC5zdGF0dXN9YClcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0b2FzdC5lcnJvcihgUmVmcmVzaGluZyBwZXJtaXNzaW9ucyBmYWlsZWQ6ICR7ZS5tZXNzYWdlfWApXG4gICAgfVxuICB9LCBbc2VydmVyVVJMLCBhcGksIGkxOG4sIGNvZGVdKVxuXG4gIGNvbnN0IGZldGNoRnVsbFVzZXIgPSBSZWFjdC51c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCByZXF1ZXN0cy5nZXQoYCR7c2VydmVyVVJMfSR7YXBpfS8ke3VzZXJTbHVnfS9tZWAsIHtcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICB9LFxuICAgICAgfSlcblxuICAgICAgaWYgKHJlcXVlc3Quc3RhdHVzID09PSAyMDApIHtcbiAgICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlcXVlc3QuanNvbigpXG5cbiAgICAgICAgaWYgKGpzb24/LnVzZXIpIHtcbiAgICAgICAgICBzZXRVc2VyKGpzb24udXNlcilcbiAgICAgICAgICBpZiAoanNvbj8udG9rZW4pIHtcbiAgICAgICAgICAgIHNldFRva2VuQW5kRXhwaXJhdGlvbihqc29uKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChhdXRvTG9naW4gJiYgYXV0b0xvZ2luLnByZWZpbGxPbmx5ICE9PSB0cnVlKSB7XG4gICAgICAgICAgLy8gYXV0byBsb2ctaW4gd2l0aCB0aGUgcHJvdmlkZWQgYXV0b0xvZ2luIGNyZWRlbnRpYWxzLiBUaGlzIGlzIHVzZWQgaW4gZGV2IG1vZGVcbiAgICAgICAgICAvLyBzbyB5b3UgZG9uJ3QgaGF2ZSB0byBsb2cgaW4gb3ZlciBhbmQgb3ZlciBhZ2FpblxuICAgICAgICAgIGNvbnN0IGF1dG9Mb2dpblJlc3VsdCA9IGF3YWl0IHJlcXVlc3RzLnBvc3QoYCR7c2VydmVyVVJMfSR7YXBpfS8ke3VzZXJTbHVnfS9sb2dpbmAsIHtcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgZW1haWw6IGF1dG9Mb2dpbi5lbWFpbCxcbiAgICAgICAgICAgICAgcGFzc3dvcmQ6IGF1dG9Mb2dpbi5wYXNzd29yZCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSlcbiAgICAgICAgICBpZiAoYXV0b0xvZ2luUmVzdWx0LnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCBhdXRvTG9naW5Kc29uID0gYXdhaXQgYXV0b0xvZ2luUmVzdWx0Lmpzb24oKVxuICAgICAgICAgICAgc2V0VXNlcihhdXRvTG9naW5Kc29uLnVzZXIpXG4gICAgICAgICAgICBpZiAoYXV0b0xvZ2luSnNvbj8udG9rZW4pIHtcbiAgICAgICAgICAgICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uKGF1dG9Mb2dpbkpzb24pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb3V0ZXIucmVwbGFjZShcbiAgICAgICAgICAgICAgdHlwZW9mIHNlYXJjaFBhcmFtc1sncmVkaXJlY3QnXSA9PT0gJ3N0cmluZycgPyBzZWFyY2hQYXJhbXNbJ3JlZGlyZWN0J10gOiBhZG1pbixcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0VXNlcihudWxsKVxuICAgICAgICAgICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRVc2VyKG51bGwpXG4gICAgICAgICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdG9hc3QuZXJyb3IoYEZldGNoaW5nIHVzZXIgZmFpbGVkOiAke2UubWVzc2FnZX1gKVxuICAgIH1cbiAgfSwgW1xuICAgIHNlcnZlclVSTCxcbiAgICBhcGksXG4gICAgdXNlclNsdWcsXG4gICAgaTE4bi5sYW5ndWFnZSxcbiAgICBhdXRvTG9naW4sXG4gICAgc2V0VG9rZW5BbmRFeHBpcmF0aW9uLFxuICAgIHJvdXRlcixcbiAgICBzZWFyY2hQYXJhbXMsXG4gICAgYWRtaW4sXG4gICAgcmV2b2tlVG9rZW5BbmRFeHBpcmUsXG4gIF0pXG5cbiAgLy8gT24gbW91bnQsIGdldCB1c2VyIGFuZCBzZXRcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICB2b2lkIGZldGNoRnVsbFVzZXIoKVxuICB9LCBbZmV0Y2hGdWxsVXNlcl0pXG5cbiAgLy8gV2hlbiBsb2NhdGlvbiBjaGFuZ2VzLCByZWZyZXNoIGNvb2tpZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpZCkge1xuICAgICAgcmVmcmVzaENvb2tpZSgpXG4gICAgfVxuICB9LCBbZGVib3VuY2VkTG9jYXRpb25DaGFuZ2UsIHJlZnJlc2hDb29raWUsIGlkXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldExhc3RMb2NhdGlvbkNoYW5nZShEYXRlLm5vdygpKVxuICB9LCBbcGF0aG5hbWVdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IHJlbWluZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PlxuICAgIGNvbnN0IG5vdyA9IE1hdGgucm91bmQobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwKVxuICAgIGNvbnN0IHJlbWFpbmluZ1RpbWUgPSB0eXBlb2YgdG9rZW5FeHBpcmF0aW9uID09PSAnbnVtYmVyJyA/IHRva2VuRXhwaXJhdGlvbiAtIG5vdyA6IDBcblxuICAgIGlmIChyZW1haW5pbmdUaW1lID4gMCkge1xuICAgICAgcmVtaW5kZXIgPSBzZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgb3Blbk1vZGFsKCdzdGF5LWxvZ2dlZC1pbicpXG4gICAgICAgIH0sXG4gICAgICAgIE1hdGgubWF4KE1hdGgubWluKChyZW1haW5pbmdUaW1lIC0gNjApICogMTAwMCwgbWF4VGltZW91dFRpbWUpKSxcbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHJlbWluZGVyKSBjbGVhclRpbWVvdXQocmVtaW5kZXIpXG4gICAgfVxuICB9LCBbdG9rZW5FeHBpcmF0aW9uLCBvcGVuTW9kYWxdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGZvcmNlTG9nT3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PlxuICAgIGNvbnN0IG5vdyA9IE1hdGgucm91bmQobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwKVxuICAgIGNvbnN0IHJlbWFpbmluZ1RpbWUgPSB0eXBlb2YgdG9rZW5FeHBpcmF0aW9uID09PSAnbnVtYmVyJyA/IHRva2VuRXhwaXJhdGlvbiAtIG5vdyA6IDBcblxuICAgIGlmIChyZW1haW5pbmdUaW1lID4gMCkge1xuICAgICAgZm9yY2VMb2dPdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgc2V0VXNlcihudWxsKVxuICAgICAgICAgIHJldm9rZVRva2VuQW5kRXhwaXJlKClcbiAgICAgICAgICByZWRpcmVjdFRvSW5hY3Rpdml0eVJvdXRlKClcbiAgICAgICAgfSxcbiAgICAgICAgTWF0aC5tYXgoTWF0aC5taW4ocmVtYWluaW5nVGltZSAqIDEwMDAsIG1heFRpbWVvdXRUaW1lKSwgMCksXG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChmb3JjZUxvZ091dCkgY2xlYXJUaW1lb3V0KGZvcmNlTG9nT3V0KVxuICAgIH1cbiAgfSwgW3Rva2VuRXhwaXJhdGlvbiwgY2xvc2VBbGxNb2RhbHMsIGkxOG4sIHJlZGlyZWN0VG9JbmFjdGl2aXR5Um91dGUsIHJldm9rZVRva2VuQW5kRXhwaXJlXSlcblxuICByZXR1cm4gKFxuICAgIDxDb250ZXh0LlByb3ZpZGVyXG4gICAgICB2YWx1ZT17e1xuICAgICAgICBmZXRjaEZ1bGxVc2VyLFxuICAgICAgICBsb2dPdXQsXG4gICAgICAgIHBlcm1pc3Npb25zLFxuICAgICAgICByZWZyZXNoQ29va2llLFxuICAgICAgICByZWZyZXNoQ29va2llQXN5bmMsXG4gICAgICAgIHJlZnJlc2hQZXJtaXNzaW9ucyxcbiAgICAgICAgc2V0UGVybWlzc2lvbnMsXG4gICAgICAgIHNldFVzZXIsXG4gICAgICAgIHRva2VuOiB0b2tlbkluTWVtb3J5LFxuICAgICAgICB1c2VyLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Db250ZXh0LlByb3ZpZGVyPlxuICApXG59XG5cbmV4cG9ydCBjb25zdCB1c2VBdXRoID0gPFQgPSBVc2VyLD4oKTogQXV0aENvbnRleHQ8VD4gPT4gdXNlQ29udGV4dChDb250ZXh0KSBhcyBBdXRoQ29udGV4dDxUPlxuIl0sIm5hbWVzIjpbImZhY2VsZXNzVUlJbXBvcnQiLCJ1c2VQYXRobmFtZSIsInVzZVJvdXRlciIsInFzIiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwidXNlQ2FsbGJhY2siLCJ1c2VDb250ZXh0IiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJ0b2FzdCIsInVzZURlYm91bmNlIiwidXNlVHJhbnNsYXRpb24iLCJyZXF1ZXN0cyIsInVzZUNvbmZpZyIsInVzZVNlYXJjaFBhcmFtcyIsIkNvbnRleHQiLCJtYXhUaW1lb3V0VGltZSIsIkF1dGhQcm92aWRlciIsImNoaWxkcmVuIiwidXNlTW9kYWwiLCJzZWFyY2hQYXJhbXMiLCJ1c2VyIiwic2V0VXNlciIsInRva2VuSW5NZW1vcnkiLCJzZXRUb2tlbkluTWVtb3J5IiwidG9rZW5FeHBpcmF0aW9uIiwic2V0VG9rZW5FeHBpcmF0aW9uIiwicGF0aG5hbWUiLCJyb3V0ZXIiLCJjb2RlIiwiY29uZmlnIiwiYWRtaW4iLCJhdXRvTG9naW4iLCJpbmFjdGl2aXR5Um91dGUiLCJsb2dvdXRJbmFjdGl2aXR5Um91dGUiLCJ1c2VyU2x1ZyIsInJvdXRlcyIsImFwaSIsInNlcnZlclVSTCIsInBlcm1pc3Npb25zIiwic2V0UGVybWlzc2lvbnMiLCJpMThuIiwiY2xvc2VBbGxNb2RhbHMiLCJvcGVuTW9kYWwiLCJsYXN0TG9jYXRpb25DaGFuZ2UiLCJzZXRMYXN0TG9jYXRpb25DaGFuZ2UiLCJkZWJvdW5jZWRMb2NhdGlvbkNoYW5nZSIsImlkIiwicmVkaXJlY3RUb0luYWN0aXZpdHlSb3V0ZSIsIndpbmRvdyIsImxvY2F0aW9uIiwic3RhcnRzV2l0aCIsInJlZGlyZWN0UGFyYW0iLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZXBsYWNlIiwicmV2b2tlVG9rZW5BbmRFeHBpcmUiLCJ1bmRlZmluZWQiLCJzZXRUb2tlbkFuZEV4cGlyYXRpb24iLCJqc29uIiwidG9rZW4iLCJyZWZyZXNoZWRUb2tlbiIsImV4cCIsInJlZnJlc2hDb29raWUiLCJmb3JjZVJlZnJlc2giLCJub3ciLCJNYXRoIiwicm91bmQiLCJEYXRlIiwiZ2V0VGltZSIsInJlbWFpbmluZ1RpbWUiLCJzZXRUaW1lb3V0IiwicmVxdWVzdCIsInBvc3QiLCJoZWFkZXJzIiwibGFuZ3VhZ2UiLCJzdGF0dXMiLCJlIiwiZXJyb3IiLCJtZXNzYWdlIiwicmVmcmVzaENvb2tpZUFzeW5jIiwic2tpcFNldFVzZXIiLCJsb2dPdXQiLCJyZWZyZXNoUGVybWlzc2lvbnMiLCJwYXJhbXMiLCJsb2NhbGUiLCJnZXQiLCJzdHJpbmdpZnkiLCJFcnJvciIsImZldGNoRnVsbFVzZXIiLCJwcmVmaWxsT25seSIsImF1dG9Mb2dpblJlc3VsdCIsImJvZHkiLCJKU09OIiwiZW1haWwiLCJwYXNzd29yZCIsImF1dG9Mb2dpbkpzb24iLCJyZW1pbmRlciIsIm1heCIsIm1pbiIsImNsZWFyVGltZW91dCIsImZvcmNlTG9nT3V0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsInVzZUF1dGgiXSwibWFwcGluZ3MiOiJBQUFBO0FBR0EsWUFBWUEsc0JBQXNCLHFCQUFvQjtBQUN0RCxTQUFTQyxXQUFXLEVBQUVDLFNBQVMsUUFBUSxxQkFBb0I7QUFDM0QsT0FBT0MsUUFBUSxLQUFJO0FBQ25CLE9BQU9DLFNBQVNDLGFBQWEsRUFBRUMsV0FBVyxFQUFFQyxVQUFVLEVBQUVDLFNBQVMsRUFBRUMsUUFBUSxRQUFRLFFBQU87QUFDMUYsU0FBU0MsS0FBSyxRQUFRLGlCQUFnQjtBQUl0QyxPQUFPQyxpQkFBaUIsNkJBQTRCO0FBQ3BELFNBQVNDLGNBQWMsUUFBUSx1Q0FBc0M7QUFDckUsU0FBU0MsUUFBUSxRQUFRLHlCQUF3QjtBQUNqRCxTQUFTQyxTQUFTLFFBQVEscUJBQW9CO0FBQzlDLFNBQVNDLGVBQWUsUUFBUSwyQkFBMEI7QUFDMUQsd0NBQXdDO0FBRXhDLE1BQU1DLHdCQUFVWCxjQUFjLENBQUM7QUFFL0IsTUFBTVksaUJBQWlCO0FBRXZCLE9BQU8sTUFBTUMsZUFBd0QsQ0FBQyxFQUFFQyxRQUFRLEVBQUU7SUFDaEYsTUFBTSxFQUFFQyxRQUFRLEVBQUUsR0FBR3BCO0lBRXJCLE1BQU0sRUFBRXFCLFlBQVksRUFBRSxHQUFHTjtJQUN6QixNQUFNLENBQUNPLE1BQU1DLFFBQVEsR0FBR2Q7SUFDeEIsTUFBTSxDQUFDZSxlQUFlQyxpQkFBaUIsR0FBR2hCO0lBQzFDLE1BQU0sQ0FBQ2lC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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Locale/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Locale/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAyD,MAAM,OAAO,CAAA;AAQ7E,QAAA,MAAM,aAAa,uBAA8B,CAAA;AAEjD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAuEnE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,QAAO,MAAmC,CAAA;AAEhE,eAAe,aAAa,CAAA"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
// TODO: abstract the `next/navigation` dependency out from this component
|
|
3
|
-
import { useRouter } from 'next/navigation.js';
|
|
4
2
|
import React, { createContext, useContext, useEffect, useState } from 'react';
|
|
5
3
|
import { findLocaleFromCode } from '../../utilities/findLocaleFromCode.js';
|
|
6
4
|
import { useAuth } from '../Auth/index.js';
|
|
@@ -12,62 +10,55 @@ export const LocaleProvider = ({ children })=>{
|
|
|
12
10
|
const { localization } = useConfig();
|
|
13
11
|
const { user } = useAuth();
|
|
14
12
|
const defaultLocale = localization && localization.defaultLocale ? localization.defaultLocale : 'en';
|
|
15
|
-
const {
|
|
16
|
-
const
|
|
17
|
-
const [localeCode, setLocaleCode] = useState(
|
|
13
|
+
const { searchParams } = useSearchParams();
|
|
14
|
+
const localeFromParams = searchParams?.locale || '';
|
|
15
|
+
const [localeCode, setLocaleCode] = useState(localeFromParams || defaultLocale);
|
|
18
16
|
const [locale, setLocale] = useState(localization && findLocaleFromCode(localization, localeCode));
|
|
19
17
|
const { getPreference, setPreference } = usePreferences();
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
// set locale from preferences or default
|
|
34
|
-
let preferenceLocale;
|
|
35
|
-
let isPreferenceInConfig;
|
|
36
|
-
if (user) {
|
|
37
|
-
preferenceLocale = await getPreference('locale');
|
|
38
|
-
isPreferenceInConfig = preferenceLocale && localization.localeCodes.indexOf(preferenceLocale) > -1;
|
|
39
|
-
if (isPreferenceInConfig) {
|
|
40
|
-
setLocaleCode(preferenceLocale);
|
|
41
|
-
setLocale(findLocaleFromCode(localization, preferenceLocale));
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
await setPreference('locale', defaultLocale);
|
|
18
|
+
const switchLocale = React.useCallback(async (newLocale)=>{
|
|
19
|
+
if (!localization) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const localeToSet = localization.localeCodes.indexOf(newLocale) > -1 ? newLocale : defaultLocale;
|
|
23
|
+
if (localeToSet !== localeCode) {
|
|
24
|
+
setLocaleCode(localeToSet);
|
|
25
|
+
setLocale(findLocaleFromCode(localization, localeToSet));
|
|
26
|
+
try {
|
|
27
|
+
if (user) await setPreference('locale', localeToSet);
|
|
28
|
+
} catch (error) {
|
|
29
|
+
// swallow error
|
|
45
30
|
}
|
|
46
|
-
setLocaleCode(defaultLocale);
|
|
47
|
-
setLocale(findLocaleFromCode(localization, defaultLocale));
|
|
48
31
|
}
|
|
49
|
-
void localeChangeHandler();
|
|
50
32
|
}, [
|
|
51
|
-
|
|
52
|
-
getPreference,
|
|
53
|
-
localeFromParams,
|
|
33
|
+
localization,
|
|
54
34
|
setPreference,
|
|
55
35
|
user,
|
|
56
|
-
|
|
57
|
-
|
|
36
|
+
defaultLocale,
|
|
37
|
+
localeCode
|
|
58
38
|
]);
|
|
59
39
|
useEffect(()=>{
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
40
|
+
async function setInitialLocale() {
|
|
41
|
+
let localeToSet = defaultLocale;
|
|
42
|
+
if (typeof localeFromParams === 'string') {
|
|
43
|
+
localeToSet = localeFromParams;
|
|
44
|
+
} else if (user) {
|
|
45
|
+
try {
|
|
46
|
+
localeToSet = await getPreference('locale');
|
|
47
|
+
} catch (error) {
|
|
48
|
+
// swallow error
|
|
65
49
|
}
|
|
66
|
-
}
|
|
50
|
+
}
|
|
51
|
+
await switchLocale(localeToSet);
|
|
67
52
|
}
|
|
53
|
+
void setInitialLocale();
|
|
68
54
|
}, [
|
|
69
|
-
|
|
70
|
-
|
|
55
|
+
defaultLocale,
|
|
56
|
+
getPreference,
|
|
57
|
+
localization,
|
|
58
|
+
localeFromParams,
|
|
59
|
+
setPreference,
|
|
60
|
+
user,
|
|
61
|
+
switchLocale
|
|
71
62
|
]);
|
|
72
63
|
return /*#__PURE__*/ React.createElement(LocaleContext.Provider, {
|
|
73
64
|
value: locale
|
|
@@ -78,4 +69,4 @@ export const LocaleProvider = ({ children })=>{
|
|
|
78
69
|
*/ export const useLocale = ()=>useContext(LocaleContext);
|
|
79
70
|
export default LocaleContext;
|
|
80
71
|
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvTG9jYWxlL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHR5cGUgeyBMb2NhbGUgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcblxuaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgZmluZExvY2FsZUZyb21Db2RlIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2ZpbmRMb2NhbGVGcm9tQ29kZS5qcydcbmltcG9ydCB7IHVzZUF1dGggfSBmcm9tICcuLi9BdXRoL2luZGV4LmpzJ1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnLi4vQ29uZmlnL2luZGV4LmpzJ1xuaW1wb3J0IHsgdXNlUHJlZmVyZW5jZXMgfSBmcm9tICcuLi9QcmVmZXJlbmNlcy9pbmRleC5qcydcbmltcG9ydCB7IHVzZVNlYXJjaFBhcmFtcyB9IGZyb20gJy4uL1NlYXJjaFBhcmFtcy9pbmRleC5qcydcblxuY29uc3QgTG9jYWxlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoe30gYXMgTG9jYWxlKVxuXG5leHBvcnQgY29uc3QgTG9jYWxlUHJvdmlkZXI6IFJlYWN0LkZDPHsgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGUgfT4gPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gIGNvbnN0IHsgbG9jYWxpemF0aW9uIH0gPSB1c2VDb25maWcoKVxuXG4gIGNvbnN0IHsgdXNlciB9ID0gdXNlQXV0aCgpXG4gIGNvbnN0IGRlZmF1bHRMb2NhbGUgPVxuICAgIGxvY2FsaXphdGlvbiAmJiBsb2NhbGl6YXRpb24uZGVmYXVsdExvY2FsZSA/IGxvY2FsaXphdGlvbi5kZWZhdWx0TG9jYWxlIDogJ2VuJ1xuXG4gIGNvbnN0IHsgc2VhcmNoUGFyYW1zIH0gPSB1c2VTZWFyY2hQYXJhbXMoKVxuICBjb25zdCBsb2NhbGVGcm9tUGFyYW1zID0gc2VhcmNoUGFyYW1zPy5sb2NhbGUgfHwgJydcblxuICBjb25zdCBbbG9jYWxlQ29kZSwgc2V0TG9jYWxlQ29kZV0gPSB1c2VTdGF0ZTxzdHJpbmc+KFxuICAgIChsb2NhbGVGcm9tUGFyYW1zIGFzIHN0cmluZykgfHwgZGVmYXVsdExvY2FsZSxcbiAgKVxuXG4gIGNvbnN0IFtsb2NhbGUsIHNldExvY2FsZV0gPSB1c2VTdGF0ZTxMb2NhbGUgfCBudWxsPihcbiAgICBsb2NhbGl6YXRpb24gJiYgZmluZExvY2FsZUZyb21Db2RlKGxvY2FsaXphdGlvbiwgbG9jYWxlQ29kZSksXG4gIClcblxuICBjb25zdCB7IGdldFByZWZlcmVuY2UsIHNldFByZWZlcmVuY2UgfSA9IHVzZVByZWZlcmVuY2VzKClcblxuICBjb25zdCBzd2l0Y2hMb2NhbGUgPSBSZWFjdC51c2VDYWxsYmFjayhcbiAgICBhc3luYyAobmV3TG9jYWxlOiBzdHJpbmcpID0+IHtcbiAgICAgIGlmICghbG9jYWxpemF0aW9uKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCBsb2NhbGVUb1NldCA9XG4gICAgICAgIGxvY2FsaXphdGlvbi5sb2NhbGVDb2Rlcy5pbmRleE9mKG5ld0xvY2FsZSkgPiAtMSA/IG5ld0xvY2FsZSA6IGRlZmF1bHRMb2NhbGVcblxuICAgICAgaWYgKGxvY2FsZVRvU2V0ICE9PSBsb2NhbGVDb2RlKSB7XG4gICAgICAgIHNldExvY2FsZUNvZGUobG9jYWxlVG9TZXQpXG4gICAgICAgIHNldExvY2FsZShmaW5kTG9jYWxlRnJvbUNvZGUobG9jYWxpemF0aW9uLCBsb2NhbGVUb1NldCkpXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKHVzZXIpIGF3YWl0IHNldFByZWZlcmVuY2UoJ2xvY2FsZScsIGxvY2FsZVRvU2V0KVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIC8vIHN3YWxsb3cgZXJyb3JcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgW2xvY2FsaXphdGlvbiwgc2V0UHJlZmVyZW5jZSwgdXNlciwgZGVmYXVsdExvY2FsZSwgbG9jYWxlQ29kZV0sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGFzeW5jIGZ1bmN0aW9uIHNldEluaXRpYWxMb2NhbGUoKSB7XG4gICAgICBsZXQgbG9jYWxlVG9TZXQgPSBkZWZhdWx0TG9jYWxlXG5cbiAgICAgIGlmICh0eXBlb2YgbG9jYWxlRnJvbVBhcmFtcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgbG9jYWxlVG9TZXQgPSBsb2NhbGVGcm9tUGFyYW1zXG4gICAgICB9IGVsc2UgaWYgKHVzZXIpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBsb2NhbGVUb1NldCA9IGF3YWl0IGdldFByZWZlcmVuY2U8c3RyaW5nPignbG9jYWxlJylcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAvLyBzd2FsbG93IGVycm9yXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYXdhaXQgc3dpdGNoTG9jYWxlKGxvY2FsZVRvU2V0KVxuICAgIH1cblxuICAgIHZvaWQgc2V0SW5pdGlhbExvY2FsZSgpXG4gIH0sIFtcbiAgICBkZWZhdWx0TG9jYWxlLFxuICAgIGdldFByZWZlcmVuY2UsXG4gICAgbG9jYWxpemF0aW9uLFxuICAgIGxvY2FsZUZyb21QYXJhbXMsXG4gICAgc2V0UHJlZmVyZW5jZSxcbiAgICB1c2VyLFxuICAgIHN3aXRjaExvY2FsZSxcbiAgXSlcblxuICByZXR1cm4gPExvY2FsZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2xvY2FsZX0+e2NoaWxkcmVufTwvTG9jYWxlQ29udGV4dC5Qcm92aWRlcj5cbn1cblxuLyoqXG4gKiBBIGhvb2sgdGhhdCByZXR1cm5zIHRoZSBjdXJyZW50IGxvY2FsZSBvYmplY3QuXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VMb2NhbGUgPSAoKTogTG9jYWxlID0+IHVzZUNvbnRleHQoTG9jYWxlQ29udGV4dClcblxuZXhwb3J0IGRlZmF1bHQgTG9jYWxlQ29udGV4dFxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsImZpbmRMb2NhbGVGcm9tQ29kZSIsInVzZUF1dGgiLCJ1c2VDb25maWciLCJ1c2VQcmVmZXJlbmNlcyIsInVzZVNlYXJjaFBhcmFtcyIsIkxvY2FsZUNvbnRleHQiLCJMb2NhbGVQcm92aWRlciIsImNoaWxkcmVuIiwibG9jYWxpemF0aW9uIiwidXNlciIsImRlZmF1bHRMb2NhbGUiLCJzZWFyY2hQYXJhbXMiLCJsb2NhbGVGcm9tUGFyYW1zIiwibG9jYWxlIiwibG9jYWxlQ29kZSIsInNldExvY2FsZUNvZGUiLCJzZXRMb2NhbGUiLCJnZXRQcmVmZXJlbmNlIiwic2V0UHJlZmVyZW5jZSIsInN3aXRjaExvY2FsZSIsInVzZUNhbGxiYWNrIiwibmV3TG9jYWxlIiwibG9jYWxlVG9TZXQiLCJsb2NhbGVDb2RlcyIsImluZGV4T2YiLCJlcnJvciIsInNldEluaXRpYWxMb2NhbGUiLCJQcm92aWRlciIsInZhbHVlIiwidXNlTG9jYWxlIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUlBLE9BQU9BLFNBQVNDLGFBQWEsRUFBRUMsVUFBVSxFQUFFQyxTQUFTLEVBQUVDLFFBQVEsUUFBUSxRQUFPO0FBRTdFLFNBQVNDLGtCQUFrQixRQUFRLHdDQUF1QztBQUMxRSxTQUFTQyxPQUFPLFFBQVEsbUJBQWtCO0FBQzFDLFNBQVNDLFNBQVMsUUFBUSxxQkFBb0I7QUFDOUMsU0FBU0MsY0FBYyxRQUFRLDBCQUF5QjtBQUN4RCxTQUFTQyxlQUFlLFFBQVEsMkJBQTBCO0FBRTFELE1BQU1DLDhCQUFnQlQsY0FBYyxDQUFDO0FBRXJDLE9BQU8sTUFBTVUsaUJBQTJELENBQUMsRUFBRUMsUUFBUSxFQUFFO0lBQ25GLE1BQU0sRUFBRUMsWUFBWSxFQUFFLEdBQUdOO0lBRXpCLE1BQU0sRUFBRU8sSUFBSSxFQUFFLEdBQUdSO0lBQ2pCLE1BQU1TLGdCQUNKRixnQkFBZ0JBLGFBQWFFLGFBQWEsR0FBR0YsYUFBYUUsYUFBYSxHQUFHO0lBRTVFLE1BQU0sRUFBRUMsWUFBWSxFQUFFLEdBQUdQO0lBQ3pCLE1BQU1RLG1CQUFtQkQsY0FBY0UsVUFBVTtJQUVqRCxNQUFNLENBQUNDLFlBQVlDLGNBQWMsR0FBR2hCLFNBQ2xDLEFBQUNhLG9CQUErQkY7SUFHbEMsTUFBTSxDQUFDRyxRQUFRRyxVQUFVLEdBQUdqQixTQUMxQlMsZ0JBQWdCUixtQkFBbUJRLGNBQWNNO0lBR25ELE1BQU0sRUFBRUcsYUFBYSxFQUFFQyxhQUFhLEVBQUUsR0FBR2Y7SUFFekMsTUFBTWdCLGVBQWV4QixNQUFNeUIsV0FBVyxDQUNwQyxPQUFPQztRQUNMLElBQUksQ0FBQ2IsY0FBYztZQUNqQjtRQUNGO1FBRUEsTUFBTWMsY0FDSmQsYUFBYWUsV0FBVyxDQUFDQyxPQUFPLENBQUNILGFBQWEsQ0FBQyxJQUFJQSxZQUFZWDtRQUVqRSxJQUFJWSxnQkFBZ0JSLFlBQVk7WUFDOUJDLGNBQWNPO1lBQ2ROLFVBQVVoQixtQkFBbUJRLGNBQWNjO1lBQzNDLElBQUk7Z0JBQ0YsSUFBSWIsTUFBTSxNQUFNUyxjQUFjLFVBQVVJO1lBQzFDLEVBQUUsT0FBT0csT0FBTztZQUNkLGdCQUFnQjtZQUNsQjtRQUNGO0lBQ0YsR0FDQTtRQUFDakI7UUFBY1U7UUFBZVQ7UUFBTUM7UUFBZUk7S0FBVztJQUdoRWhCLFVBQVU7UUFDUixlQUFlNEI7WUFDYixJQUFJSixjQUFjWjtZQUVsQixJQUFJLE9BQU9FLHFCQUFxQixVQUFVO2dCQUN4Q1UsY0FBY1Y7WUFDaEIsT0FBTyxJQUFJSCxNQUFNO2dCQUNmLElBQUk7b0JBQ0ZhLGNBQWMsTUFBTUwsY0FBc0I7Z0JBQzVDLEVBQUUsT0FBT1EsT0FBTztnQkFDZCxnQkFBZ0I7Z0JBQ2xCO1lBQ0Y7WUFFQSxNQUFNTixhQUFhRztRQUNyQjtRQUVBLEtBQUtJO0lBQ1AsR0FBRztRQUNEaEI7UUFDQU87UUFDQVQ7UUFDQUk7UUFDQU07UUFDQVQ7UUFDQVU7S0FDRDtJQUVELHFCQUFPLG9CQUFDZCxjQUFjc0IsUUFBUTtRQUFDQyxPQUFPZjtPQUFTTjtBQUNqRCxFQUFDO0FBRUQ7O0NBRUMsR0FDRCxPQUFPLE1BQU1zQixZQUFZLElBQWNoQyxXQUFXUSxlQUFjO0FBRWhFLGVBQWVBLGNBQWEifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAKjD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAmB9D,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,YAAY,EAAE,YAAY,CAAA;IAC1B,MAAM,EAAE,YAAY,CAAA;IACpB,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAA;IACtD,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,eAAe,CAAA;IAChC,YAAY,EAAE,oBAAoB,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAKjD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAmB9D,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,YAAY,EAAE,YAAY,CAAA;IAC1B,MAAM,EAAE,YAAY,CAAA;IACpB,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAA;IACtD,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,eAAe,CAAA;IAChC,YAAY,EAAE,oBAAoB,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuExC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
2
|
+
import * as facelessUIImport from '@faceless-ui/modal';
|
|
3
|
+
import * as facelessUIImport3 from '@faceless-ui/scroll-info';
|
|
4
|
+
import * as facelessUIImport2 from '@faceless-ui/window-info';
|
|
5
5
|
import React, { Fragment } from 'react';
|
|
6
6
|
import { Slide, ToastContainer } from 'react-toastify';
|
|
7
7
|
import { LoadingOverlayProvider } from '../../elements/LoadingOverlay/index.js';
|
|
@@ -21,6 +21,16 @@ import { SearchParamsProvider } from '../SearchParams/index.js';
|
|
|
21
21
|
import { ThemeProvider } from '../Theme/index.js';
|
|
22
22
|
import { TranslationProvider } from '../Translation/index.js';
|
|
23
23
|
export const RootProvider = ({ children, componentMap, config, fallbackLang, lang, languageOptions, translations })=>{
|
|
24
|
+
const { ModalContainer, ModalProvider } = facelessUIImport || {
|
|
25
|
+
ModalContainer: React.Fragment,
|
|
26
|
+
ModalProvider: React.Fragment
|
|
27
|
+
};
|
|
28
|
+
const { WindowInfoProvider } = facelessUIImport2 || {
|
|
29
|
+
WindowInfoProvider: React.Fragment
|
|
30
|
+
};
|
|
31
|
+
const { ScrollInfoProvider } = facelessUIImport3 || {
|
|
32
|
+
ScrollInfoProvider: React.Fragment
|
|
33
|
+
};
|
|
24
34
|
return /*#__PURE__*/ React.createElement(Fragment, null, /*#__PURE__*/ React.createElement(ConfigProvider, {
|
|
25
35
|
config: config
|
|
26
36
|
}, /*#__PURE__*/ React.createElement(ComponentMapProvider, {
|
|
@@ -48,4 +58,4 @@ export const RootProvider = ({ children, componentMap, config, fallbackLang, lan
|
|
|
48
58
|
}));
|
|
49
59
|
};
|
|
50
60
|
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvUm9vdC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgdHlwZSB7IExhbmd1YWdlVHJhbnNsYXRpb25zIH0gZnJvbSAnQHBheWxvYWRjbXMvdHJhbnNsYXRpb25zJ1xuaW1wb3J0IHR5cGUgeyBDbGllbnRDb25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgKiBhcyBmYWNlbGVzc1VJSW1wb3J0IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCAqIGFzIGZhY2VsZXNzVUlJbXBvcnQzIGZyb20gJ0BmYWNlbGVzcy11aS9zY3JvbGwtaW5mbydcbmltcG9ydCAqIGFzIGZhY2VsZXNzVUlJbXBvcnQyIGZyb20gJ0BmYWNlbGVzcy11aS93aW5kb3ctaW5mbydcbmltcG9ydCBSZWFjdCwgeyBGcmFnbWVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgU2xpZGUsIFRvYXN0Q29udGFpbmVyIH0gZnJvbSAncmVhY3QtdG9hc3RpZnknXG5cbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50TWFwIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2J1aWxkQ29tcG9uZW50TWFwL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBMYW5ndWFnZU9wdGlvbnMgfSBmcm9tICcuLi9UcmFuc2xhdGlvbi9pbmRleC5qcydcblxuaW1wb3J0IHsgTG9hZGluZ092ZXJsYXlQcm92aWRlciB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL0xvYWRpbmdPdmVybGF5L2luZGV4LmpzJ1xuaW1wb3J0IHsgTmF2UHJvdmlkZXIgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9OYXYvY29udGV4dC5qcydcbmltcG9ydCB7IFN0ZXBOYXZQcm92aWRlciB9IGZyb20gJy4uLy4uL2VsZW1lbnRzL1N0ZXBOYXYvaW5kZXguanMnXG5pbXBvcnQgeyBBY3Rpb25zUHJvdmlkZXIgfSBmcm9tICcuLi9BY3Rpb25zUHJvdmlkZXIvaW5kZXguanMnXG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tICcuLi9BdXRoL2luZGV4LmpzJ1xuaW1wb3J0IHsgQ2xpZW50RnVuY3Rpb25Qcm92aWRlciB9IGZyb20gJy4uL0NsaWVudEZ1bmN0aW9uL2luZGV4LmpzJ1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwUHJvdmlkZXIgfSBmcm9tICcuLi9Db21wb25lbnRNYXBQcm92aWRlci9pbmRleC5qcydcbmltcG9ydCB7IENvbmZpZ1Byb3ZpZGVyIH0gZnJvbSAnLi4vQ29uZmlnL2luZGV4LmpzJ1xuaW1wb3J0IHsgQ3VzdG9tUHJvdmlkZXIgfSBmcm9tICcuLi9DdXN0b21Qcm92aWRlci9pbmRleC5qcydcbmltcG9ydCB7IERvY3VtZW50RXZlbnRzUHJvdmlkZXIgfSBmcm9tICcuLi9Eb2N1bWVudEV2ZW50cy9pbmRleC5qcydcbmltcG9ydCB7IExvY2FsZVByb3ZpZGVyIH0gZnJvbSAnLi4vTG9jYWxlL2luZGV4LmpzJ1xuaW1wb3J0IHsgUGFyYW1zUHJvdmlkZXIgfSBmcm9tICcuLi9QYXJhbXMvaW5kZXguanMnXG5pbXBvcnQgeyBQcmVmZXJlbmNlc1Byb3ZpZGVyIH0gZnJvbSAnLi4vUHJlZmVyZW5jZXMvaW5kZXguanMnXG5pbXBvcnQgeyBTZWFyY2hQYXJhbXNQcm92aWRlciB9IGZyb20gJy4uL1NlYXJjaFBhcmFtcy9pbmRleC5qcydcbmltcG9ydCB7IFRoZW1lUHJvdmlkZXIgfSBmcm9tICcuLi9UaGVtZS9pbmRleC5qcydcbmltcG9ydCB7IFRyYW5zbGF0aW9uUHJvdmlkZXIgfSBmcm9tICcuLi9UcmFuc2xhdGlvbi9pbmRleC5qcydcblxudHlwZSBQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxuICBjb21wb25lbnRNYXA6IENvbXBvbmVudE1hcFxuICBjb25maWc6IENsaWVudENvbmZpZ1xuICBmYWxsYmFja0xhbmc6IENsaWVudENvbmZpZ1snaTE4biddWydmYWxsYmFja0xhbmd1YWdlJ11cbiAgbGFuZzogc3RyaW5nXG4gIGxhbmd1YWdlT3B0aW9uczogTGFuZ3VhZ2VPcHRpb25zXG4gIHRyYW5zbGF0aW9uczogTGFuZ3VhZ2VUcmFuc2xhdGlvbnNcbn1cblxuZXhwb3J0IGNvbnN0IFJvb3RQcm92aWRlcjogUmVhY3QuRkM8UHJvcHM+ID0gKHtcbiAgY2hpbGRyZW4sXG4gIGNvbXBvbmVudE1hcCxcbiAgY29uZmlnLFxuICBmYWxsYmFja0xhbmcsXG4gIGxhbmcsXG4gIGxhbmd1YWdlT3B0aW9ucyxcbiAgdHJhbnNsYXRpb25zLFxufSkgPT4ge1xuICBjb25zdCB7IE1vZGFsQ29udGFpbmVyLCBNb2RhbFByb3ZpZGVyIH0gPSBmYWNlbGVzc1VJSW1wb3J0IHx8IHtcbiAgICBNb2RhbENvbnRhaW5lcjogUmVhY3QuRnJhZ21lbnQsXG4gICAgTW9kYWxQcm92aWRlcjogUmVhY3QuRnJhZ21lbnQsXG4gIH1cbiAgY29uc3QgeyBXaW5kb3dJbmZvUHJvdmlkZXIgfSA9IGZhY2VsZXNzVUlJbXBvcnQyIHx8IHsgV2luZG93SW5mb1Byb3ZpZGVyOiBSZWFjdC5GcmFnbWVudCB9XG4gIGNvbnN0IHsgU2Nyb2xsSW5mb1Byb3ZpZGVyIH0gPSBmYWNlbGVzc1VJSW1wb3J0MyB8fCB7IFNjcm9sbEluZm9Qcm92aWRlcjogUmVhY3QuRnJhZ21lbnQgfVxuXG4gIHJldHVybiAoXG4gICAgPEZyYWdtZW50PlxuICAgICAgPENvbmZpZ1Byb3ZpZGVyIGNvbmZpZz17Y29uZmlnfT5cbiAgICAgICAgPENvbXBvbmVudE1hcFByb3ZpZGVyIGNvbXBvbmVudE1hcD17Y29tcG9uZW50TWFwfT5cbiAgICAgICAgICA8Q2xpZW50RnVuY3Rpb25Qcm92aWRlcj5cbiAgICAgICAgICAgIDxUcmFuc2xhdGlvblByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhbGxiYWNrTGFuZz17ZmFsbGJhY2tMYW5nfVxuICAgICAgICAgICAgICBsYW5nPXtsYW5nfVxuICAgICAgICAgICAgICBsYW5ndWFnZU9wdGlvbnM9e2xhbmd1YWdlT3B0aW9uc31cbiAgICAgICAgICAgICAgdHJhbnNsYXRpb25zPXt0cmFuc2xhdGlvbnN9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxXaW5kb3dJbmZvUHJvdmlkZXJcbiAgICAgICAgICAgICAgICBicmVha3BvaW50cz17e1xuICAgICAgICAgICAgICAgICAgbDogJyhtYXgtd2lkdGg6IDE0NDBweCknLFxuICAgICAgICAgICAgICAgICAgbTogJyhtYXgtd2lkdGg6IDEwMjRweCknLFxuICAgICAgICAgICAgICAgICAgczogJyhtYXgtd2lkdGg6IDc2OHB4KScsXG4gICAgICAgICAgICAgICAgICB4czogJyhtYXgtd2lkdGg6IDQwMHB4KScsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTY3JvbGxJbmZvUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICA8U2VhcmNoUGFyYW1zUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxNb2RhbFByb3ZpZGVyIGNsYXNzUHJlZml4PVwicGF5bG9hZFwiIHRyYW5zVGltZT17MH0gekluZGV4PVwidmFyKC0tei1tb2RhbClcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8QXV0aFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFByZWZlcmVuY2VzUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxUaGVtZVByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQYXJhbXNQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMb2NhbGVQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN0ZXBOYXZQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TG9hZGluZ092ZXJsYXlQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEb2N1bWVudEV2ZW50c1Byb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QWN0aW9uc1Byb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDdXN0b21Qcm92aWRlcj57Y2hpbGRyZW59PC9DdXN0b21Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L05hdlByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FjdGlvbnNQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRG9jdW1lbnRFdmVudHNQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xvYWRpbmdPdmVybGF5UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3RlcE5hdlByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Mb2NhbGVQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1BhcmFtc1Byb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1RoZW1lUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1ByZWZlcmVuY2VzUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8TW9kYWxDb250YWluZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L0F1dGhQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9Nb2RhbFByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgPC9TZWFyY2hQYXJhbXNQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L1Njcm9sbEluZm9Qcm92aWRlcj5cbiAgICAgICAgICAgICAgPC9XaW5kb3dJbmZvUHJvdmlkZXI+XG4gICAgICAgICAgICA8L1RyYW5zbGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgPC9DbGllbnRGdW5jdGlvblByb3ZpZGVyPlxuICAgICAgICA8L0NvbXBvbmVudE1hcFByb3ZpZGVyPlxuICAgICAgPC9Db25maWdQcm92aWRlcj5cbiAgICAgIDxUb2FzdENvbnRhaW5lciBpY29uPXtmYWxzZX0gcG9zaXRpb249XCJib3R0b20tY2VudGVyXCIgdHJhbnNpdGlvbj17U2xpZGV9IC8+XG4gICAgPC9GcmFnbWVudD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbImZhY2VsZXNzVUlJbXBvcnQiLCJmYWNlbGVzc1VJSW1wb3J0MyIsImZhY2VsZXNzVUlJbXBvcnQyIiwiUmVhY3QiLCJGcmFnbWVudCIsIlNsaWRlIiwiVG9hc3RDb250YWluZXIiLCJMb2FkaW5nT3ZlcmxheVByb3ZpZGVyIiwiTmF2UHJvdmlkZXIiLCJTdGVwTmF2UHJvdmlkZXIiLCJBY3Rpb25zUHJvdmlkZXIiLCJBdXRoUHJvdmlkZXIiLCJDbGllbnRGdW5jdGlvblByb3ZpZGVyIiwiQ29tcG9uZW50TWFwUHJvdmlkZXIiLCJDb25maWdQcm92aWRlciIsIkN1c3RvbVByb3ZpZGVyIiwiRG9jdW1lbnRFdmVudHNQcm92aWRlciIsIkxvY2FsZVByb3ZpZGVyIiwiUGFyYW1zUHJvdmlkZXIiLCJQcmVmZXJlbmNlc1Byb3ZpZGVyIiwiU2VhcmNoUGFyYW1zUHJvdmlkZXIiLCJUaGVtZVByb3ZpZGVyIiwiVHJhbnNsYXRpb25Qcm92aWRlciIsIlJvb3RQcm92aWRlciIsImNoaWxkcmVuIiwiY29tcG9uZW50TWFwIiwiY29uZmlnIiwiZmFsbGJhY2tMYW5nIiwibGFuZyIsImxhbmd1YWdlT3B0aW9ucyIsInRyYW5zbGF0aW9ucyIsIk1vZGFsQ29udGFpbmVyIiwiTW9kYWxQcm92aWRlciIsIldpbmRvd0luZm9Qcm92aWRlciIsIlNjcm9sbEluZm9Qcm92aWRlciIsImJyZWFrcG9pbnRzIiwibCIsIm0iLCJzIiwieHMiLCJjbGFzc1ByZWZpeCIsInRyYW5zVGltZSIsInpJbmRleCIsImljb24iLCJwb3NpdGlvbiIsInRyYW5zaXRpb24iXSwibWFwcGluZ3MiOiJBQUFBO0FBSUEsWUFBWUEsc0JBQXNCLHFCQUFvQjtBQUN0RCxZQUFZQyx1QkFBdUIsMkJBQTBCO0FBQzdELFlBQVlDLHVCQUF1QiwyQkFBMEI7QUFDN0QsT0FBT0MsU0FBU0MsUUFBUSxRQUFRLFFBQU87QUFDdkMsU0FBU0MsS0FBSyxFQUFFQyxjQUFjLFFBQVEsaUJBQWdCO0FBS3RELFNBQVNDLHNCQUFzQixRQUFRLHlDQUF3QztBQUMvRSxTQUFTQyxXQUFXLFFBQVEsZ0NBQStCO0FBQzNELFNBQVNDLGVBQWUsUUFBUSxrQ0FBaUM7QUFDakUsU0FBU0MsZUFBZSxRQUFRLDhCQUE2QjtBQUM3RCxTQUFTQyxZQUFZLFFBQVEsbUJBQWtCO0FBQy9DLFNBQVNDLHNCQUFzQixRQUFRLDZCQUE0QjtBQUNuRSxTQUFTQyxvQkFBb0IsUUFBUSxtQ0FBa0M7QUFDdkUsU0FBU0MsY0FBYyxRQUFRLHFCQUFvQjtBQUNuRCxTQUFTQyxjQUFjLFFBQVEsNkJBQTRCO0FBQzNELFNBQVNDLHNCQUFzQixRQUFRLDZCQUE0QjtBQUNuRSxTQUFTQyxjQUFjLFFBQVEscUJBQW9CO0FBQ25ELFNBQVNDLGNBQWMsUUFBUSxxQkFBb0I7QUFDbkQsU0FBU0MsbUJBQW1CLFFBQVEsMEJBQXlCO0FBQzdELFNBQVNDLG9CQUFvQixRQUFRLDJCQUEwQjtBQUMvRCxTQUFTQyxhQUFhLFFBQVEsb0JBQW1CO0FBQ2pELFNBQVNDLG1CQUFtQixRQUFRLDBCQUF5QjtBQVk3RCxPQUFPLE1BQU1DLGVBQWdDLENBQUMsRUFDNUNDLFFBQVEsRUFDUkMsWUFBWSxFQUNaQyxNQUFNLEVBQ05DLFlBQVksRUFDWkMsSUFBSSxFQUNKQyxlQUFlLEVBQ2ZDLFlBQVksRUFDYjtJQUNDLE1BQU0sRUFBRUMsY0FBYyxFQUFFQyxhQUFhLEVBQUUsR0FBR2hDLG9CQUFvQjtRQUM1RCtCLGdCQUFnQjVCLE1BQU1DLFFBQVE7UUFDOUI0QixlQUFlN0IsTUFBTUMsUUFBUTtJQUMvQjtJQUNBLE1BQU0sRUFBRTZCLGtCQUFrQixFQUFFLEdBQUcvQixxQkFBcUI7UUFBRStCLG9CQUFvQjlCLE1BQU1DLFFBQVE7SUFBQztJQUN6RixNQUFNLEVBQUU4QixrQkFBa0IsRUFBRSxHQUFHakMscUJBQXFCO1FBQUVpQyxvQkFBb0IvQixNQUFNQyxRQUFRO0lBQUM7SUFFekYscUJBQ0Usb0JBQUNBLDhCQUNDLG9CQUFDVTtRQUFlWSxRQUFRQTtxQkFDdEIsb0JBQUNiO1FBQXFCWSxjQUFjQTtxQkFDbEMsb0JBQUNiLDRDQUNDLG9CQUFDVTtRQUNDSyxjQUFjQTtRQUNkQyxNQUFNQTtRQUNOQyxpQkFBaUJBO1FBQ2pCQyxjQUFjQTtxQkFFZCxvQkFBQ0c7UUFDQ0UsYUFBYTtZQUNYQyxHQUFHO1lBQ0hDLEdBQUc7WUFDSEMsR0FBRztZQUNIQyxJQUFJO1FBQ047cUJBRUEsb0JBQUNMLHdDQUNDLG9CQUFDZCwwQ0FDQyxvQkFBQ1k7UUFBY1EsYUFBWTtRQUFVQyxXQUFXO1FBQUdDLFFBQU87cUJBQ3hELG9CQUFDL0Isa0NBQ0Msb0JBQUNRLHlDQUNDLG9CQUFDRSxtQ0FDQyxvQkFBQ0gsb0NBQ0Msb0JBQUNELG9DQUNDLG9CQUFDUixxQ0FDQyxvQkFBQ0YsNENBQ0Msb0JBQUNTLDRDQUNDLG9CQUFDTixxQ0FDQyxvQkFBQ0YsaUNBQ0Msb0JBQUNPLHNCQUFnQlMsa0NBVW5DLG9CQUFDTyw4Q0FVbkIsb0JBQUN6QjtRQUFlcUMsTUFBTTtRQUFPQyxVQUFTO1FBQWdCQyxZQUFZeEM7O0FBR3hFLEVBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/SearchParams/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/SearchParams/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,EAAE,mBAAmB,EAAS,MAAM,YAAY,CAAA;AAU5D,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAgCzE,CAAA;AAED,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA"}
|
|
@@ -1,56 +1,47 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { useSearchParams as useNextSearchParams
|
|
2
|
+
import { useSearchParams as useNextSearchParams } from 'next/navigation.js';
|
|
3
3
|
import qs from 'qs';
|
|
4
4
|
import React, { createContext, useContext } from 'react';
|
|
5
5
|
const initialContext = {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
searchParams: {},
|
|
7
|
+
stringifyParams: ()=>''
|
|
8
8
|
};
|
|
9
9
|
const Context = /*#__PURE__*/ createContext(initialContext);
|
|
10
10
|
// TODO: abstract the `next/navigation` dependency out from this provider so that it can be used in other contexts
|
|
11
11
|
export const SearchParamsProvider = ({ children })=>{
|
|
12
12
|
const nextSearchParams = useNextSearchParams();
|
|
13
|
-
const
|
|
14
|
-
const initialParams = qs.parse(
|
|
13
|
+
const searchString = nextSearchParams.toString();
|
|
14
|
+
const initialParams = qs.parse(searchString, {
|
|
15
15
|
depth: 10,
|
|
16
16
|
ignoreQueryPrefix: true
|
|
17
17
|
});
|
|
18
|
-
const [searchParams,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
...state,
|
|
25
|
-
...action.params
|
|
26
|
-
};
|
|
27
|
-
break;
|
|
28
|
-
case 'REPLACE':
|
|
29
|
-
paramsToSet = action.params;
|
|
30
|
-
break;
|
|
31
|
-
case 'CLEAR':
|
|
32
|
-
paramsToSet = {};
|
|
33
|
-
break;
|
|
34
|
-
default:
|
|
35
|
-
return state;
|
|
36
|
-
}
|
|
37
|
-
const newSearchString = qs.stringify(paramsToSet, {
|
|
18
|
+
const [searchParams, setSearchParams] = React.useState(initialParams);
|
|
19
|
+
const stringifyParams = React.useCallback(({ params, replace = false })=>{
|
|
20
|
+
return qs.stringify({
|
|
21
|
+
...replace ? {} : searchParams,
|
|
22
|
+
...params
|
|
23
|
+
}, {
|
|
38
24
|
addQueryPrefix: true
|
|
39
25
|
});
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
26
|
+
}, [
|
|
27
|
+
searchParams
|
|
28
|
+
]);
|
|
29
|
+
React.useEffect(()=>{
|
|
30
|
+
const newSearchParams = qs.parse(searchString, {
|
|
31
|
+
depth: 10,
|
|
32
|
+
ignoreQueryPrefix: true
|
|
33
|
+
});
|
|
34
|
+
setSearchParams(newSearchParams);
|
|
35
|
+
}, [
|
|
36
|
+
searchString
|
|
37
|
+
]);
|
|
47
38
|
return /*#__PURE__*/ React.createElement(Context.Provider, {
|
|
48
39
|
value: {
|
|
49
|
-
|
|
50
|
-
|
|
40
|
+
searchParams,
|
|
41
|
+
stringifyParams
|
|
51
42
|
}
|
|
52
43
|
}, children);
|
|
53
44
|
};
|
|
54
45
|
export const useSearchParams = ()=>useContext(Context);
|
|
55
46
|
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvU2VhcmNoUGFyYW1zL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB7IHVzZVNlYXJjaFBhcmFtcyBhcyB1c2VOZXh0U2VhcmNoUGFyYW1zIH0gZnJvbSAnbmV4dC9uYXZpZ2F0aW9uLmpzJ1xuaW1wb3J0IHFzIGZyb20gJ3FzJ1xuaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBTZWFyY2hQYXJhbXNDb250ZXh0LCBTdGF0ZSB9IGZyb20gJy4vdHlwZXMuanMnXG5cbmNvbnN0IGluaXRpYWxDb250ZXh0OiBTZWFyY2hQYXJhbXNDb250ZXh0ID0ge1xuICBzZWFyY2hQYXJhbXM6IHt9LFxuICBzdHJpbmdpZnlQYXJhbXM6ICgpID0+ICcnLFxufVxuXG5jb25zdCBDb250ZXh0ID0gY3JlYXRlQ29udGV4dChpbml0aWFsQ29udGV4dClcblxuLy8gVE9ETzogYWJzdHJhY3QgdGhlIGBuZXh0L25hdmlnYXRpb25gIGRlcGVuZGVuY3kgb3V0IGZyb20gdGhpcyBwcm92aWRlciBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGluIG90aGVyIGNvbnRleHRzXG5leHBvcnQgY29uc3QgU2VhcmNoUGFyYW1zUHJvdmlkZXI6IFJlYWN0LkZDPHsgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGUgfT4gPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gIGNvbnN0IG5leHRTZWFyY2hQYXJhbXMgPSB1c2VOZXh0U2VhcmNoUGFyYW1zKClcbiAgY29uc3Qgc2VhcmNoU3RyaW5nID0gbmV4dFNlYXJjaFBhcmFtcy50b1N0cmluZygpXG4gIGNvbnN0IGluaXRpYWxQYXJhbXMgPSBxcy5wYXJzZShzZWFyY2hTdHJpbmcsIHtcbiAgICBkZXB0aDogMTAsXG4gICAgaWdub3JlUXVlcnlQcmVmaXg6IHRydWUsXG4gIH0pXG5cbiAgY29uc3QgW3NlYXJjaFBhcmFtcywgc2V0U2VhcmNoUGFyYW1zXSA9IFJlYWN0LnVzZVN0YXRlKGluaXRpYWxQYXJhbXMpXG5cbiAgY29uc3Qgc3RyaW5naWZ5UGFyYW1zID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgKHsgcGFyYW1zLCByZXBsYWNlID0gZmFsc2UgfTogeyBwYXJhbXM6IFN0YXRlOyByZXBsYWNlPzogYm9vbGVhbiB9KSA9PiB7XG4gICAgICByZXR1cm4gcXMuc3RyaW5naWZ5KFxuICAgICAgICB7XG4gICAgICAgICAgLi4uKHJlcGxhY2UgPyB7fSA6IHNlYXJjaFBhcmFtcyksXG4gICAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICB9LFxuICAgICAgICB7IGFkZFF1ZXJ5UHJlZml4OiB0cnVlIH0sXG4gICAgICApXG4gICAgfSxcbiAgICBbc2VhcmNoUGFyYW1zXSxcbiAgKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbmV3U2VhcmNoUGFyYW1zID0gcXMucGFyc2Uoc2VhcmNoU3RyaW5nLCB7XG4gICAgICBkZXB0aDogMTAsXG4gICAgICBpZ25vcmVRdWVyeVByZWZpeDogdHJ1ZSxcbiAgICB9KVxuICAgIHNldFNlYXJjaFBhcmFtcyhuZXdTZWFyY2hQYXJhbXMpXG4gIH0sIFtzZWFyY2hTdHJpbmddKVxuXG4gIHJldHVybiA8Q29udGV4dC5Qcm92aWRlciB2YWx1ZT17eyBzZWFyY2hQYXJhbXMsIHN0cmluZ2lmeVBhcmFtcyB9fT57Y2hpbGRyZW59PC9Db250ZXh0LlByb3ZpZGVyPlxufVxuXG5leHBvcnQgY29uc3QgdXNlU2VhcmNoUGFyYW1zID0gKCk6IFNlYXJjaFBhcmFtc0NvbnRleHQgPT4gdXNlQ29udGV4dChDb250ZXh0KVxuIl0sIm5hbWVzIjpbInVzZVNlYXJjaFBhcmFtcyIsInVzZU5leHRTZWFyY2hQYXJhbXMiLCJxcyIsIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInVzZUNvbnRleHQiLCJpbml0aWFsQ29udGV4dCIsInNlYXJjaFBhcmFtcyIsInN0cmluZ2lmeVBhcmFtcyIsIkNvbnRleHQiLCJTZWFyY2hQYXJhbXNQcm92aWRlciIsImNoaWxkcmVuIiwibmV4dFNlYXJjaFBhcmFtcyIsInNlYXJjaFN0cmluZyIsInRvU3RyaW5nIiwiaW5pdGlhbFBhcmFtcyIsInBhcnNlIiwiZGVwdGgiLCJpZ25vcmVRdWVyeVByZWZpeCIsInNldFNlYXJjaFBhcmFtcyIsInVzZVN0YXRlIiwidXNlQ2FsbGJhY2siLCJwYXJhbXMiLCJyZXBsYWNlIiwic3RyaW5naWZ5IiwiYWRkUXVlcnlQcmVmaXgiLCJ1c2VFZmZlY3QiLCJuZXdTZWFyY2hQYXJhbXMiLCJQcm92aWRlciIsInZhbHVlIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLFNBQVNBLG1CQUFtQkMsbUJBQW1CLFFBQVEscUJBQW9CO0FBQzNFLE9BQU9DLFFBQVEsS0FBSTtBQUNuQixPQUFPQyxTQUFTQyxhQUFhLEVBQUVDLFVBQVUsUUFBUSxRQUFPO0FBSXhELE1BQU1DLGlCQUFzQztJQUMxQ0MsY0FBYyxDQUFDO0lBQ2ZDLGlCQUFpQixJQUFNO0FBQ3pCO0FBRUEsTUFBTUMsd0JBQVVMLGNBQWNFO0FBRTlCLGtIQUFrSDtBQUNsSCxPQUFPLE1BQU1JLHVCQUFpRSxDQUFDLEVBQUVDLFFBQVEsRUFBRTtJQUN6RixNQUFNQyxtQkFBbUJYO0lBQ3pCLE1BQU1ZLGVBQWVELGlCQUFpQkUsUUFBUTtJQUM5QyxNQUFNQyxnQkFBZ0JiLEdBQUdjLEtBQUssQ0FBQ0gsY0FBYztRQUMzQ0ksT0FBTztRQUNQQyxtQkFBbUI7SUFDckI7SUFFQSxNQUFNLENBQUNYLGNBQWNZLGdCQUFnQixHQUFHaEIsTUFBTWlCLFFBQVEsQ0FBQ0w7SUFFdkQsTUFBTVAsa0JBQWtCTCxNQUFNa0IsV0FBVyxDQUN2QyxDQUFDLEVBQUVDLE1BQU0sRUFBRUMsVUFBVSxLQUFLLEVBQXdDO1FBQ2hFLE9BQU9yQixHQUFHc0IsU0FBUyxDQUNqQjtZQUNFLEdBQUlELFVBQVUsQ0FBQyxJQUFJaEIsWUFBWTtZQUMvQixHQUFHZSxNQUFNO1FBQ1gsR0FDQTtZQUFFRyxnQkFBZ0I7UUFBSztJQUUzQixHQUNBO1FBQUNsQjtLQUFhO0lBR2hCSixNQUFNdUIsU0FBUyxDQUFDO1FBQ2QsTUFBTUMsa0JBQWtCekIsR0FBR2MsS0FBSyxDQUFDSCxjQUFjO1lBQzdDSSxPQUFPO1lBQ1BDLG1CQUFtQjtRQUNyQjtRQUNBQyxnQkFBZ0JRO0lBQ2xCLEdBQUc7UUFBQ2Q7S0FBYTtJQUVqQixxQkFBTyxvQkFBQ0osUUFBUW1CLFFBQVE7UUFBQ0MsT0FBTztZQUFFdEI7WUFBY0M7UUFBZ0I7T0FBSUc7QUFDdEUsRUFBQztBQUVELE9BQU8sTUFBTVgsa0JBQWtCLElBQTJCSyxXQUFXSSxTQUFRIn0=
|