@nlabs/metropolisjs 1.0.1 → 1.0.2
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/lib/actions/appActions/appActions.d.ts +0 -1
- package/lib/actions/awsRumActions/awsRumActions.d.ts +0 -1
- package/lib/actions/awsRumActions/awsRumActions.js +32 -3
- package/lib/actions/connectionActions/connectionActions.d.ts +0 -1
- package/lib/actions/contentActions/contentActions.d.ts +0 -1
- package/lib/actions/conversationActions/conversationActions.d.ts +0 -1
- package/lib/actions/crmActions/crmActions.d.ts +0 -1
- package/lib/actions/eventActions/eventActions.d.ts +0 -1
- package/lib/actions/groupActions/groupActions.d.ts +0 -1
- package/lib/actions/imageActions/imageActions.d.ts +0 -1
- package/lib/actions/imageActions/imageActions.js +5 -4
- package/lib/actions/index.d.ts +0 -1
- package/lib/actions/locationActions/locationActions.d.ts +0 -1
- package/lib/actions/messageActions/messageActions.d.ts +0 -1
- package/lib/actions/permissionActions/permissionActions.d.ts +0 -1
- package/lib/actions/personaActions/personaActions.d.ts +0 -1
- package/lib/actions/postActions/postActions.d.ts +0 -1
- package/lib/actions/reactionActions/reactionActions.d.ts +0 -1
- package/lib/actions/restActions/restActions.d.ts +0 -1
- package/lib/actions/sseActions/sseActions.d.ts +0 -1
- package/lib/actions/sseActions/sseActions.js +1 -1
- package/lib/actions/subscriptionActions/subscriptionActions.d.ts +0 -1
- package/lib/actions/tagActions/tagActions.d.ts +0 -1
- package/lib/actions/tagActions/tagActions.js +1 -1
- package/lib/actions/translationActions/translationActions.d.ts +0 -1
- package/lib/actions/userActions/userActions.d.ts +0 -1
- package/lib/actions/videoActions/videoActions.d.ts +0 -1
- package/lib/actions/websocketActions/websocketActions.d.ts +0 -1
- package/lib/adapters/appAdapter/appAdapter.d.ts +2 -3
- package/lib/adapters/arangoAdapter/arangoAdapter.d.ts +2 -3
- package/lib/adapters/contentAdapter/contentAdapter.d.ts +2 -3
- package/lib/adapters/conversationAdapter/conversationAdapter.d.ts +2 -3
- package/lib/adapters/eventAdapter/eventAdapter.d.ts +2 -3
- package/lib/adapters/fileAdapter/fileAdapter.d.ts +2 -3
- package/lib/adapters/groupAdapter/groupAdapter.d.ts +2 -3
- package/lib/adapters/imageAdapter/imageAdapter.d.ts +2 -3
- package/lib/adapters/index.d.ts +0 -1
- package/lib/adapters/locationAdapter/locationAdapter.d.ts +2 -3
- package/lib/adapters/messageAdapter/messageAdapter.d.ts +2 -3
- package/lib/adapters/permissionAdapter/permissionAdapter.d.ts +2 -3
- package/lib/adapters/personaAdapter/personaAdapter.d.ts +2 -3
- package/lib/adapters/postAdapter/postAdapter.d.ts +2 -3
- package/lib/adapters/reactionAdapter/reactionAdapter.d.ts +2 -3
- package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts +2 -3
- package/lib/adapters/sessionAdapter/sessionAdapter.d.ts +2 -3
- package/lib/adapters/tagAdapter/tagAdapter.d.ts +2 -3
- package/lib/adapters/translationAdapter/translationAdapter.d.ts +2 -3
- package/lib/adapters/userAdapter/userAdapter.d.ts +2 -3
- package/lib/adapters/videoAdapter/videoAdapter.d.ts +2 -3
- package/lib/config/index.d.ts +1 -1
- package/lib/config/index.js +7 -3
- package/lib/constants/Collections.d.ts +0 -1
- package/lib/constants/MetropolisConstants.d.ts +0 -1
- package/lib/graphql/message.d.ts +0 -1
- package/lib/graphql/notification.d.ts +0 -1
- package/lib/graphql/session.d.ts +0 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +2 -1
- package/lib/stores/appStore.d.ts +0 -1
- package/lib/stores/contentStore.d.ts +0 -1
- package/lib/stores/conversationStore.d.ts +0 -1
- package/lib/stores/eventStore.d.ts +0 -1
- package/lib/stores/groupStore.d.ts +0 -1
- package/lib/stores/imageStore.d.ts +0 -1
- package/lib/stores/index.d.ts +0 -1
- package/lib/stores/locationStore.d.ts +0 -1
- package/lib/stores/messageStore.d.ts +0 -1
- package/lib/stores/notificationStore.d.ts +0 -1
- package/lib/stores/permissionStore.d.ts +0 -1
- package/lib/stores/personaStore.d.ts +0 -1
- package/lib/stores/postStore.d.ts +0 -1
- package/lib/stores/reactionStore.d.ts +0 -1
- package/lib/stores/subscriptionStore.d.ts +0 -1
- package/lib/stores/tagStore.d.ts +0 -1
- package/lib/stores/translationStore.d.ts +0 -1
- package/lib/stores/userStore.d.ts +2 -3
- package/lib/stores/userStore.js +7 -1
- package/lib/stores/videoStore.d.ts +0 -1
- package/lib/stores/websocketStore.d.ts +0 -1
- package/lib/types/apps.types.d.ts +0 -1
- package/lib/types/common.types.d.ts +0 -1
- package/lib/types/conversations.types.d.ts +0 -1
- package/lib/types/crm.types.d.ts +0 -1
- package/lib/types/edges.types.d.ts +0 -1
- package/lib/types/groups.types.d.ts +0 -1
- package/lib/types/index.d.ts +0 -1
- package/lib/types/subscriptions.types.d.ts +0 -1
- package/lib/types/videos.types.d.ts +0 -1
- package/lib/utils/MetropolisProvider.d.ts +0 -1
- package/lib/utils/actionFactory.d.ts +2 -3
- package/lib/utils/api.d.ts +1 -2
- package/lib/utils/api.js +33 -17
- package/lib/utils/app.d.ts +0 -1
- package/lib/utils/baseActionFactory.d.ts +2 -3
- package/lib/utils/configUtils.d.ts +0 -1
- package/lib/utils/dateUtils.d.ts +0 -1
- package/lib/utils/file.d.ts +0 -1
- package/lib/utils/i18n.d.ts +0 -1
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/location.d.ts +1 -2
- package/lib/utils/permissionUtils.d.ts +0 -1
- package/lib/utils/requestCache.d.ts +1 -2
- package/lib/utils/session.d.ts +0 -1
- package/lib/utils/useConversationTyping.d.ts +0 -1
- package/lib/utils/useMetropolis.d.ts +0 -1
- package/lib/utils/useTranslations.d.ts +0 -1
- package/lib/utils/useTranslations.js +1 -1
- package/lib/utils/validatorFactory.d.ts +1 -2
- package/package.json +3 -3
- package/tsconfig.test.json +4 -0
- package/lib/actions/appActions/appActions.d.ts.map +0 -1
- package/lib/actions/awsRumActions/awsRumActions.d.ts.map +0 -1
- package/lib/actions/connectionActions/connectionActions.d.ts.map +0 -1
- package/lib/actions/contentActions/contentActions.d.ts.map +0 -1
- package/lib/actions/conversationActions/conversationActions.d.ts.map +0 -1
- package/lib/actions/crmActions/crmActions.d.ts.map +0 -1
- package/lib/actions/eventActions/eventActions.d.ts.map +0 -1
- package/lib/actions/groupActions/groupActions.d.ts.map +0 -1
- package/lib/actions/imageActions/imageActions.d.ts.map +0 -1
- package/lib/actions/index.d.ts.map +0 -1
- package/lib/actions/locationActions/locationActions.d.ts.map +0 -1
- package/lib/actions/messageActions/messageActions.d.ts.map +0 -1
- package/lib/actions/permissionActions/permissionActions.d.ts.map +0 -1
- package/lib/actions/personaActions/personaActions.d.ts.map +0 -1
- package/lib/actions/postActions/postActions.d.ts.map +0 -1
- package/lib/actions/reactionActions/reactionActions.d.ts.map +0 -1
- package/lib/actions/restActions/restActions.d.ts.map +0 -1
- package/lib/actions/sseActions/sseActions.d.ts.map +0 -1
- package/lib/actions/subscriptionActions/subscriptionActions.d.ts.map +0 -1
- package/lib/actions/tagActions/tagActions.d.ts.map +0 -1
- package/lib/actions/translationActions/translationActions.d.ts.map +0 -1
- package/lib/actions/userActions/userActions.d.ts.map +0 -1
- package/lib/actions/videoActions/videoActions.d.ts.map +0 -1
- package/lib/actions/websocketActions/websocketActions.d.ts.map +0 -1
- package/lib/adapters/appAdapter/appAdapter.d.ts.map +0 -1
- package/lib/adapters/arangoAdapter/arangoAdapter.d.ts.map +0 -1
- package/lib/adapters/contentAdapter/contentAdapter.d.ts.map +0 -1
- package/lib/adapters/conversationAdapter/conversationAdapter.d.ts.map +0 -1
- package/lib/adapters/eventAdapter/eventAdapter.d.ts.map +0 -1
- package/lib/adapters/fileAdapter/fileAdapter.d.ts.map +0 -1
- package/lib/adapters/groupAdapter/groupAdapter.d.ts.map +0 -1
- package/lib/adapters/imageAdapter/imageAdapter.d.ts.map +0 -1
- package/lib/adapters/index.d.ts.map +0 -1
- package/lib/adapters/locationAdapter/locationAdapter.d.ts.map +0 -1
- package/lib/adapters/messageAdapter/messageAdapter.d.ts.map +0 -1
- package/lib/adapters/permissionAdapter/permissionAdapter.d.ts.map +0 -1
- package/lib/adapters/personaAdapter/personaAdapter.d.ts.map +0 -1
- package/lib/adapters/postAdapter/postAdapter.d.ts.map +0 -1
- package/lib/adapters/reactionAdapter/reactionAdapter.d.ts.map +0 -1
- package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts.map +0 -1
- package/lib/adapters/sessionAdapter/sessionAdapter.d.ts.map +0 -1
- package/lib/adapters/tagAdapter/tagAdapter.d.ts.map +0 -1
- package/lib/adapters/translationAdapter/translationAdapter.d.ts.map +0 -1
- package/lib/adapters/userAdapter/userAdapter.d.ts.map +0 -1
- package/lib/adapters/videoAdapter/videoAdapter.d.ts.map +0 -1
- package/lib/config/index.d.ts.map +0 -1
- package/lib/constants/Collections.d.ts.map +0 -1
- package/lib/constants/MetropolisConstants.d.ts.map +0 -1
- package/lib/graphql/message.d.ts.map +0 -1
- package/lib/graphql/notification.d.ts.map +0 -1
- package/lib/graphql/session.d.ts.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/stores/appStore.d.ts.map +0 -1
- package/lib/stores/contentStore.d.ts.map +0 -1
- package/lib/stores/conversationStore.d.ts.map +0 -1
- package/lib/stores/eventStore.d.ts.map +0 -1
- package/lib/stores/groupStore.d.ts.map +0 -1
- package/lib/stores/imageStore.d.ts.map +0 -1
- package/lib/stores/index.d.ts.map +0 -1
- package/lib/stores/locationStore.d.ts.map +0 -1
- package/lib/stores/messageStore.d.ts.map +0 -1
- package/lib/stores/notificationStore.d.ts.map +0 -1
- package/lib/stores/permissionStore.d.ts.map +0 -1
- package/lib/stores/personaStore.d.ts.map +0 -1
- package/lib/stores/postStore.d.ts.map +0 -1
- package/lib/stores/reactionStore.d.ts.map +0 -1
- package/lib/stores/subscriptionStore.d.ts.map +0 -1
- package/lib/stores/tagStore.d.ts.map +0 -1
- package/lib/stores/translationStore.d.ts.map +0 -1
- package/lib/stores/userStore.d.ts.map +0 -1
- package/lib/stores/videoStore.d.ts.map +0 -1
- package/lib/stores/websocketStore.d.ts.map +0 -1
- package/lib/tests/actionTestScenarios.d.ts +0 -20
- package/lib/tests/actionTestScenarios.d.ts.map +0 -1
- package/lib/tests/actionTestScenarios.js +0 -851
- package/lib/tests/testGraphQLServer.d.ts +0 -22
- package/lib/tests/testGraphQLServer.d.ts.map +0 -1
- package/lib/tests/testGraphQLServer.js +0 -197
- package/lib/tests/testGraphQLServerSimple.d.ts +0 -3
- package/lib/tests/testGraphQLServerSimple.d.ts.map +0 -1
- package/lib/tests/testGraphQLServerSimple.js +0 -52
- package/lib/types/apps.types.d.ts.map +0 -1
- package/lib/types/common.types.d.ts.map +0 -1
- package/lib/types/conversations.types.d.ts.map +0 -1
- package/lib/types/crm.types.d.ts.map +0 -1
- package/lib/types/edges.types.d.ts.map +0 -1
- package/lib/types/groups.types.d.ts.map +0 -1
- package/lib/types/index.d.ts.map +0 -1
- package/lib/types/subscriptions.types.d.ts.map +0 -1
- package/lib/types/videos.types.d.ts.map +0 -1
- package/lib/utils/MetropolisProvider.d.ts.map +0 -1
- package/lib/utils/actionFactory.d.ts.map +0 -1
- package/lib/utils/api.d.ts.map +0 -1
- package/lib/utils/app.d.ts.map +0 -1
- package/lib/utils/baseActionFactory.d.ts.map +0 -1
- package/lib/utils/configUtils.d.ts.map +0 -1
- package/lib/utils/dateUtils.d.ts.map +0 -1
- package/lib/utils/file.d.ts.map +0 -1
- package/lib/utils/i18n.d.ts.map +0 -1
- package/lib/utils/index.d.ts.map +0 -1
- package/lib/utils/location.d.ts.map +0 -1
- package/lib/utils/permissionUtils.d.ts.map +0 -1
- package/lib/utils/requestCache.d.ts.map +0 -1
- package/lib/utils/session.d.ts.map +0 -1
- package/lib/utils/useConversationTyping.d.ts.map +0 -1
- package/lib/utils/useMetropolis.d.ts.map +0 -1
- package/lib/utils/useTranslations.d.ts.map +0 -1
- package/lib/utils/validatorFactory.d.ts.map +0 -1
package/lib/index.js
CHANGED
|
@@ -172,6 +172,7 @@ export const Metropolis = ({ adapters, children, config = {}, translations = {}
|
|
|
172
172
|
globalThis.window.addEventListener(GOTHAM_ANALYTICS_EVENT, onGothamAnalytics);
|
|
173
173
|
return ()=>{
|
|
174
174
|
globalThis.window.removeEventListener(GOTHAM_ANALYTICS_EVENT, onGothamAnalytics);
|
|
175
|
+
void awsRum.destroy();
|
|
175
176
|
};
|
|
176
177
|
}, [
|
|
177
178
|
awsRum
|
|
@@ -277,4 +278,4 @@ export * from './actions/videoActions/videoActions.js';
|
|
|
277
278
|
export * from './constants/Collections.js';
|
|
278
279
|
export * from './types/index.js';
|
|
279
280
|
|
|
280
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge3VzZUZsdXgsIHVzZUZsdXhTdGF0ZX0gZnJvbSAnQG5sYWJzL2Fya2hhbWpzLXV0aWxzLXJlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHt1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtJMThuZXh0UHJvdmlkZXJ9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQge2NyZWF0ZVdlYnNvY2tldEFjdGlvbnN9IGZyb20gJy4vYWN0aW9ucy93ZWJzb2NrZXRBY3Rpb25zL3dlYnNvY2tldEFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge0F3c1J1bVRyYWNrSW5wdXR9IGZyb20gJy4vYWN0aW9ucy9hd3NSdW1BY3Rpb25zL2F3c1J1bUFjdGlvbnMuanMnO1xuaW1wb3J0IHtzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24sIHN5bmNQZXJzb25hVG9TZXNzaW9ufSBmcm9tICcuL2FjdGlvbnMvcGVyc29uYUFjdGlvbnMvcGVyc29uYUFjdGlvbnMuanMnO1xuaW1wb3J0IHtyZXNvbHZlRW52aXJvbm1lbnRDb25maWd9IGZyb20gJy4vY29uZmlnL2luZGV4LmpzJztcbmltcG9ydCB7XG4gIGFwcCxcbiAgZXZlbnRzLFxuICBpbWFnZXMsXG4gIGxvY2F0aW9ucyxcbiAgbWVzc2FnZXMsXG4gIG5vdGlmaWNhdGlvbnMsXG4gIE5PVElGSUNBVElPTl9DT05TVEFOVFMsXG4gIHBlcm1pc3Npb25zLFxuICBQRVJTT05BX0NPTlNUQU5UUyxcbiAgcG9zdHMsXG4gIHN1YnNjcmlwdGlvbnMsXG4gIFRBR19DT05TVEFOVFMsXG4gIHRhZ3MsXG4gIFVTRVJfQ09OU1RBTlRTLFxuICB1c2VycyxcbiAgdmlkZW8sXG4gIHdlYnNvY2tldFxufSBmcm9tICcuL3N0b3Jlcy9pbmRleC5qcyc7XG5pbXBvcnQge3JlZnJlc2hTZXNzaW9ufSBmcm9tICcuL3V0aWxzL2FwaS5qcyc7XG5pbXBvcnQge2dldENvbmZpZ0Zyb21GbHV4fSBmcm9tICcuL3V0aWxzL2NvbmZpZ1V0aWxzLmpzJztcbmltcG9ydCB7aW5pdEkxOG59IGZyb20gJy4vdXRpbHMvaTE4bi5qcyc7XG5pbXBvcnQge01ldHJvcG9saXNDb250ZXh0fSBmcm9tICcuL3V0aWxzL01ldHJvcG9saXNQcm92aWRlci5qcyc7XG5pbXBvcnQge2dldFJlZnJlc2hXaW5kb3dNaW51dGVzLCBoeWRyYXRlU2Vzc2lvbkZyb21TdG9yYWdlLCBwYXJzZUp3dEV4cGlyeU1zfSBmcm9tICcuL3V0aWxzL3Nlc3Npb24uanMnO1xuaW1wb3J0IHtjcmVhdGVBY3Rpb259IGZyb20gJy4vdXRpbHMvYWN0aW9uRmFjdG9yeS5qcyc7XG5cbmltcG9ydCB0eXBlIHtGbHV4RnJhbWV3b3JrfSBmcm9tICdAbmxhYnMvYXJraGFtanMnO1xuaW1wb3J0IHR5cGUge01ldHJvcG9saXNDb25maWd1cmF0aW9uLCBNZXRyb3BvbGlzRW52aXJvbm1lbnRDb25maWd1cmF0aW9ufSBmcm9tICcuL2NvbmZpZy9pbmRleC5qcyc7XG5pbXBvcnQgdHlwZSB7TWV0cm9wb2xpc0FkYXB0ZXJzfSBmcm9tICcuL3V0aWxzL01ldHJvcG9saXNQcm92aWRlci5qcyc7XG5cbmV4cG9ydCB7TWV0cm9wb2xpc0NvbnRleHQsIE1ldHJvcG9saXNQcm92aWRlcn0gZnJvbSAnLi91dGlscy9NZXRyb3BvbGlzUHJvdmlkZXIuanMnO1xuXG5leHBvcnQgdHlwZSB7TWV0cm9wb2xpc0NvbmZpZ3VyYXRpb259IGZyb20gJy4vY29uZmlnL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHtNZXRyb3BvbGlzQWRhcHRlcnN9IGZyb20gJy4vdXRpbHMvTWV0cm9wb2xpc1Byb3ZpZGVyLmpzJztcblxuZXhwb3J0IGNvbnN0IEdPVEhBTV9BTkFMWVRJQ1NfRVZFTlQgPSAnbmxhYnM6Z290aGFtOmFuYWx5dGljcyc7XG5cbmV4cG9ydCBjb25zdCBvbkluaXQgPSBhc3luYyAoZmx1eDogRmx1eEZyYW1ld29yaykgPT4ge1xuICBpZighZmx1eC5nZXRTdGF0ZSgnYXBwLm1ldHJvcG9saXNJbml0aWFsaXplZCcpKSB7XG4gICAgZmx1eC5hZGRTdG9yZXMoW1xuICAgICAgYXBwLFxuICAgICAgZXZlbnRzLFxuICAgICAgaW1hZ2VzLFxuICAgICAgbG9jYXRpb25zLFxuICAgICAgbWVzc2FnZXMsXG4gICAgICBub3RpZmljYXRpb25zLFxuICAgICAgcGVybWlzc2lvbnMsXG4gICAgICBwb3N0cyxcbiAgICAgIHN1YnNjcmlwdGlvbnMsXG4gICAgICB0YWdzLFxuICAgICAgdXNlcnMsXG4gICAgICB2aWRlbyxcbiAgICAgIHdlYnNvY2tldFxuICAgIF0pO1xuICAgIGZsdXgub24oVVNFUl9DT05TVEFOVFMuU0lHTl9PVVRfU1VDQ0VTUywgKCkgPT4ge1xuICAgICAgZmx1eC5kaXNwYXRjaCh7dHlwZTogTk9USUZJQ0FUSU9OX0NPTlNUQU5UUy5DTEVBUl9JVEVNU30pO1xuICAgIH0pO1xuICAgIGZsdXgub24oUEVSU09OQV9DT05TVEFOVFMuQUREX0lURU1fU1VDQ0VTUywgYXN5bmMgKHtwZXJzb25hID0ge319OiB7cGVyc29uYT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+fSkgPT4ge1xuICAgICAgc3luY1BlcnNvbmFUb1Nlc3Npb24oZmx1eCwgcGVyc29uYSk7XG5cbiAgICAgIGlmKHBlcnNvbmE/LnBlcnNvbmFJZCAmJiAhQXJyYXkuaXNBcnJheShwZXJzb25hPy50YWdzKSkge1xuICAgICAgICBhd2FpdCBzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24oZmx1eCwgU3RyaW5nKHBlcnNvbmEucGVyc29uYUlkKSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBmbHV4Lm9uKFBFUlNPTkFfQ09OU1RBTlRTLlVQREFURV9JVEVNX1NVQ0NFU1MsIGFzeW5jICh7cGVyc29uYSA9IHt9fToge3BlcnNvbmE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0pID0+IHtcbiAgICAgIHN5bmNQZXJzb25hVG9TZXNzaW9uKGZsdXgsIHBlcnNvbmEpO1xuXG4gICAgICBpZihwZXJzb25hPy5wZXJzb25hSWQgJiYgIUFycmF5LmlzQXJyYXkocGVyc29uYT8udGFncykpIHtcbiAgICAgICAgYXdhaXQgc3luY1BlcnNvbmFUYWdzVG9TZXNzaW9uKGZsdXgsIFN0cmluZyhwZXJzb25hLnBlcnNvbmFJZCkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZmx1eC5vbihUQUdfQ09OU1RBTlRTLkFERF9QRVJTT05BX1NVQ0NFU1MsICh7dGFnfToge3RhZz86IHtuYW1lPzogc3RyaW5nOyB0YWdJZD86IHN0cmluZ319KSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50U2Vzc2lvbiA9IChmbHV4LmdldFN0YXRlKCd1c2VyLnNlc3Npb24nLCB7fSkgfHwge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ICYge1xuICAgICAgICB0YWdzPzogQXJyYXk8e25hbWU/OiBzdHJpbmc7IHRhZ0lkPzogc3RyaW5nfT47XG4gICAgICB9O1xuICAgICAgY29uc3QgY3VycmVudFRhZ3MgPSBBcnJheS5pc0FycmF5KGN1cnJlbnRTZXNzaW9uLnRhZ3MpID8gY3VycmVudFNlc3Npb24udGFncyA6IFtdO1xuICAgICAgY29uc3QgbmV4dFRhZ0lkID0gU3RyaW5nKHRhZz8udGFnSWQgfHwgJycpLnRyaW0oKTtcblxuICAgICAgaWYoIW5leHRUYWdJZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1lcmdlZFRhZ3MgPSBbLi4uY3VycmVudFRhZ3MuZmlsdGVyKChpdGVtKSA9PiBTdHJpbmcoaXRlbT8udGFnSWQgfHwgJycpLnRyaW0oKSAhPT0gbmV4dFRhZ0lkKSwgdGFnIGFzIHtuYW1lPzogc3RyaW5nOyB0YWdJZD86IHN0cmluZ31dXG4gICAgICAgIC5zb3J0KChsZWZ0LCByaWdodCkgPT4gU3RyaW5nKGxlZnQ/Lm5hbWUgfHwgJycpLmxvY2FsZUNvbXBhcmUoU3RyaW5nKHJpZ2h0Py5uYW1lIHx8ICcnKSkpO1xuICAgICAgY29uc3QgbmV4dFNlc3Npb24gPSB7Li4uY3VycmVudFNlc3Npb24sIHRhZ3M6IG1lcmdlZFRhZ3N9O1xuXG4gICAgICB2b2lkIGZsdXguc2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIG5leHRTZXNzaW9uKTtcbiAgICAgIGZsdXguZGlzcGF0Y2goe3R5cGU6IFVTRVJfQ09OU1RBTlRTLlVQREFURV9TRVNTSU9OX1NVQ0NFU1MsIHVzZXI6IHt0YWdzOiBtZXJnZWRUYWdzfX0pO1xuICAgIH0pO1xuXG4gICAgZmx1eC5vbihUQUdfQ09OU1RBTlRTLlJFTU9WRV9QRVJTT05BX1NVQ0NFU1MsICh7dGFnfToge3RhZz86IHt0YWdJZD86IHN0cmluZ319KSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50U2Vzc2lvbiA9IChmbHV4LmdldFN0YXRlKCd1c2VyLnNlc3Npb24nLCB7fSkgfHwge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ICYge1xuICAgICAgICB0YWdzPzogQXJyYXk8e25hbWU/OiBzdHJpbmc7IHRhZ0lkPzogc3RyaW5nfT47XG4gICAgICB9O1xuICAgICAgY29uc3QgY3VycmVudFRhZ3MgPSBBcnJheS5pc0FycmF5KGN1cnJlbnRTZXNzaW9uLnRhZ3MpID8gY3VycmVudFNlc3Npb24udGFncyA6IFtdO1xuICAgICAgY29uc3QgbmV4dFRhZ0lkID0gU3RyaW5nKHRhZz8udGFnSWQgfHwgJycpLnRyaW0oKTtcblxuICAgICAgaWYoIW5leHRUYWdJZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5leHRUYWdzID0gY3VycmVudFRhZ3MuZmlsdGVyKChpdGVtKSA9PiBTdHJpbmcoaXRlbT8udGFnSWQgfHwgJycpLnRyaW0oKSAhPT0gbmV4dFRhZ0lkKTtcbiAgICAgIGNvbnN0IG5leHRTZXNzaW9uID0gey4uLmN1cnJlbnRTZXNzaW9uLCB0YWdzOiBuZXh0VGFnc307XG5cbiAgICAgIHZvaWQgZmx1eC5zZXRTdGF0ZSgndXNlci5zZXNzaW9uJywgbmV4dFNlc3Npb24pO1xuICAgICAgZmx1eC5kaXNwYXRjaCh7dHlwZTogVVNFUl9DT05TVEFOVFMuVVBEQVRFX1NFU1NJT05fU1VDQ0VTUywgdXNlcjoge3RhZ3M6IG5leHRUYWdzfX0pO1xuICAgIH0pO1xuICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZShmbHV4LnNldFN0YXRlKCdhcHAubWV0cm9wb2xpc0luaXRpYWxpemVkJywgdHJ1ZSkpO1xuICB9XG5cbiAgY29uc3QgdG9rZW4gPSBTdHJpbmcoZmx1eC5nZXRTdGF0ZSgndXNlci5zZXNzaW9uLnRva2VuJykgfHwgJycpO1xuXG4gIGlmKHRva2VuKSB7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IChmbHV4LmdldFN0YXRlKCd1c2VyLnNlc3Npb24nLCB7fSkgfHwge30pIGFzIHtleHBpcmVzPzogbnVtYmVyOyBpc3N1ZWQ/OiBudW1iZXI7IHRva2VuPzogc3RyaW5nfTtcbiAgICBjb25zdCBjb25maWcgPSBnZXRDb25maWdGcm9tRmx1eChmbHV4KTtcbiAgICBjb25zdCB0b2tlbkV4cGlyZXNBdCA9IHBhcnNlSnd0RXhwaXJ5TXModG9rZW4pO1xuICAgIGNvbnN0IHNlc3Npb25MaWZldGltZU1pbnV0ZXMgPSBNYXRoLnJvdW5kKChOdW1iZXIoc2Vzc2lvbi5leHBpcmVzIHx8IDApIC0gTnVtYmVyKHNlc3Npb24uaXNzdWVkIHx8IDApKSAvICgxMDAwICogNjApKTtcbiAgICBjb25zdCByZWZyZXNoV2luZG93TWludXRlcyA9IGdldFJlZnJlc2hXaW5kb3dNaW51dGVzKFxuICAgICAgc2Vzc2lvbkxpZmV0aW1lTWludXRlcyB8fCAxNSxcbiAgICAgIGNvbmZpZy5hcHA/LnNlc3Npb24gfHwge31cbiAgICApO1xuICAgIGNvbnN0IHJlZnJlc2hFeHBpcmVzTWludXRlcyA9IE1hdGgubWF4KDEsIE51bWJlcihjb25maWcuYXBwPy5zZXNzaW9uPy5tYXhNaW51dGVzIHx8IHNlc3Npb25MaWZldGltZU1pbnV0ZXMgfHwgMTUpKTtcbiAgICBjb25zdCBleHBpcmVzQXQgPSBOdW1iZXIoc2Vzc2lvbi5leHBpcmVzIHx8IDApO1xuXG4gICAgaWYodG9rZW5FeHBpcmVzQXQgPiAwICYmIERhdGUubm93KCkgPj0gdG9rZW5FeHBpcmVzQXQpIHtcbiAgICAgIGF3YWl0IHJlZnJlc2hTZXNzaW9uKGZsdXgsIHRva2VuLCByZWZyZXNoRXhwaXJlc01pbnV0ZXMpO1xuICAgIH0gZWxzZSBpZighZXhwaXJlc0F0KSB7XG4gICAgICBhd2FpdCByZWZyZXNoU2Vzc2lvbihmbHV4LCB0b2tlbiwgcmVmcmVzaEV4cGlyZXNNaW51dGVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbWludXRlc1VudGlsRXhwaXJ5ID0gTWF0aC5yb3VuZChEYXRlVGltZS5mcm9tTWlsbGlzKGV4cGlyZXNBdCkuZGlmZihEYXRlVGltZS5sb2NhbCgpLCAnbWludXRlcycpLnRvT2JqZWN0KCkubWludXRlcyB8fCAwKTtcblxuICAgICAgaWYobWludXRlc1VudGlsRXhwaXJ5IDw9IDAgfHwgbWludXRlc1VudGlsRXhwaXJ5IDw9IHJlZnJlc2hXaW5kb3dNaW51dGVzKSB7XG4gICAgICAgIGF3YWl0IHJlZnJlc2hTZXNzaW9uKGZsdXgsIHRva2VuIGFzIHN0cmluZywgcmVmcmVzaEV4cGlyZXNNaW51dGVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCAqIGZyb20gJy4vc3RvcmVzL2luZGV4LmpzJztcblxuZXhwb3J0IHtcbiAgYXBwTXV0YXRpb24sXG4gIGFwcFF1ZXJ5LFxuICBwdWJsaWNNdXRhdGlvbixcbiAgcHVibGljUXVlcnksXG4gIHJ1bU11dGF0aW9uLFxuICByZWZyZXNoU2Vzc2lvbixcbiAgcmVzb2x2ZVJlc3RFbmRwb2ludCxcbiAgcmVzdFJlcXVlc3QsXG4gIHVwbG9hZEltYWdlLFxuICB0eXBlIEFwaVJlc3VsdHNUeXBlLFxuICB0eXBlIFJlYWt0b3JEYkNvbGxlY3Rpb24sXG4gIHR5cGUgUmVzdEFwaU9wdGlvbnMsXG4gIHR5cGUgUmVzdE1ldGhvZFxufSBmcm9tICcuL3V0aWxzL2FwaS5qcyc7XG5cbmV4cG9ydCB7cmVzb2x2ZUVudmlyb25tZW50Q29uZmlnfSBmcm9tICcuL2NvbmZpZy9pbmRleC5qcyc7XG5leHBvcnQge2dldENvbmZpZ0Zyb21GbHV4fSBmcm9tICcuL3V0aWxzL2NvbmZpZ1V0aWxzLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBNZXRyb3BvbGlzUHJvcHMge1xuICByZWFkb25seSBhZGFwdGVycz86IE1ldHJvcG9saXNBZGFwdGVycztcbiAgcmVhZG9ubHkgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdEVsZW1lbnQgfCBSZWFjdC5SZWFjdEVsZW1lbnRbXTtcbiAgcmVhZG9ubHkgY29uZmlnPzogTWV0cm9wb2xpc0NvbmZpZ3VyYXRpb247XG4gIHJlYWRvbmx5IHRyYW5zbGF0aW9ucz86IFNpbXBsZVRyYW5zbGF0aW9ucyB8IENvbXBsZXhUcmFuc2xhdGlvbnM7XG59XG5cbmV4cG9ydCB0eXBlIFNpbXBsZVRyYW5zbGF0aW9ucyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxleFRyYW5zbGF0aW9uIHtcbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbG9jYWxlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWVzcGFjZT86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQ29tcGxleFRyYW5zbGF0aW9ucyA9IFJlY29yZDxzdHJpbmcsIENvbXBsZXhUcmFuc2xhdGlvbj47XG5cbmV4cG9ydCBjb25zdCBNZXRyb3BvbGlzID0gKHthZGFwdGVycywgY2hpbGRyZW4sIGNvbmZpZyA9IHt9LCB0cmFuc2xhdGlvbnMgPSB7fX06IE1ldHJvcG9saXNQcm9wcykgPT4ge1xuICBjb25zdCBmbHV4ID0gdXNlRmx1eCgpO1xuICBjb25zdCByZXNvbHZlZENvbmZpZyA9IHVzZU1lbW88TWV0cm9wb2xpc0Vudmlyb25tZW50Q29uZmlndXJhdGlvbj4oKCkgPT4gcmVzb2x2ZUVudmlyb25tZW50Q29uZmlnKGNvbmZpZyksIFtjb25maWddKTtcbiAgY29uc3QgbWVyZ2VkQWRhcHRlcnMgPSB1c2VNZW1vKCgpID0+ICh7Li4ucmVzb2x2ZWRDb25maWcuYWRhcHRlcnMsIC4uLmFkYXB0ZXJzfSksIFtyZXNvbHZlZENvbmZpZy5hZGFwdGVycywgYWRhcHRlcnNdKTtcbiAgY29uc3QgcnVtT3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gKHtcbiAgICAuLi5yZXNvbHZlZENvbmZpZy5hcHA/LnJ1bSxcbiAgICBhcHBJZDogcmVzb2x2ZWRDb25maWcuYXBwPy5ydW0/LmFwcElkIHx8IHJlc29sdmVkQ29uZmlnLmFwcD8ubmFtZVxuICB9KSwgW3Jlc29sdmVkQ29uZmlnLmFwcD8ubmFtZSwgcmVzb2x2ZWRDb25maWcuYXBwPy5ydW1dKTtcbiAgY29uc3Qgc2Vzc2lvblBlcnNvbmFJZCA9IFN0cmluZyh1c2VGbHV4U3RhdGUoJ3VzZXIuc2Vzc2lvbi5wZXJzb25hSWQnLCAnJykgfHwgJycpO1xuICBjb25zdCBzZXNzaW9uVG9rZW4gPSBTdHJpbmcodXNlRmx1eFN0YXRlKCd1c2VyLnNlc3Npb24udG9rZW4nLCAnJykgfHwgJycpO1xuICBjb25zdCBzZXNzaW9uSHlkcmF0ZWQgPSBCb29sZWFuKHVzZUZsdXhTdGF0ZSgnYXBwLnNlc3Npb25IeWRyYXRlZCcsIGZhbHNlKSk7XG4gIGNvbnN0IHNlc3Npb24gPSB1c2VGbHV4U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY29uc3Qgbm90aWZpY2F0aW9uTGlzdCA9IHVzZUZsdXhTdGF0ZSgnbm90aWZpY2F0aW9uLmxpc3QnLCBbXSkgYXMgQXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuICBjb25zdCBjb252ZXJzYXRpb25NYXAgPSB1c2VGbHV4U3RhdGUoJ21lc3NhZ2UuY29udmVyc2F0aW9ucycsIHt9KSBhcyBSZWNvcmQ8c3RyaW5nLCBBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+O1xuICBjb25zdCBtZXNzYWdlcyA9IHVzZU1lbW8oKCkgPT4gT2JqZWN0LnZhbHVlcyhjb252ZXJzYXRpb25NYXApLmZsYXQoKSwgW2NvbnZlcnNhdGlvbk1hcF0pO1xuXG4gIGNvbnN0IHdlYnNvY2tldHNSZWYgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlV2Vic29ja2V0QWN0aW9ucz4gfCBudWxsPihudWxsKTtcbiAgaWYoIXdlYnNvY2tldHNSZWYuY3VycmVudCkge1xuICAgIHdlYnNvY2tldHNSZWYuY3VycmVudCA9IGNyZWF0ZUFjdGlvbignd2Vic29ja2V0JywgZmx1eCkgYXMgUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlV2Vic29ja2V0QWN0aW9ucz47XG4gIH1cbiAgY29uc3Qgd2Vic29ja2V0cyA9IHdlYnNvY2tldHNSZWYuY3VycmVudDtcbiAgY29uc3QgYXdzUnVtID0gdXNlTWVtbyhcbiAgICAoKSA9PiBjcmVhdGVBY3Rpb24oJ2F3c1J1bScsIGZsdXgsIHJ1bU9wdGlvbnMpIGFzIFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZUFjdGlvbjwnYXdzUnVtJz4+LFxuICAgIFtmbHV4LCBydW1PcHRpb25zXVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYodHlwZW9mIGdsb2JhbFRoaXMud2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9uR290aGFtQW5hbHl0aWNzID0gKGV2ZW50OiBFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgZGV0YWlsID0gKGV2ZW50IGFzIEN1c3RvbUV2ZW50PEF3c1J1bVRyYWNrSW5wdXQ+KS5kZXRhaWw7XG5cbiAgICAgIGlmKGRldGFpbCAmJiB0eXBlb2YgZGV0YWlsID09PSAnb2JqZWN0Jykge1xuICAgICAgICBhd3NSdW0udHJhY2soZGV0YWlsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZ2xvYmFsVGhpcy53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihHT1RIQU1fQU5BTFlUSUNTX0VWRU5ULCBvbkdvdGhhbUFuYWx5dGljcyk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZ2xvYmFsVGhpcy53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihHT1RIQU1fQU5BTFlUSUNTX0VWRU5ULCBvbkdvdGhhbUFuYWx5dGljcyk7XG4gICAgfTtcbiAgfSwgW2F3c1J1bV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaW5pdEkxOG4odHJhbnNsYXRpb25zKTtcbiAgfSwgW3RyYW5zbGF0aW9uc10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGlzQWN0aXZlID0gdHJ1ZTtcblxuICAgIHZvaWQgKGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZShmbHV4LnNldFN0YXRlKCdhcHAuY29uZmlnJywgcmVzb2x2ZWRDb25maWcpKTtcbiAgICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZShmbHV4LnNldFN0YXRlKCdhcHAuc2Vzc2lvbkh5ZHJhdGVkJywgZmFsc2UpKTtcbiAgICAgIGF3YWl0IGh5ZHJhdGVTZXNzaW9uRnJvbVN0b3JhZ2UoZmx1eCk7XG5cbiAgICAgIGlmKCFpc0FjdGl2ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IG9uSW5pdChmbHV4KTtcblxuICAgICAgaWYoIWlzQWN0aXZlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZsdXguc2V0U3RhdGUoJ2FwcC5zZXNzaW9uSHlkcmF0ZWQnLCB0cnVlKSk7XG4gICAgfSkoKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpc0FjdGl2ZSA9IGZhbHNlO1xuICAgIH07XG4gIH0sIFtmbHV4LCByZXNvbHZlZENvbmZpZ10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYoIXNlc3Npb25IeWRyYXRlZCkge1xuICAgICAgd2Vic29ja2V0cy53c0Nsb3NlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYoc2Vzc2lvblRva2VuKSB7XG4gICAgICB3ZWJzb2NrZXRzLndzSW5pdChzZXNzaW9uVG9rZW4sIHNlc3Npb25QZXJzb25hSWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB3ZWJzb2NrZXRzLndzQ2xvc2UoKTtcbiAgICB9XG4gIH0sIFtzZXNzaW9uSHlkcmF0ZWQsIHNlc3Npb25QZXJzb25hSWQsIHNlc3Npb25Ub2tlbiwgd2Vic29ja2V0c10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdlYnNvY2tldHMud3NDbG9zZSgpO1xuICAgIH07XG4gIH0sIFt3ZWJzb2NrZXRzXSk7XG5cbiAgY29uc3QgaXNBdXRoID0gdXNlTWVtbygoKSA9PiByZXNvbHZlZENvbmZpZy5pc0F1dGggfHwgKCgpID0+IHtcbiAgICBjb25zdCBzZXNzaW9uU3RhdGUgPSBmbHV4LmdldFN0YXRlKCd1c2VyLnNlc3Npb24nLCB7fSk7XG4gICAgcmV0dXJuICEhc2Vzc2lvblN0YXRlLnVzZXJBY3RpdmU7XG4gIH0pLCBbcmVzb2x2ZWRDb25maWcuaXNBdXRoLCBmbHV4XSk7XG5cbiAgcmV0dXJuIChcbiAgICA8TWV0cm9wb2xpc0NvbnRleHQuUHJvdmlkZXJcbiAgICAgIHZhbHVlPXt7XG4gICAgICAgIGFkYXB0ZXJzOiBtZXJnZWRBZGFwdGVycyxcbiAgICAgICAgY29uZmlnOiByZXNvbHZlZENvbmZpZyxcbiAgICAgICAgZmx1eCxcbiAgICAgICAgaXNBdXRoLFxuICAgICAgICBtZXNzYWdlcyxcbiAgICAgICAgbm90aWZpY2F0aW9uczogbm90aWZpY2F0aW9uTGlzdCxcbiAgICAgICAgc2Vzc2lvbixcbiAgICAgICAgdXBkYXRlTWVzc2FnZTogKCkgPT4geyB9LFxuICAgICAgICB1cGRhdGVOb3RpZmljYXRpb246IHdlYnNvY2tldHMuc2VuZE5vdGlmaWNhdGlvblxuICAgICAgfX0+XG4gICAgICA8STE4bmV4dFByb3ZpZGVyIGkxOG49e2kxOG59PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L0kxOG5leHRQcm92aWRlcj5cbiAgICA8L01ldHJvcG9saXNDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTWV0cm9wb2xpcztcblxuZXhwb3J0IHt1c2VUcmFuc2xhdGlvbn0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2FkYXB0ZXJzL2luZGV4LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnRzL01ldHJvcG9saXNDb25zdGFudHMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9ncmFwaHFsL21lc3NhZ2UuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9ncmFwaHFsL25vdGlmaWNhdGlvbi5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3Jlcy9pbmRleC5qcyc7XG5leHBvcnQge1xuICBjcmVhdGVBY3Rpb24sXG4gIGNyZWF0ZUFjdGlvbnMsXG4gIGNyZWF0ZUFsbEFjdGlvbnNcbn0gZnJvbSAnLi91dGlscy9hY3Rpb25GYWN0b3J5LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvYXBwLmpzJztcbmV4cG9ydCB7Y3JlYXRlQmFzZUFjdGlvbnN9IGZyb20gJy4vdXRpbHMvYmFzZUFjdGlvbkZhY3RvcnkuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9kYXRlVXRpbHMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9maWxlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvbG9jYXRpb24uanMnO1xuZXhwb3J0IHtcbiAgdXNlQ29udGVudEFjdGlvbnMsXG4gIHVzZUF3c1J1bSxcbiAgdXNlQ3JtQWN0aW9ucyxcbiAgdXNlRXZlbnRBY3Rpb25zLFxuICB1c2VHcm91cEFjdGlvbnMsXG4gIHVzZUltYWdlQWN0aW9ucyxcbiAgdXNlTG9jYXRpb25BY3Rpb25zLFxuICB1c2VNZXNzYWdlQWN0aW9ucywgdXNlTWV0cm9wb2xpcyxcbiAgdXNlTWV0cm9wb2xpc0NvbmZpZyxcbiAgdXNlTWV0cm9wb2xpc0ZsdXgsIHVzZVBvc3RBY3Rpb25zLFxuICB1c2VQZXJzb25hQWN0aW9ucyxcbiAgdXNlUmVhY3Rpb25BY3Rpb25zLFxuICB1c2VSZXN0QWN0aW9ucyxcbiAgdXNlVGFnQWN0aW9ucyxcbiAgdXNlVHJhbnNsYXRpb25BY3Rpb25zLFxuICB1c2VVc2VyQWN0aW9ucyxcbiAgdXNlV2Vic29ja2V0QWN0aW9uc1xufSBmcm9tICcuL3V0aWxzL3VzZU1ldHJvcG9saXMuanMnO1xuZXhwb3J0IHt1c2VDb252ZXJzYXRpb25UeXBpbmd9IGZyb20gJy4vdXRpbHMvdXNlQ29udmVyc2F0aW9uVHlwaW5nLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgQ29udmVyc2F0aW9uVHlwaW5nT3B0aW9ucyxcbiAgVXNlQ29udmVyc2F0aW9uVHlwaW5nT3B0aW9uc1xufSBmcm9tICcuL3V0aWxzL3VzZUNvbnZlcnNhdGlvblR5cGluZy5qcyc7XG5leHBvcnQge1xuICBjcmVhdGVWYWxpZGF0b3JGYWN0b3J5LFxuICBjcmVhdGVWYWxpZGF0b3JNYW5hZ2VyXG59IGZyb20gJy4vdXRpbHMvdmFsaWRhdG9yRmFjdG9yeS5qcyc7XG5cbmV4cG9ydCB0eXBlIHtcbiAgQWN0aW9uT3B0aW9ucyxcbiAgQWN0aW9uUmV0dXJuVHlwZSxcbiAgQWN0aW9uVHlwZSxcbiAgQWN0aW9uVHlwZXNcbn0gZnJvbSAnLi91dGlscy9hY3Rpb25GYWN0b3J5LmpzJztcbmV4cG9ydCB0eXBlIHtCYXNlQWN0aW9uT3B0aW9uc30gZnJvbSAnLi91dGlscy9iYXNlQWN0aW9uRmFjdG9yeS5qcyc7XG5leHBvcnQgdHlwZSB7QmFzZUFkYXB0ZXJPcHRpb25zfSBmcm9tICcuL3V0aWxzL3ZhbGlkYXRvckZhY3RvcnkuanMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvYXBwQWN0aW9ucy9hcHBBY3Rpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy9hd3NSdW1BY3Rpb25zL2F3c1J1bUFjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL2Nvbm5lY3Rpb25BY3Rpb25zL2Nvbm5lY3Rpb25BY3Rpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy9jb252ZXJzYXRpb25BY3Rpb25zL2NvbnZlcnNhdGlvbkFjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL2NybUFjdGlvbnMvY3JtQWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvcmVzdEFjdGlvbnMvcmVzdEFjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL3ZpZGVvQWN0aW9ucy92aWRlb0FjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMvQ29sbGVjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9pbmRleC5qcyc7XG4iXSwibmFtZXMiOlsidXNlRmx1eCIsInVzZUZsdXhTdGF0ZSIsImkxOG4iLCJEYXRlVGltZSIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJJMThuZXh0UHJvdmlkZXIiLCJzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24iLCJzeW5jUGVyc29uYVRvU2Vzc2lvbiIsInJlc29sdmVFbnZpcm9ubWVudENvbmZpZyIsImFwcCIsImV2ZW50cyIsImltYWdlcyIsImxvY2F0aW9ucyIsIm1lc3NhZ2VzIiwibm90aWZpY2F0aW9ucyIsIk5PVElGSUNBVElPTl9DT05TVEFOVFMiLCJwZXJtaXNzaW9ucyIsIlBFUlNPTkFfQ09OU1RBTlRTIiwicG9zdHMiLCJzdWJzY3JpcHRpb25zIiwiVEFHX0NPTlNUQU5UUyIsInRhZ3MiLCJVU0VSX0NPTlNUQU5UUyIsInVzZXJzIiwidmlkZW8iLCJ3ZWJzb2NrZXQiLCJyZWZyZXNoU2Vzc2lvbiIsImdldENvbmZpZ0Zyb21GbHV4IiwiaW5pdEkxOG4iLCJNZXRyb3BvbGlzQ29udGV4dCIsImdldFJlZnJlc2hXaW5kb3dNaW51dGVzIiwiaHlkcmF0ZVNlc3Npb25Gcm9tU3RvcmFnZSIsInBhcnNlSnd0RXhwaXJ5TXMiLCJjcmVhdGVBY3Rpb24iLCJNZXRyb3BvbGlzUHJvdmlkZXIiLCJHT1RIQU1fQU5BTFlUSUNTX0VWRU5UIiwib25Jbml0IiwiZmx1eCIsImdldFN0YXRlIiwiYWRkU3RvcmVzIiwib24iLCJTSUdOX09VVF9TVUNDRVNTIiwiZGlzcGF0Y2giLCJ0eXBlIiwiQ0xFQVJfSVRFTVMiLCJBRERfSVRFTV9TVUNDRVNTIiwicGVyc29uYSIsInBlcnNvbmFJZCIsIkFycmF5IiwiaXNBcnJheSIsIlN0cmluZyIsIlVQREFURV9JVEVNX1NVQ0NFU1MiLCJBRERfUEVSU09OQV9TVUNDRVNTIiwidGFnIiwiY3VycmVudFNlc3Npb24iLCJjdXJyZW50VGFncyIsIm5leHRUYWdJZCIsInRhZ0lkIiwidHJpbSIsIm1lcmdlZFRhZ3MiLCJmaWx0ZXIiLCJpdGVtIiwic29ydCIsImxlZnQiLCJyaWdodCIsIm5hbWUiLCJsb2NhbGVDb21wYXJlIiwibmV4dFNlc3Npb24iLCJzZXRTdGF0ZSIsIlVQREFURV9TRVNTSU9OX1NVQ0NFU1MiLCJ1c2VyIiwiUkVNT1ZFX1BFUlNPTkFfU1VDQ0VTUyIsIm5leHRUYWdzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0b2tlbiIsInNlc3Npb24iLCJjb25maWciLCJ0b2tlbkV4cGlyZXNBdCIsInNlc3Npb25MaWZldGltZU1pbnV0ZXMiLCJNYXRoIiwicm91bmQiLCJOdW1iZXIiLCJleHBpcmVzIiwiaXNzdWVkIiwicmVmcmVzaFdpbmRvd01pbnV0ZXMiLCJyZWZyZXNoRXhwaXJlc01pbnV0ZXMiLCJtYXgiLCJtYXhNaW51dGVzIiwiZXhwaXJlc0F0IiwiRGF0ZSIsIm5vdyIsIm1pbnV0ZXNVbnRpbEV4cGlyeSIsImZyb21NaWxsaXMiLCJkaWZmIiwibG9jYWwiLCJ0b09iamVjdCIsIm1pbnV0ZXMiLCJhcHBNdXRhdGlvbiIsImFwcFF1ZXJ5IiwicHVibGljTXV0YXRpb24iLCJwdWJsaWNRdWVyeSIsInJ1bU11dGF0aW9uIiwicmVzb2x2ZVJlc3RFbmRwb2ludCIsInJlc3RSZXF1ZXN0IiwidXBsb2FkSW1hZ2UiLCJNZXRyb3BvbGlzIiwiYWRhcHRlcnMiLCJjaGlsZHJlbiIsInRyYW5zbGF0aW9ucyIsInJlc29sdmVkQ29uZmlnIiwibWVyZ2VkQWRhcHRlcnMiLCJydW1PcHRpb25zIiwicnVtIiwiYXBwSWQiLCJzZXNzaW9uUGVyc29uYUlkIiwic2Vzc2lvblRva2VuIiwic2Vzc2lvbkh5ZHJhdGVkIiwiQm9vbGVhbiIsIm5vdGlmaWNhdGlvbkxpc3QiLCJjb252ZXJzYXRpb25NYXAiLCJPYmplY3QiLCJ2YWx1ZXMiLCJmbGF0Iiwid2Vic29ja2V0c1JlZiIsImN1cnJlbnQiLCJ3ZWJzb2NrZXRzIiwiYXdzUnVtIiwiZ2xvYmFsVGhpcyIsIndpbmRvdyIsIm9uR290aGFtQW5hbHl0aWNzIiwiZXZlbnQiLCJkZXRhaWwiLCJ0cmFjayIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaXNBY3RpdmUiLCJ3c0Nsb3NlIiwid3NJbml0IiwiaXNBdXRoIiwic2Vzc2lvblN0YXRlIiwidXNlckFjdGl2ZSIsIlByb3ZpZGVyIiwidmFsdWUiLCJ1cGRhdGVNZXNzYWdlIiwidXBkYXRlTm90aWZpY2F0aW9uIiwic2VuZE5vdGlmaWNhdGlvbiIsInVzZVRyYW5zbGF0aW9uIiwiY3JlYXRlQWN0aW9ucyIsImNyZWF0ZUFsbEFjdGlvbnMiLCJjcmVhdGVCYXNlQWN0aW9ucyIsInVzZUNvbnRlbnRBY3Rpb25zIiwidXNlQXdzUnVtIiwidXNlQ3JtQWN0aW9ucyIsInVzZUV2ZW50QWN0aW9ucyIsInVzZUdyb3VwQWN0aW9ucyIsInVzZUltYWdlQWN0aW9ucyIsInVzZUxvY2F0aW9uQWN0aW9ucyIsInVzZU1lc3NhZ2VBY3Rpb25zIiwidXNlTWV0cm9wb2xpcyIsInVzZU1ldHJvcG9saXNDb25maWciLCJ1c2VNZXRyb3BvbGlzRmx1eCIsInVzZVBvc3RBY3Rpb25zIiwidXNlUGVyc29uYUFjdGlvbnMiLCJ1c2VSZWFjdGlvbkFjdGlvbnMiLCJ1c2VSZXN0QWN0aW9ucyIsInVzZVRhZ0FjdGlvbnMiLCJ1c2VUcmFuc2xhdGlvbkFjdGlvbnMiLCJ1c2VVc2VyQWN0aW9ucyIsInVzZVdlYnNvY2tldEFjdGlvbnMiLCJ1c2VDb252ZXJzYXRpb25UeXBpbmciLCJjcmVhdGVWYWxpZGF0b3JGYWN0b3J5IiwiY3JlYXRlVmFsaWRhdG9yTWFuYWdlciJdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLE9BQU8sRUFBRUMsWUFBWSxRQUFPLDhCQUE4QjtBQUNsRSxPQUFPQyxVQUFVLFVBQVU7QUFDM0IsU0FBUUMsUUFBUSxRQUFPLFFBQVE7QUFDL0IsU0FBUUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sUUFBTyxRQUFRO0FBQ2pELFNBQVFDLGVBQWUsUUFBTyxnQkFBZ0I7QUFJOUMsU0FBUUMsd0JBQXdCLEVBQUVDLG9CQUFvQixRQUFPLDZDQUE2QztBQUMxRyxTQUFRQyx3QkFBd0IsUUFBTyxvQkFBb0I7QUFDM0QsU0FDRUMsR0FBRyxFQUNIQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxRQUFRLEVBQ1JDLGFBQWEsRUFDYkMsc0JBQXNCLEVBQ3RCQyxXQUFXLEVBQ1hDLGlCQUFpQixFQUNqQkMsS0FBSyxFQUNMQyxhQUFhLEVBQ2JDLGFBQWEsRUFDYkMsSUFBSSxFQUNKQyxjQUFjLEVBQ2RDLEtBQUssRUFDTEMsS0FBSyxFQUNMQyxTQUFTLFFBQ0osb0JBQW9CO0FBQzNCLFNBQVFDLGNBQWMsUUFBTyxpQkFBaUI7QUFDOUMsU0FBUUMsaUJBQWlCLFFBQU8seUJBQXlCO0FBQ3pELFNBQVFDLFFBQVEsUUFBTyxrQkFBa0I7QUFDekMsU0FBUUMsaUJBQWlCLFFBQU8sZ0NBQWdDO0FBQ2hFLFNBQVFDLHVCQUF1QixFQUFFQyx5QkFBeUIsRUFBRUMsZ0JBQWdCLFFBQU8scUJBQXFCO0FBQ3hHLFNBQVFDLFlBQVksUUFBTywyQkFBMkI7QUFNdEQsU0FBUUosaUJBQWlCLEVBQUVLLGtCQUFrQixRQUFPLGdDQUFnQztBQUtwRixPQUFPLE1BQU1DLHlCQUF5Qix5QkFBeUI7QUFFL0QsT0FBTyxNQUFNQyxTQUFTLE9BQU9DO0lBQzNCLElBQUcsQ0FBQ0EsS0FBS0MsUUFBUSxDQUFDLDhCQUE4QjtRQUM5Q0QsS0FBS0UsU0FBUyxDQUFDO1lBQ2I5QjtZQUNBQztZQUNBQztZQUNBQztZQUNBQztZQUNBQztZQUNBRTtZQUNBRTtZQUNBQztZQUNBRTtZQUNBRTtZQUNBQztZQUNBQztTQUNEO1FBQ0RZLEtBQUtHLEVBQUUsQ0FBQ2xCLGVBQWVtQixnQkFBZ0IsRUFBRTtZQUN2Q0osS0FBS0ssUUFBUSxDQUFDO2dCQUFDQyxNQUFNNUIsdUJBQXVCNkIsV0FBVztZQUFBO1FBQ3pEO1FBQ0FQLEtBQUtHLEVBQUUsQ0FBQ3ZCLGtCQUFrQjRCLGdCQUFnQixFQUFFLE9BQU8sRUFBQ0MsVUFBVSxDQUFDLENBQUMsRUFBc0M7WUFDcEd2QyxxQkFBcUI4QixNQUFNUztZQUUzQixJQUFHQSxTQUFTQyxhQUFhLENBQUNDLE1BQU1DLE9BQU8sQ0FBQ0gsU0FBU3pCLE9BQU87Z0JBQ3RELE1BQU1mLHlCQUF5QitCLE1BQU1hLE9BQU9KLFFBQVFDLFNBQVM7WUFDL0Q7UUFDRjtRQUVBVixLQUFLRyxFQUFFLENBQUN2QixrQkFBa0JrQyxtQkFBbUIsRUFBRSxPQUFPLEVBQUNMLFVBQVUsQ0FBQyxDQUFDLEVBQXNDO1lBQ3ZHdkMscUJBQXFCOEIsTUFBTVM7WUFFM0IsSUFBR0EsU0FBU0MsYUFBYSxDQUFDQyxNQUFNQyxPQUFPLENBQUNILFNBQVN6QixPQUFPO2dCQUN0RCxNQUFNZix5QkFBeUIrQixNQUFNYSxPQUFPSixRQUFRQyxTQUFTO1lBQy9EO1FBQ0Y7UUFFQVYsS0FBS0csRUFBRSxDQUFDcEIsY0FBY2dDLG1CQUFtQixFQUFFLENBQUMsRUFBQ0MsR0FBRyxFQUEwQztZQUN4RixNQUFNQyxpQkFBa0JqQixLQUFLQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1lBRzlELE1BQU1pQixjQUFjUCxNQUFNQyxPQUFPLENBQUNLLGVBQWVqQyxJQUFJLElBQUlpQyxlQUFlakMsSUFBSSxHQUFHLEVBQUU7WUFDakYsTUFBTW1DLFlBQVlOLE9BQU9HLEtBQUtJLFNBQVMsSUFBSUMsSUFBSTtZQUUvQyxJQUFHLENBQUNGLFdBQVc7Z0JBQ2I7WUFDRjtZQUVBLE1BQU1HLGFBQWE7bUJBQUlKLFlBQVlLLE1BQU0sQ0FBQyxDQUFDQyxPQUFTWCxPQUFPVyxNQUFNSixTQUFTLElBQUlDLElBQUksT0FBT0Y7Z0JBQVlIO2FBQXVDLENBQ3pJUyxJQUFJLENBQUMsQ0FBQ0MsTUFBTUMsUUFBVWQsT0FBT2EsTUFBTUUsUUFBUSxJQUFJQyxhQUFhLENBQUNoQixPQUFPYyxPQUFPQyxRQUFRO1lBQ3RGLE1BQU1FLGNBQWM7Z0JBQUMsR0FBR2IsY0FBYztnQkFBRWpDLE1BQU1zQztZQUFVO1lBRXhELEtBQUt0QixLQUFLK0IsUUFBUSxDQUFDLGdCQUFnQkQ7WUFDbkM5QixLQUFLSyxRQUFRLENBQUM7Z0JBQUNDLE1BQU1yQixlQUFlK0Msc0JBQXNCO2dCQUFFQyxNQUFNO29CQUFDakQsTUFBTXNDO2dCQUFVO1lBQUM7UUFDdEY7UUFFQXRCLEtBQUtHLEVBQUUsQ0FBQ3BCLGNBQWNtRCxzQkFBc0IsRUFBRSxDQUFDLEVBQUNsQixHQUFHLEVBQTJCO1lBQzVFLE1BQU1DLGlCQUFrQmpCLEtBQUtDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7WUFHOUQsTUFBTWlCLGNBQWNQLE1BQU1DLE9BQU8sQ0FBQ0ssZUFBZWpDLElBQUksSUFBSWlDLGVBQWVqQyxJQUFJLEdBQUcsRUFBRTtZQUNqRixNQUFNbUMsWUFBWU4sT0FBT0csS0FBS0ksU0FBUyxJQUFJQyxJQUFJO1lBRS9DLElBQUcsQ0FBQ0YsV0FBVztnQkFDYjtZQUNGO1lBRUEsTUFBTWdCLFdBQVdqQixZQUFZSyxNQUFNLENBQUMsQ0FBQ0MsT0FBU1gsT0FBT1csTUFBTUosU0FBUyxJQUFJQyxJQUFJLE9BQU9GO1lBQ25GLE1BQU1XLGNBQWM7Z0JBQUMsR0FBR2IsY0FBYztnQkFBRWpDLE1BQU1tRDtZQUFRO1lBRXRELEtBQUtuQyxLQUFLK0IsUUFBUSxDQUFDLGdCQUFnQkQ7WUFDbkM5QixLQUFLSyxRQUFRLENBQUM7Z0JBQUNDLE1BQU1yQixlQUFlK0Msc0JBQXNCO2dCQUFFQyxNQUFNO29CQUFDakQsTUFBTW1EO2dCQUFRO1lBQUM7UUFDcEY7UUFDQSxNQUFNQyxRQUFRQyxPQUFPLENBQUNyQyxLQUFLK0IsUUFBUSxDQUFDLDZCQUE2QjtJQUNuRTtJQUVBLE1BQU1PLFFBQVF6QixPQUFPYixLQUFLQyxRQUFRLENBQUMseUJBQXlCO0lBRTVELElBQUdxQyxPQUFPO1FBQ1IsTUFBTUMsVUFBV3ZDLEtBQUtDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7UUFDdkQsTUFBTXVDLFNBQVNsRCxrQkFBa0JVO1FBQ2pDLE1BQU15QyxpQkFBaUI5QyxpQkFBaUIyQztRQUN4QyxNQUFNSSx5QkFBeUJDLEtBQUtDLEtBQUssQ0FBQyxBQUFDQyxDQUFBQSxPQUFPTixRQUFRTyxPQUFPLElBQUksS0FBS0QsT0FBT04sUUFBUVEsTUFBTSxJQUFJLEVBQUMsSUFBTSxDQUFBLE9BQU8sRUFBQztRQUNsSCxNQUFNQyx1QkFBdUJ2RCx3QkFDM0JpRCwwQkFBMEIsSUFDMUJGLE9BQU9wRSxHQUFHLEVBQUVtRSxXQUFXLENBQUM7UUFFMUIsTUFBTVUsd0JBQXdCTixLQUFLTyxHQUFHLENBQUMsR0FBR0wsT0FBT0wsT0FBT3BFLEdBQUcsRUFBRW1FLFNBQVNZLGNBQWNULDBCQUEwQjtRQUM5RyxNQUFNVSxZQUFZUCxPQUFPTixRQUFRTyxPQUFPLElBQUk7UUFFNUMsSUFBR0wsaUJBQWlCLEtBQUtZLEtBQUtDLEdBQUcsTUFBTWIsZ0JBQWdCO1lBQ3JELE1BQU1wRCxlQUFlVyxNQUFNc0MsT0FBT1c7UUFDcEMsT0FBTyxJQUFHLENBQUNHLFdBQVc7WUFDcEIsTUFBTS9ELGVBQWVXLE1BQU1zQyxPQUFPVztRQUNwQyxPQUFPO1lBQ0wsTUFBTU0scUJBQXFCWixLQUFLQyxLQUFLLENBQUNoRixTQUFTNEYsVUFBVSxDQUFDSixXQUFXSyxJQUFJLENBQUM3RixTQUFTOEYsS0FBSyxJQUFJLFdBQVdDLFFBQVEsR0FBR0MsT0FBTyxJQUFJO1lBRTdILElBQUdMLHNCQUFzQixLQUFLQSxzQkFBc0JQLHNCQUFzQjtnQkFDeEUsTUFBTTNELGVBQWVXLE1BQU1zQyxPQUFpQlc7WUFDOUM7UUFDRjtJQUNGO0FBQ0YsRUFBRTtBQUVGLGNBQWMsb0JBQW9CO0FBRWxDLFNBQ0VZLFdBQVcsRUFDWEMsUUFBUSxFQUNSQyxjQUFjLEVBQ2RDLFdBQVcsRUFDWEMsV0FBVyxFQUNYNUUsY0FBYyxFQUNkNkUsbUJBQW1CLEVBQ25CQyxXQUFXLEVBQ1hDLFdBQVcsUUFLTixpQkFBaUI7QUFFeEIsU0FBUWpHLHdCQUF3QixRQUFPLG9CQUFvQjtBQUMzRCxTQUFRbUIsaUJBQWlCLFFBQU8seUJBQXlCO0FBbUJ6RCxPQUFPLE1BQU0rRSxhQUFhLENBQUMsRUFBQ0MsUUFBUSxFQUFFQyxRQUFRLEVBQUUvQixTQUFTLENBQUMsQ0FBQyxFQUFFZ0MsZUFBZSxDQUFDLENBQUMsRUFBa0I7SUFDOUYsTUFBTXhFLE9BQU92QztJQUNiLE1BQU1nSCxpQkFBaUIzRyxRQUE0QyxJQUFNSyx5QkFBeUJxRSxTQUFTO1FBQUNBO0tBQU87SUFDbkgsTUFBTWtDLGlCQUFpQjVHLFFBQVEsSUFBTyxDQUFBO1lBQUMsR0FBRzJHLGVBQWVILFFBQVE7WUFBRSxHQUFHQSxRQUFRO1FBQUEsQ0FBQSxHQUFJO1FBQUNHLGVBQWVILFFBQVE7UUFBRUE7S0FBUztJQUNySCxNQUFNSyxhQUFhN0csUUFBUSxJQUFPLENBQUE7WUFDaEMsR0FBRzJHLGVBQWVyRyxHQUFHLEVBQUV3RyxHQUFHO1lBQzFCQyxPQUFPSixlQUFlckcsR0FBRyxFQUFFd0csS0FBS0MsU0FBU0osZUFBZXJHLEdBQUcsRUFBRXdEO1FBQy9ELENBQUEsR0FBSTtRQUFDNkMsZUFBZXJHLEdBQUcsRUFBRXdEO1FBQU02QyxlQUFlckcsR0FBRyxFQUFFd0c7S0FBSTtJQUN2RCxNQUFNRSxtQkFBbUJqRSxPQUFPbkQsYUFBYSwwQkFBMEIsT0FBTztJQUM5RSxNQUFNcUgsZUFBZWxFLE9BQU9uRCxhQUFhLHNCQUFzQixPQUFPO0lBQ3RFLE1BQU1zSCxrQkFBa0JDLFFBQVF2SCxhQUFhLHVCQUF1QjtJQUNwRSxNQUFNNkUsVUFBVTdFLGFBQWEsZ0JBQWdCLENBQUM7SUFDOUMsTUFBTXdILG1CQUFtQnhILGFBQWEscUJBQXFCLEVBQUU7SUFDN0QsTUFBTXlILGtCQUFrQnpILGFBQWEseUJBQXlCLENBQUM7SUFDL0QsTUFBTWMsV0FBV1YsUUFBUSxJQUFNc0gsT0FBT0MsTUFBTSxDQUFDRixpQkFBaUJHLElBQUksSUFBSTtRQUFDSDtLQUFnQjtJQUV2RixNQUFNSSxnQkFBZ0J4SCxPQUF5RDtJQUMvRSxJQUFHLENBQUN3SCxjQUFjQyxPQUFPLEVBQUU7UUFDekJELGNBQWNDLE9BQU8sR0FBRzVGLGFBQWEsYUFBYUk7SUFDcEQ7SUFDQSxNQUFNeUYsYUFBYUYsY0FBY0MsT0FBTztJQUN4QyxNQUFNRSxTQUFTNUgsUUFDYixJQUFNOEIsYUFBYSxVQUFVSSxNQUFNMkUsYUFDbkM7UUFBQzNFO1FBQU0yRTtLQUFXO0lBR3BCOUcsVUFBVTtRQUNSLElBQUcsT0FBTzhILFdBQVdDLE1BQU0sS0FBSyxhQUFhO1lBQzNDO1FBQ0Y7UUFFQSxNQUFNQyxvQkFBb0IsQ0FBQ0M7WUFDekIsTUFBTUMsU0FBUyxBQUFDRCxNQUF3Q0MsTUFBTTtZQUU5RCxJQUFHQSxVQUFVLE9BQU9BLFdBQVcsVUFBVTtnQkFDdkNMLE9BQU9NLEtBQUssQ0FBQ0Q7WUFDZjtRQUNGO1FBRUFKLFdBQVdDLE1BQU0sQ0FBQ0ssZ0JBQWdCLENBQUNuRyx3QkFBd0IrRjtRQUUzRCxPQUFPO1lBQ0xGLFdBQVdDLE1BQU0sQ0FBQ00sbUJBQW1CLENBQUNwRyx3QkFBd0IrRjtRQUNoRTtJQUNGLEdBQUc7UUFBQ0g7S0FBTztJQUVYN0gsVUFBVTtRQUNSMEIsU0FBU2lGO0lBQ1gsR0FBRztRQUFDQTtLQUFhO0lBRWpCM0csVUFBVTtRQUNSLElBQUlzSSxXQUFXO1FBRWYsS0FBSyxBQUFDLENBQUE7WUFDSixNQUFNL0QsUUFBUUMsT0FBTyxDQUFDckMsS0FBSytCLFFBQVEsQ0FBQyxjQUFjMEM7WUFDbEQsTUFBTXJDLFFBQVFDLE9BQU8sQ0FBQ3JDLEtBQUsrQixRQUFRLENBQUMsdUJBQXVCO1lBQzNELE1BQU1yQywwQkFBMEJNO1lBRWhDLElBQUcsQ0FBQ21HLFVBQVU7Z0JBQ1o7WUFDRjtZQUVBLE1BQU1wRyxPQUFPQztZQUViLElBQUcsQ0FBQ21HLFVBQVU7Z0JBQ1o7WUFDRjtZQUVBLE1BQU0vRCxRQUFRQyxPQUFPLENBQUNyQyxLQUFLK0IsUUFBUSxDQUFDLHVCQUF1QjtRQUM3RCxDQUFBO1FBRUEsT0FBTztZQUNMb0UsV0FBVztRQUNiO0lBQ0YsR0FBRztRQUFDbkc7UUFBTXlFO0tBQWU7SUFFekI1RyxVQUFVO1FBQ1IsSUFBRyxDQUFDbUgsaUJBQWlCO1lBQ25CUyxXQUFXVyxPQUFPO1lBQ2xCO1FBQ0Y7UUFFQSxJQUFHckIsY0FBYztZQUNmVSxXQUFXWSxNQUFNLENBQUN0QixjQUFjRDtRQUNsQyxPQUFPO1lBQ0xXLFdBQVdXLE9BQU87UUFDcEI7SUFDRixHQUFHO1FBQUNwQjtRQUFpQkY7UUFBa0JDO1FBQWNVO0tBQVc7SUFFaEU1SCxVQUFVO1FBQ1IsT0FBTztZQUNMNEgsV0FBV1csT0FBTztRQUNwQjtJQUNGLEdBQUc7UUFBQ1g7S0FBVztJQUVmLE1BQU1hLFNBQVN4SSxRQUFRLElBQU0yRyxlQUFlNkIsTUFBTSxJQUFLLENBQUE7WUFDckQsTUFBTUMsZUFBZXZHLEtBQUtDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztZQUNwRCxPQUFPLENBQUMsQ0FBQ3NHLGFBQWFDLFVBQVU7UUFDbEMsQ0FBQSxHQUFJO1FBQUMvQixlQUFlNkIsTUFBTTtRQUFFdEc7S0FBSztJQUVqQyxxQkFDRSxLQUFDUixrQkFBa0JpSCxRQUFRO1FBQ3pCQyxPQUFPO1lBQ0xwQyxVQUFVSTtZQUNWbEMsUUFBUWlDO1lBQ1J6RTtZQUNBc0c7WUFDQTlIO1lBQ0FDLGVBQWV5RztZQUNmM0M7WUFDQW9FLGVBQWUsS0FBUTtZQUN2QkMsb0JBQW9CbkIsV0FBV29CLGdCQUFnQjtRQUNqRDtrQkFDQSxjQUFBLEtBQUM3STtZQUFnQkwsTUFBTUE7c0JBQ3BCNEc7OztBQUlULEVBQUU7QUFFRixlQUFlRixXQUFXO0FBRTFCLFNBQVF5QyxjQUFjLFFBQU8sZ0JBQWdCO0FBQzdDLGNBQWMsc0JBQXNCO0FBQ3BDLGNBQWMscUNBQXFDO0FBQ25ELGNBQWMsdUJBQXVCO0FBQ3JDLGNBQWMsNEJBQTRCO0FBQzFDLGNBQWMsb0JBQW9CO0FBQ2xDLFNBQ0VsSCxZQUFZLEVBQ1ptSCxhQUFhLEVBQ2JDLGdCQUFnQixRQUNYLDJCQUEyQjtBQUNsQyxjQUFjLGlCQUFpQjtBQUMvQixTQUFRQyxpQkFBaUIsUUFBTywrQkFBK0I7QUFDL0QsY0FBYyx1QkFBdUI7QUFDckMsY0FBYyxrQkFBa0I7QUFDaEMsY0FBYyxzQkFBc0I7QUFDcEMsU0FDRUMsaUJBQWlCLEVBQ2pCQyxTQUFTLEVBQ1RDLGFBQWEsRUFDYkMsZUFBZSxFQUNmQyxlQUFlLEVBQ2ZDLGVBQWUsRUFDZkMsa0JBQWtCLEVBQ2xCQyxpQkFBaUIsRUFBRUMsYUFBYSxFQUNoQ0MsbUJBQW1CLEVBQ25CQyxpQkFBaUIsRUFBRUMsY0FBYyxFQUNqQ0MsaUJBQWlCLEVBQ2pCQyxrQkFBa0IsRUFDbEJDLGNBQWMsRUFDZEMsYUFBYSxFQUNiQyxxQkFBcUIsRUFDckJDLGNBQWMsRUFDZEMsbUJBQW1CLFFBQ2QsMkJBQTJCO0FBQ2xDLFNBQVFDLHFCQUFxQixRQUFPLG1DQUFtQztBQUt2RSxTQUNFQyxzQkFBc0IsRUFDdEJDLHNCQUFzQixRQUNqQiw4QkFBOEI7QUFXckMsY0FBYyxxQ0FBcUM7QUFDbkQsY0FBYywyQ0FBMkM7QUFDekQsY0FBYyxtREFBbUQ7QUFDakUsY0FBYyx1REFBdUQ7QUFDckUsY0FBYyxxQ0FBcUM7QUFDbkQsY0FBYyx1Q0FBdUM7QUFDckQsY0FBYyx5Q0FBeUM7QUFDdkQsY0FBYyw2QkFBNkI7QUFDM0MsY0FBYyxtQkFBbUIifQ==
|
|
281
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge3VzZUZsdXgsIHVzZUZsdXhTdGF0ZX0gZnJvbSAnQG5sYWJzL2Fya2hhbWpzLXV0aWxzLXJlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHt1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtJMThuZXh0UHJvdmlkZXJ9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQge2NyZWF0ZVdlYnNvY2tldEFjdGlvbnN9IGZyb20gJy4vYWN0aW9ucy93ZWJzb2NrZXRBY3Rpb25zL3dlYnNvY2tldEFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge0F3c1J1bUFjdGlvbnMsIEF3c1J1bVRyYWNrSW5wdXR9IGZyb20gJy4vYWN0aW9ucy9hd3NSdW1BY3Rpb25zL2F3c1J1bUFjdGlvbnMuanMnO1xuaW1wb3J0IHtzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24sIHN5bmNQZXJzb25hVG9TZXNzaW9ufSBmcm9tICcuL2FjdGlvbnMvcGVyc29uYUFjdGlvbnMvcGVyc29uYUFjdGlvbnMuanMnO1xuaW1wb3J0IHtyZXNvbHZlRW52aXJvbm1lbnRDb25maWd9IGZyb20gJy4vY29uZmlnL2luZGV4LmpzJztcbmltcG9ydCB7XG4gIGFwcCxcbiAgZXZlbnRzLFxuICBpbWFnZXMsXG4gIGxvY2F0aW9ucyxcbiAgbWVzc2FnZXMsXG4gIG5vdGlmaWNhdGlvbnMsXG4gIE5PVElGSUNBVElPTl9DT05TVEFOVFMsXG4gIHBlcm1pc3Npb25zLFxuICBQRVJTT05BX0NPTlNUQU5UUyxcbiAgcG9zdHMsXG4gIHN1YnNjcmlwdGlvbnMsXG4gIFRBR19DT05TVEFOVFMsXG4gIHRhZ3MsXG4gIFVTRVJfQ09OU1RBTlRTLFxuICB1c2VycyxcbiAgdmlkZW8sXG4gIHdlYnNvY2tldFxufSBmcm9tICcuL3N0b3Jlcy9pbmRleC5qcyc7XG5pbXBvcnQge3JlZnJlc2hTZXNzaW9ufSBmcm9tICcuL3V0aWxzL2FwaS5qcyc7XG5pbXBvcnQge2dldENvbmZpZ0Zyb21GbHV4fSBmcm9tICcuL3V0aWxzL2NvbmZpZ1V0aWxzLmpzJztcbmltcG9ydCB7aW5pdEkxOG59IGZyb20gJy4vdXRpbHMvaTE4bi5qcyc7XG5pbXBvcnQge01ldHJvcG9saXNDb250ZXh0fSBmcm9tICcuL3V0aWxzL01ldHJvcG9saXNQcm92aWRlci5qcyc7XG5pbXBvcnQge2dldFJlZnJlc2hXaW5kb3dNaW51dGVzLCBoeWRyYXRlU2Vzc2lvbkZyb21TdG9yYWdlLCBwYXJzZUp3dEV4cGlyeU1zfSBmcm9tICcuL3V0aWxzL3Nlc3Npb24uanMnO1xuaW1wb3J0IHtjcmVhdGVBY3Rpb259IGZyb20gJy4vdXRpbHMvYWN0aW9uRmFjdG9yeS5qcyc7XG5cbmltcG9ydCB0eXBlIHtGbHV4RnJhbWV3b3JrfSBmcm9tICdAbmxhYnMvYXJraGFtanMnO1xuaW1wb3J0IHR5cGUge01ldHJvcG9saXNDb25maWd1cmF0aW9uLCBNZXRyb3BvbGlzRW52aXJvbm1lbnRDb25maWd1cmF0aW9ufSBmcm9tICcuL2NvbmZpZy9pbmRleC5qcyc7XG5pbXBvcnQgdHlwZSB7TWV0cm9wb2xpc0FkYXB0ZXJzfSBmcm9tICcuL3V0aWxzL01ldHJvcG9saXNQcm92aWRlci5qcyc7XG5cbmV4cG9ydCB7TWV0cm9wb2xpc0NvbnRleHQsIE1ldHJvcG9saXNQcm92aWRlcn0gZnJvbSAnLi91dGlscy9NZXRyb3BvbGlzUHJvdmlkZXIuanMnO1xuXG5leHBvcnQgdHlwZSB7TWV0cm9wb2xpc0NvbmZpZ3VyYXRpb259IGZyb20gJy4vY29uZmlnL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHtNZXRyb3BvbGlzQWRhcHRlcnN9IGZyb20gJy4vdXRpbHMvTWV0cm9wb2xpc1Byb3ZpZGVyLmpzJztcblxuZXhwb3J0IGNvbnN0IEdPVEhBTV9BTkFMWVRJQ1NfRVZFTlQgPSAnbmxhYnM6Z290aGFtOmFuYWx5dGljcyc7XG5cbmV4cG9ydCBjb25zdCBvbkluaXQgPSBhc3luYyAoZmx1eDogRmx1eEZyYW1ld29yaykgPT4ge1xuICBpZighZmx1eC5nZXRTdGF0ZSgnYXBwLm1ldHJvcG9saXNJbml0aWFsaXplZCcpKSB7XG4gICAgZmx1eC5hZGRTdG9yZXMoW1xuICAgICAgYXBwLFxuICAgICAgZXZlbnRzLFxuICAgICAgaW1hZ2VzLFxuICAgICAgbG9jYXRpb25zLFxuICAgICAgbWVzc2FnZXMsXG4gICAgICBub3RpZmljYXRpb25zLFxuICAgICAgcGVybWlzc2lvbnMsXG4gICAgICBwb3N0cyxcbiAgICAgIHN1YnNjcmlwdGlvbnMsXG4gICAgICB0YWdzLFxuICAgICAgdXNlcnMsXG4gICAgICB2aWRlbyxcbiAgICAgIHdlYnNvY2tldFxuICAgIF0pO1xuICAgIGZsdXgub24oVVNFUl9DT05TVEFOVFMuU0lHTl9PVVRfU1VDQ0VTUywgKCkgPT4ge1xuICAgICAgZmx1eC5kaXNwYXRjaCh7dHlwZTogTk9USUZJQ0FUSU9OX0NPTlNUQU5UUy5DTEVBUl9JVEVNU30pO1xuICAgIH0pO1xuICAgIGZsdXgub24oUEVSU09OQV9DT05TVEFOVFMuQUREX0lURU1fU1VDQ0VTUywgYXN5bmMgKHtwZXJzb25hID0ge319OiB7cGVyc29uYT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+fSkgPT4ge1xuICAgICAgc3luY1BlcnNvbmFUb1Nlc3Npb24oZmx1eCwgcGVyc29uYSk7XG5cbiAgICAgIGlmKHBlcnNvbmE/LnBlcnNvbmFJZCAmJiAhQXJyYXkuaXNBcnJheShwZXJzb25hPy50YWdzKSkge1xuICAgICAgICBhd2FpdCBzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24oZmx1eCwgU3RyaW5nKHBlcnNvbmEucGVyc29uYUlkKSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBmbHV4Lm9uKFBFUlNPTkFfQ09OU1RBTlRTLlVQREFURV9JVEVNX1NVQ0NFU1MsIGFzeW5jICh7cGVyc29uYSA9IHt9fToge3BlcnNvbmE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0pID0+IHtcbiAgICAgIHN5bmNQZXJzb25hVG9TZXNzaW9uKGZsdXgsIHBlcnNvbmEpO1xuXG4gICAgICBpZihwZXJzb25hPy5wZXJzb25hSWQgJiYgIUFycmF5LmlzQXJyYXkocGVyc29uYT8udGFncykpIHtcbiAgICAgICAgYXdhaXQgc3luY1BlcnNvbmFUYWdzVG9TZXNzaW9uKGZsdXgsIFN0cmluZyhwZXJzb25hLnBlcnNvbmFJZCkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZmx1eC5vbihUQUdfQ09OU1RBTlRTLkFERF9QRVJTT05BX1NVQ0NFU1MsICh7dGFnfToge3RhZz86IHtuYW1lPzogc3RyaW5nOyB0YWdJZD86IHN0cmluZ319KSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50U2Vzc2lvbiA9IChmbHV4LmdldFN0YXRlKCd1c2VyLnNlc3Npb24nLCB7fSkgfHwge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ICYge1xuICAgICAgICB0YWdzPzogQXJyYXk8e25hbWU/OiBzdHJpbmc7IHRhZ0lkPzogc3RyaW5nfT47XG4gICAgICB9O1xuICAgICAgY29uc3QgY3VycmVudFRhZ3MgPSBBcnJheS5pc0FycmF5KGN1cnJlbnRTZXNzaW9uLnRhZ3MpID8gY3VycmVudFNlc3Npb24udGFncyA6IFtdO1xuICAgICAgY29uc3QgbmV4dFRhZ0lkID0gU3RyaW5nKHRhZz8udGFnSWQgfHwgJycpLnRyaW0oKTtcblxuICAgICAgaWYoIW5leHRUYWdJZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1lcmdlZFRhZ3MgPSBbLi4uY3VycmVudFRhZ3MuZmlsdGVyKChpdGVtKSA9PiBTdHJpbmcoaXRlbT8udGFnSWQgfHwgJycpLnRyaW0oKSAhPT0gbmV4dFRhZ0lkKSwgdGFnIGFzIHtuYW1lPzogc3RyaW5nOyB0YWdJZD86IHN0cmluZ31dXG4gICAgICAgIC5zb3J0KChsZWZ0LCByaWdodCkgPT4gU3RyaW5nKGxlZnQ/Lm5hbWUgfHwgJycpLmxvY2FsZUNvbXBhcmUoU3RyaW5nKHJpZ2h0Py5uYW1lIHx8ICcnKSkpO1xuICAgICAgY29uc3QgbmV4dFNlc3Npb24gPSB7Li4uY3VycmVudFNlc3Npb24sIHRhZ3M6IG1lcmdlZFRhZ3N9O1xuXG4gICAgICB2b2lkIGZsdXguc2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIG5leHRTZXNzaW9uKTtcbiAgICAgIGZsdXguZGlzcGF0Y2goe3R5cGU6IFVTRVJfQ09OU1RBTlRTLlVQREFURV9TRVNTSU9OX1NVQ0NFU1MsIHVzZXI6IHt0YWdzOiBtZXJnZWRUYWdzfX0pO1xuICAgIH0pO1xuXG4gICAgZmx1eC5vbihUQUdfQ09OU1RBTlRTLlJFTU9WRV9QRVJTT05BX1NVQ0NFU1MsICh7dGFnfToge3RhZz86IHt0YWdJZD86IHN0cmluZ319KSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50U2Vzc2lvbiA9IChmbHV4LmdldFN0YXRlKCd1c2VyLnNlc3Npb24nLCB7fSkgfHwge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ICYge1xuICAgICAgICB0YWdzPzogQXJyYXk8e25hbWU/OiBzdHJpbmc7IHRhZ0lkPzogc3RyaW5nfT47XG4gICAgICB9O1xuICAgICAgY29uc3QgY3VycmVudFRhZ3MgPSBBcnJheS5pc0FycmF5KGN1cnJlbnRTZXNzaW9uLnRhZ3MpID8gY3VycmVudFNlc3Npb24udGFncyA6IFtdO1xuICAgICAgY29uc3QgbmV4dFRhZ0lkID0gU3RyaW5nKHRhZz8udGFnSWQgfHwgJycpLnRyaW0oKTtcblxuICAgICAgaWYoIW5leHRUYWdJZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5leHRUYWdzID0gY3VycmVudFRhZ3MuZmlsdGVyKChpdGVtKSA9PiBTdHJpbmcoaXRlbT8udGFnSWQgfHwgJycpLnRyaW0oKSAhPT0gbmV4dFRhZ0lkKTtcbiAgICAgIGNvbnN0IG5leHRTZXNzaW9uID0gey4uLmN1cnJlbnRTZXNzaW9uLCB0YWdzOiBuZXh0VGFnc307XG5cbiAgICAgIHZvaWQgZmx1eC5zZXRTdGF0ZSgndXNlci5zZXNzaW9uJywgbmV4dFNlc3Npb24pO1xuICAgICAgZmx1eC5kaXNwYXRjaCh7dHlwZTogVVNFUl9DT05TVEFOVFMuVVBEQVRFX1NFU1NJT05fU1VDQ0VTUywgdXNlcjoge3RhZ3M6IG5leHRUYWdzfX0pO1xuICAgIH0pO1xuICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZShmbHV4LnNldFN0YXRlKCdhcHAubWV0cm9wb2xpc0luaXRpYWxpemVkJywgdHJ1ZSkpO1xuICB9XG5cbiAgY29uc3QgdG9rZW4gPSBTdHJpbmcoZmx1eC5nZXRTdGF0ZSgndXNlci5zZXNzaW9uLnRva2VuJykgfHwgJycpO1xuXG4gIGlmKHRva2VuKSB7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IChmbHV4LmdldFN0YXRlKCd1c2VyLnNlc3Npb24nLCB7fSkgfHwge30pIGFzIHtleHBpcmVzPzogbnVtYmVyOyBpc3N1ZWQ/OiBudW1iZXI7IHRva2VuPzogc3RyaW5nfTtcbiAgICBjb25zdCBjb25maWcgPSBnZXRDb25maWdGcm9tRmx1eChmbHV4KTtcbiAgICBjb25zdCB0b2tlbkV4cGlyZXNBdCA9IHBhcnNlSnd0RXhwaXJ5TXModG9rZW4pO1xuICAgIGNvbnN0IHNlc3Npb25MaWZldGltZU1pbnV0ZXMgPSBNYXRoLnJvdW5kKChOdW1iZXIoc2Vzc2lvbi5leHBpcmVzIHx8IDApIC0gTnVtYmVyKHNlc3Npb24uaXNzdWVkIHx8IDApKSAvICgxMDAwICogNjApKTtcbiAgICBjb25zdCByZWZyZXNoV2luZG93TWludXRlcyA9IGdldFJlZnJlc2hXaW5kb3dNaW51dGVzKFxuICAgICAgc2Vzc2lvbkxpZmV0aW1lTWludXRlcyB8fCAxNSxcbiAgICAgIGNvbmZpZy5hcHA/LnNlc3Npb24gfHwge31cbiAgICApO1xuICAgIGNvbnN0IHJlZnJlc2hFeHBpcmVzTWludXRlcyA9IE1hdGgubWF4KDEsIE51bWJlcihjb25maWcuYXBwPy5zZXNzaW9uPy5tYXhNaW51dGVzIHx8IHNlc3Npb25MaWZldGltZU1pbnV0ZXMgfHwgMTUpKTtcbiAgICBjb25zdCBleHBpcmVzQXQgPSBOdW1iZXIoc2Vzc2lvbi5leHBpcmVzIHx8IDApO1xuXG4gICAgaWYodG9rZW5FeHBpcmVzQXQgPiAwICYmIERhdGUubm93KCkgPj0gdG9rZW5FeHBpcmVzQXQpIHtcbiAgICAgIGF3YWl0IHJlZnJlc2hTZXNzaW9uKGZsdXgsIHRva2VuLCByZWZyZXNoRXhwaXJlc01pbnV0ZXMpO1xuICAgIH0gZWxzZSBpZighZXhwaXJlc0F0KSB7XG4gICAgICBhd2FpdCByZWZyZXNoU2Vzc2lvbihmbHV4LCB0b2tlbiwgcmVmcmVzaEV4cGlyZXNNaW51dGVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbWludXRlc1VudGlsRXhwaXJ5ID0gTWF0aC5yb3VuZChEYXRlVGltZS5mcm9tTWlsbGlzKGV4cGlyZXNBdCkuZGlmZihEYXRlVGltZS5sb2NhbCgpLCAnbWludXRlcycpLnRvT2JqZWN0KCkubWludXRlcyB8fCAwKTtcblxuICAgICAgaWYobWludXRlc1VudGlsRXhwaXJ5IDw9IDAgfHwgbWludXRlc1VudGlsRXhwaXJ5IDw9IHJlZnJlc2hXaW5kb3dNaW51dGVzKSB7XG4gICAgICAgIGF3YWl0IHJlZnJlc2hTZXNzaW9uKGZsdXgsIHRva2VuIGFzIHN0cmluZywgcmVmcmVzaEV4cGlyZXNNaW51dGVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCAqIGZyb20gJy4vc3RvcmVzL2luZGV4LmpzJztcblxuZXhwb3J0IHtcbiAgYXBwTXV0YXRpb24sXG4gIGFwcFF1ZXJ5LFxuICBwdWJsaWNNdXRhdGlvbixcbiAgcHVibGljUXVlcnksXG4gIHJ1bU11dGF0aW9uLFxuICByZWZyZXNoU2Vzc2lvbixcbiAgcmVzb2x2ZVJlc3RFbmRwb2ludCxcbiAgcmVzdFJlcXVlc3QsXG4gIHVwbG9hZEltYWdlLFxuICB0eXBlIEFwaVJlc3VsdHNUeXBlLFxuICB0eXBlIFJlYWt0b3JEYkNvbGxlY3Rpb24sXG4gIHR5cGUgUmVzdEFwaU9wdGlvbnMsXG4gIHR5cGUgUmVzdE1ldGhvZFxufSBmcm9tICcuL3V0aWxzL2FwaS5qcyc7XG5cbmV4cG9ydCB7cmVzb2x2ZUVudmlyb25tZW50Q29uZmlnfSBmcm9tICcuL2NvbmZpZy9pbmRleC5qcyc7XG5leHBvcnQge2dldENvbmZpZ0Zyb21GbHV4fSBmcm9tICcuL3V0aWxzL2NvbmZpZ1V0aWxzLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBNZXRyb3BvbGlzUHJvcHMge1xuICByZWFkb25seSBhZGFwdGVycz86IE1ldHJvcG9saXNBZGFwdGVycztcbiAgcmVhZG9ubHkgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdEVsZW1lbnQgfCBSZWFjdC5SZWFjdEVsZW1lbnRbXTtcbiAgcmVhZG9ubHkgY29uZmlnPzogTWV0cm9wb2xpc0NvbmZpZ3VyYXRpb247XG4gIHJlYWRvbmx5IHRyYW5zbGF0aW9ucz86IFNpbXBsZVRyYW5zbGF0aW9ucyB8IENvbXBsZXhUcmFuc2xhdGlvbnM7XG59XG5cbmV4cG9ydCB0eXBlIFNpbXBsZVRyYW5zbGF0aW9ucyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxleFRyYW5zbGF0aW9uIHtcbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbG9jYWxlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWVzcGFjZT86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQ29tcGxleFRyYW5zbGF0aW9ucyA9IFJlY29yZDxzdHJpbmcsIENvbXBsZXhUcmFuc2xhdGlvbj47XG5cbmV4cG9ydCBjb25zdCBNZXRyb3BvbGlzID0gKHthZGFwdGVycywgY2hpbGRyZW4sIGNvbmZpZyA9IHt9LCB0cmFuc2xhdGlvbnMgPSB7fX06IE1ldHJvcG9saXNQcm9wcykgPT4ge1xuICBjb25zdCBmbHV4ID0gdXNlRmx1eCgpO1xuICBjb25zdCByZXNvbHZlZENvbmZpZyA9IHVzZU1lbW88TWV0cm9wb2xpc0Vudmlyb25tZW50Q29uZmlndXJhdGlvbj4oKCkgPT4gcmVzb2x2ZUVudmlyb25tZW50Q29uZmlnKGNvbmZpZyksIFtjb25maWddKTtcbiAgY29uc3QgbWVyZ2VkQWRhcHRlcnMgPSB1c2VNZW1vKCgpID0+ICh7Li4ucmVzb2x2ZWRDb25maWcuYWRhcHRlcnMsIC4uLmFkYXB0ZXJzfSksIFtyZXNvbHZlZENvbmZpZy5hZGFwdGVycywgYWRhcHRlcnNdKTtcbiAgY29uc3QgcnVtT3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gKHtcbiAgICAuLi5yZXNvbHZlZENvbmZpZy5hcHA/LnJ1bSxcbiAgICBhcHBJZDogcmVzb2x2ZWRDb25maWcuYXBwPy5ydW0/LmFwcElkIHx8IHJlc29sdmVkQ29uZmlnLmFwcD8ubmFtZVxuICB9KSwgW3Jlc29sdmVkQ29uZmlnLmFwcD8ubmFtZSwgcmVzb2x2ZWRDb25maWcuYXBwPy5ydW1dKTtcbiAgY29uc3Qgc2Vzc2lvblBlcnNvbmFJZCA9IFN0cmluZyh1c2VGbHV4U3RhdGUoJ3VzZXIuc2Vzc2lvbi5wZXJzb25hSWQnLCAnJykgfHwgJycpO1xuICBjb25zdCBzZXNzaW9uVG9rZW4gPSBTdHJpbmcodXNlRmx1eFN0YXRlKCd1c2VyLnNlc3Npb24udG9rZW4nLCAnJykgfHwgJycpO1xuICBjb25zdCBzZXNzaW9uSHlkcmF0ZWQgPSBCb29sZWFuKHVzZUZsdXhTdGF0ZSgnYXBwLnNlc3Npb25IeWRyYXRlZCcsIGZhbHNlKSk7XG4gIGNvbnN0IHNlc3Npb24gPSB1c2VGbHV4U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY29uc3Qgbm90aWZpY2F0aW9uTGlzdCA9IHVzZUZsdXhTdGF0ZSgnbm90aWZpY2F0aW9uLmxpc3QnLCBbXSkgYXMgQXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuICBjb25zdCBjb252ZXJzYXRpb25NYXAgPSB1c2VGbHV4U3RhdGUoJ21lc3NhZ2UuY29udmVyc2F0aW9ucycsIHt9KSBhcyBSZWNvcmQ8c3RyaW5nLCBBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+O1xuICBjb25zdCBtZXNzYWdlcyA9IHVzZU1lbW8oKCkgPT4gT2JqZWN0LnZhbHVlcyhjb252ZXJzYXRpb25NYXApLmZsYXQoKSwgW2NvbnZlcnNhdGlvbk1hcF0pO1xuXG4gIGNvbnN0IHdlYnNvY2tldHNSZWYgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlV2Vic29ja2V0QWN0aW9ucz4gfCBudWxsPihudWxsKTtcbiAgaWYoIXdlYnNvY2tldHNSZWYuY3VycmVudCkge1xuICAgIHdlYnNvY2tldHNSZWYuY3VycmVudCA9IGNyZWF0ZUFjdGlvbignd2Vic29ja2V0JywgZmx1eCkgYXMgUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlV2Vic29ja2V0QWN0aW9ucz47XG4gIH1cbiAgY29uc3Qgd2Vic29ja2V0cyA9IHdlYnNvY2tldHNSZWYuY3VycmVudDtcbiAgY29uc3QgYXdzUnVtID0gdXNlTWVtbyhcbiAgICAoKSA9PiBjcmVhdGVBY3Rpb24oJ2F3c1J1bScsIGZsdXgsIHJ1bU9wdGlvbnMpIGFzIEF3c1J1bUFjdGlvbnMsXG4gICAgW2ZsdXgsIHJ1bU9wdGlvbnNdXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZih0eXBlb2YgZ2xvYmFsVGhpcy53aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb25Hb3RoYW1BbmFseXRpY3MgPSAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBkZXRhaWwgPSAoZXZlbnQgYXMgQ3VzdG9tRXZlbnQ8QXdzUnVtVHJhY2tJbnB1dD4pLmRldGFpbDtcblxuICAgICAgaWYoZGV0YWlsICYmIHR5cGVvZiBkZXRhaWwgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGF3c1J1bS50cmFjayhkZXRhaWwpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBnbG9iYWxUaGlzLndpbmRvdy5hZGRFdmVudExpc3RlbmVyKEdPVEhBTV9BTkFMWVRJQ1NfRVZFTlQsIG9uR290aGFtQW5hbHl0aWNzKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBnbG9iYWxUaGlzLndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKEdPVEhBTV9BTkFMWVRJQ1NfRVZFTlQsIG9uR290aGFtQW5hbHl0aWNzKTtcbiAgICAgIHZvaWQgYXdzUnVtLmRlc3Ryb3koKTtcbiAgICB9O1xuICB9LCBbYXdzUnVtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0STE4bih0cmFuc2xhdGlvbnMpO1xuICB9LCBbdHJhbnNsYXRpb25zXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgaXNBY3RpdmUgPSB0cnVlO1xuXG4gICAgdm9pZCAoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZsdXguc2V0U3RhdGUoJ2FwcC5jb25maWcnLCByZXNvbHZlZENvbmZpZykpO1xuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZsdXguc2V0U3RhdGUoJ2FwcC5zZXNzaW9uSHlkcmF0ZWQnLCBmYWxzZSkpO1xuICAgICAgYXdhaXQgaHlkcmF0ZVNlc3Npb25Gcm9tU3RvcmFnZShmbHV4KTtcblxuICAgICAgaWYoIWlzQWN0aXZlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgb25Jbml0KGZsdXgpO1xuXG4gICAgICBpZighaXNBY3RpdmUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUoZmx1eC5zZXRTdGF0ZSgnYXBwLnNlc3Npb25IeWRyYXRlZCcsIHRydWUpKTtcbiAgICB9KSgpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlzQWN0aXZlID0gZmFsc2U7XG4gICAgfTtcbiAgfSwgW2ZsdXgsIHJlc29sdmVkQ29uZmlnXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZighc2Vzc2lvbkh5ZHJhdGVkKSB7XG4gICAgICB3ZWJzb2NrZXRzLndzQ2xvc2UoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZihzZXNzaW9uVG9rZW4pIHtcbiAgICAgIHdlYnNvY2tldHMud3NJbml0KHNlc3Npb25Ub2tlbiwgc2Vzc2lvblBlcnNvbmFJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdlYnNvY2tldHMud3NDbG9zZSgpO1xuICAgIH1cbiAgfSwgW3Nlc3Npb25IeWRyYXRlZCwgc2Vzc2lvblBlcnNvbmFJZCwgc2Vzc2lvblRva2VuLCB3ZWJzb2NrZXRzXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2Vic29ja2V0cy53c0Nsb3NlKCk7XG4gICAgfTtcbiAgfSwgW3dlYnNvY2tldHNdKTtcblxuICBjb25zdCBpc0F1dGggPSB1c2VNZW1vKCgpID0+IHJlc29sdmVkQ29uZmlnLmlzQXV0aCB8fCAoKCkgPT4ge1xuICAgIGNvbnN0IHNlc3Npb25TdGF0ZSA9IGZsdXguZ2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KTtcbiAgICByZXR1cm4gISFzZXNzaW9uU3RhdGUudXNlckFjdGl2ZTtcbiAgfSksIFtyZXNvbHZlZENvbmZpZy5pc0F1dGgsIGZsdXhdKTtcblxuICByZXR1cm4gKFxuICAgIDxNZXRyb3BvbGlzQ29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgYWRhcHRlcnM6IG1lcmdlZEFkYXB0ZXJzLFxuICAgICAgICBjb25maWc6IHJlc29sdmVkQ29uZmlnLFxuICAgICAgICBmbHV4LFxuICAgICAgICBpc0F1dGgsXG4gICAgICAgIG1lc3NhZ2VzLFxuICAgICAgICBub3RpZmljYXRpb25zOiBub3RpZmljYXRpb25MaXN0LFxuICAgICAgICBzZXNzaW9uLFxuICAgICAgICB1cGRhdGVNZXNzYWdlOiAoKSA9PiB7IH0sXG4gICAgICAgIHVwZGF0ZU5vdGlmaWNhdGlvbjogd2Vic29ja2V0cy5zZW5kTm90aWZpY2F0aW9uXG4gICAgICB9fT5cbiAgICAgIDxJMThuZXh0UHJvdmlkZXIgaTE4bj17aTE4bn0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvSTE4bmV4dFByb3ZpZGVyPlxuICAgIDwvTWV0cm9wb2xpc0NvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBNZXRyb3BvbGlzO1xuXG5leHBvcnQge3VzZVRyYW5zbGF0aW9ufSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vYWRhcHRlcnMvaW5kZXguanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMvTWV0cm9wb2xpc0NvbnN0YW50cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyYXBocWwvbWVzc2FnZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyYXBocWwvbm90aWZpY2F0aW9uLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmVzL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZUFjdGlvbixcbiAgY3JlYXRlQWN0aW9ucyxcbiAgY3JlYXRlQWxsQWN0aW9uc1xufSBmcm9tICcuL3V0aWxzL2FjdGlvbkZhY3RvcnkuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9hcHAuanMnO1xuZXhwb3J0IHtjcmVhdGVCYXNlQWN0aW9uc30gZnJvbSAnLi91dGlscy9iYXNlQWN0aW9uRmFjdG9yeS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2RhdGVVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2ZpbGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9sb2NhdGlvbi5qcyc7XG5leHBvcnQge1xuICB1c2VDb250ZW50QWN0aW9ucyxcbiAgdXNlQXdzUnVtLFxuICB1c2VDcm1BY3Rpb25zLFxuICB1c2VFdmVudEFjdGlvbnMsXG4gIHVzZUdyb3VwQWN0aW9ucyxcbiAgdXNlSW1hZ2VBY3Rpb25zLFxuICB1c2VMb2NhdGlvbkFjdGlvbnMsXG4gIHVzZU1lc3NhZ2VBY3Rpb25zLCB1c2VNZXRyb3BvbGlzLFxuICB1c2VNZXRyb3BvbGlzQ29uZmlnLFxuICB1c2VNZXRyb3BvbGlzRmx1eCwgdXNlUG9zdEFjdGlvbnMsXG4gIHVzZVBlcnNvbmFBY3Rpb25zLFxuICB1c2VSZWFjdGlvbkFjdGlvbnMsXG4gIHVzZVJlc3RBY3Rpb25zLFxuICB1c2VUYWdBY3Rpb25zLFxuICB1c2VUcmFuc2xhdGlvbkFjdGlvbnMsXG4gIHVzZVVzZXJBY3Rpb25zLFxuICB1c2VXZWJzb2NrZXRBY3Rpb25zXG59IGZyb20gJy4vdXRpbHMvdXNlTWV0cm9wb2xpcy5qcyc7XG5leHBvcnQge3VzZUNvbnZlcnNhdGlvblR5cGluZ30gZnJvbSAnLi91dGlscy91c2VDb252ZXJzYXRpb25UeXBpbmcuanMnO1xuZXhwb3J0IHR5cGUge1xuICBDb252ZXJzYXRpb25UeXBpbmdPcHRpb25zLFxuICBVc2VDb252ZXJzYXRpb25UeXBpbmdPcHRpb25zXG59IGZyb20gJy4vdXRpbHMvdXNlQ29udmVyc2F0aW9uVHlwaW5nLmpzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZVZhbGlkYXRvckZhY3RvcnksXG4gIGNyZWF0ZVZhbGlkYXRvck1hbmFnZXJcbn0gZnJvbSAnLi91dGlscy92YWxpZGF0b3JGYWN0b3J5LmpzJztcblxuZXhwb3J0IHR5cGUge1xuICBBY3Rpb25PcHRpb25zLFxuICBBY3Rpb25SZXR1cm5UeXBlLFxuICBBY3Rpb25UeXBlLFxuICBBY3Rpb25UeXBlc1xufSBmcm9tICcuL3V0aWxzL2FjdGlvbkZhY3RvcnkuanMnO1xuZXhwb3J0IHR5cGUge0Jhc2VBY3Rpb25PcHRpb25zfSBmcm9tICcuL3V0aWxzL2Jhc2VBY3Rpb25GYWN0b3J5LmpzJztcbmV4cG9ydCB0eXBlIHtCYXNlQWRhcHRlck9wdGlvbnN9IGZyb20gJy4vdXRpbHMvdmFsaWRhdG9yRmFjdG9yeS5qcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy9hcHBBY3Rpb25zL2FwcEFjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL2F3c1J1bUFjdGlvbnMvYXdzUnVtQWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvY29ubmVjdGlvbkFjdGlvbnMvY29ubmVjdGlvbkFjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL2NvbnZlcnNhdGlvbkFjdGlvbnMvY29udmVyc2F0aW9uQWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvY3JtQWN0aW9ucy9jcm1BY3Rpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy9yZXN0QWN0aW9ucy9yZXN0QWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvdmlkZW9BY3Rpb25zL3ZpZGVvQWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cy9Db2xsZWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL2luZGV4LmpzJztcbiJdLCJuYW1lcyI6WyJ1c2VGbHV4IiwidXNlRmx1eFN0YXRlIiwiaTE4biIsIkRhdGVUaW1lIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsIkkxOG5leHRQcm92aWRlciIsInN5bmNQZXJzb25hVGFnc1RvU2Vzc2lvbiIsInN5bmNQZXJzb25hVG9TZXNzaW9uIiwicmVzb2x2ZUVudmlyb25tZW50Q29uZmlnIiwiYXBwIiwiZXZlbnRzIiwiaW1hZ2VzIiwibG9jYXRpb25zIiwibWVzc2FnZXMiLCJub3RpZmljYXRpb25zIiwiTk9USUZJQ0FUSU9OX0NPTlNUQU5UUyIsInBlcm1pc3Npb25zIiwiUEVSU09OQV9DT05TVEFOVFMiLCJwb3N0cyIsInN1YnNjcmlwdGlvbnMiLCJUQUdfQ09OU1RBTlRTIiwidGFncyIsIlVTRVJfQ09OU1RBTlRTIiwidXNlcnMiLCJ2aWRlbyIsIndlYnNvY2tldCIsInJlZnJlc2hTZXNzaW9uIiwiZ2V0Q29uZmlnRnJvbUZsdXgiLCJpbml0STE4biIsIk1ldHJvcG9saXNDb250ZXh0IiwiZ2V0UmVmcmVzaFdpbmRvd01pbnV0ZXMiLCJoeWRyYXRlU2Vzc2lvbkZyb21TdG9yYWdlIiwicGFyc2VKd3RFeHBpcnlNcyIsImNyZWF0ZUFjdGlvbiIsIk1ldHJvcG9saXNQcm92aWRlciIsIkdPVEhBTV9BTkFMWVRJQ1NfRVZFTlQiLCJvbkluaXQiLCJmbHV4IiwiZ2V0U3RhdGUiLCJhZGRTdG9yZXMiLCJvbiIsIlNJR05fT1VUX1NVQ0NFU1MiLCJkaXNwYXRjaCIsInR5cGUiLCJDTEVBUl9JVEVNUyIsIkFERF9JVEVNX1NVQ0NFU1MiLCJwZXJzb25hIiwicGVyc29uYUlkIiwiQXJyYXkiLCJpc0FycmF5IiwiU3RyaW5nIiwiVVBEQVRFX0lURU1fU1VDQ0VTUyIsIkFERF9QRVJTT05BX1NVQ0NFU1MiLCJ0YWciLCJjdXJyZW50U2Vzc2lvbiIsImN1cnJlbnRUYWdzIiwibmV4dFRhZ0lkIiwidGFnSWQiLCJ0cmltIiwibWVyZ2VkVGFncyIsImZpbHRlciIsIml0ZW0iLCJzb3J0IiwibGVmdCIsInJpZ2h0IiwibmFtZSIsImxvY2FsZUNvbXBhcmUiLCJuZXh0U2Vzc2lvbiIsInNldFN0YXRlIiwiVVBEQVRFX1NFU1NJT05fU1VDQ0VTUyIsInVzZXIiLCJSRU1PVkVfUEVSU09OQV9TVUNDRVNTIiwibmV4dFRhZ3MiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRva2VuIiwic2Vzc2lvbiIsImNvbmZpZyIsInRva2VuRXhwaXJlc0F0Iiwic2Vzc2lvbkxpZmV0aW1lTWludXRlcyIsIk1hdGgiLCJyb3VuZCIsIk51bWJlciIsImV4cGlyZXMiLCJpc3N1ZWQiLCJyZWZyZXNoV2luZG93TWludXRlcyIsInJlZnJlc2hFeHBpcmVzTWludXRlcyIsIm1heCIsIm1heE1pbnV0ZXMiLCJleHBpcmVzQXQiLCJEYXRlIiwibm93IiwibWludXRlc1VudGlsRXhwaXJ5IiwiZnJvbU1pbGxpcyIsImRpZmYiLCJsb2NhbCIsInRvT2JqZWN0IiwibWludXRlcyIsImFwcE11dGF0aW9uIiwiYXBwUXVlcnkiLCJwdWJsaWNNdXRhdGlvbiIsInB1YmxpY1F1ZXJ5IiwicnVtTXV0YXRpb24iLCJyZXNvbHZlUmVzdEVuZHBvaW50IiwicmVzdFJlcXVlc3QiLCJ1cGxvYWRJbWFnZSIsIk1ldHJvcG9saXMiLCJhZGFwdGVycyIsImNoaWxkcmVuIiwidHJhbnNsYXRpb25zIiwicmVzb2x2ZWRDb25maWciLCJtZXJnZWRBZGFwdGVycyIsInJ1bU9wdGlvbnMiLCJydW0iLCJhcHBJZCIsInNlc3Npb25QZXJzb25hSWQiLCJzZXNzaW9uVG9rZW4iLCJzZXNzaW9uSHlkcmF0ZWQiLCJCb29sZWFuIiwibm90aWZpY2F0aW9uTGlzdCIsImNvbnZlcnNhdGlvbk1hcCIsIk9iamVjdCIsInZhbHVlcyIsImZsYXQiLCJ3ZWJzb2NrZXRzUmVmIiwiY3VycmVudCIsIndlYnNvY2tldHMiLCJhd3NSdW0iLCJnbG9iYWxUaGlzIiwid2luZG93Iiwib25Hb3RoYW1BbmFseXRpY3MiLCJldmVudCIsImRldGFpbCIsInRyYWNrIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJkZXN0cm95IiwiaXNBY3RpdmUiLCJ3c0Nsb3NlIiwid3NJbml0IiwiaXNBdXRoIiwic2Vzc2lvblN0YXRlIiwidXNlckFjdGl2ZSIsIlByb3ZpZGVyIiwidmFsdWUiLCJ1cGRhdGVNZXNzYWdlIiwidXBkYXRlTm90aWZpY2F0aW9uIiwic2VuZE5vdGlmaWNhdGlvbiIsInVzZVRyYW5zbGF0aW9uIiwiY3JlYXRlQWN0aW9ucyIsImNyZWF0ZUFsbEFjdGlvbnMiLCJjcmVhdGVCYXNlQWN0aW9ucyIsInVzZUNvbnRlbnRBY3Rpb25zIiwidXNlQXdzUnVtIiwidXNlQ3JtQWN0aW9ucyIsInVzZUV2ZW50QWN0aW9ucyIsInVzZUdyb3VwQWN0aW9ucyIsInVzZUltYWdlQWN0aW9ucyIsInVzZUxvY2F0aW9uQWN0aW9ucyIsInVzZU1lc3NhZ2VBY3Rpb25zIiwidXNlTWV0cm9wb2xpcyIsInVzZU1ldHJvcG9saXNDb25maWciLCJ1c2VNZXRyb3BvbGlzRmx1eCIsInVzZVBvc3RBY3Rpb25zIiwidXNlUGVyc29uYUFjdGlvbnMiLCJ1c2VSZWFjdGlvbkFjdGlvbnMiLCJ1c2VSZXN0QWN0aW9ucyIsInVzZVRhZ0FjdGlvbnMiLCJ1c2VUcmFuc2xhdGlvbkFjdGlvbnMiLCJ1c2VVc2VyQWN0aW9ucyIsInVzZVdlYnNvY2tldEFjdGlvbnMiLCJ1c2VDb252ZXJzYXRpb25UeXBpbmciLCJjcmVhdGVWYWxpZGF0b3JGYWN0b3J5IiwiY3JlYXRlVmFsaWRhdG9yTWFuYWdlciJdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLE9BQU8sRUFBRUMsWUFBWSxRQUFPLDhCQUE4QjtBQUNsRSxPQUFPQyxVQUFVLFVBQVU7QUFDM0IsU0FBUUMsUUFBUSxRQUFPLFFBQVE7QUFDL0IsU0FBUUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sUUFBTyxRQUFRO0FBQ2pELFNBQVFDLGVBQWUsUUFBTyxnQkFBZ0I7QUFJOUMsU0FBUUMsd0JBQXdCLEVBQUVDLG9CQUFvQixRQUFPLDZDQUE2QztBQUMxRyxTQUFRQyx3QkFBd0IsUUFBTyxvQkFBb0I7QUFDM0QsU0FDRUMsR0FBRyxFQUNIQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxRQUFRLEVBQ1JDLGFBQWEsRUFDYkMsc0JBQXNCLEVBQ3RCQyxXQUFXLEVBQ1hDLGlCQUFpQixFQUNqQkMsS0FBSyxFQUNMQyxhQUFhLEVBQ2JDLGFBQWEsRUFDYkMsSUFBSSxFQUNKQyxjQUFj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
|
package/lib/stores/appStore.d.ts
CHANGED
package/lib/stores/index.d.ts
CHANGED
|
@@ -21,4 +21,3 @@ export { TRANSLATION_CONSTANTS, translations } from './translationStore.js';
|
|
|
21
21
|
export { USER_CONSTANTS, users } from './userStore.js';
|
|
22
22
|
export { video, VIDEO_CONSTANTS } from './videoStore.js';
|
|
23
23
|
export { websocket, WEBSOCKET_CONSTANTS } from './websocketStore.js';
|
|
24
|
-
//# sourceMappingURL=index.d.ts.map
|
package/lib/stores/tagStore.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ReactionAdapterType as ReactionType, User } from '../adapters/index.js';
|
|
1
|
+
import type { ReactionAdapterType as ReactionType, TagType, User } from '../adapters/index.js';
|
|
2
2
|
import type { PersonaType } from '../adapters/personaAdapter/personaAdapter.js';
|
|
3
3
|
export declare const USER_CONSTANTS: {
|
|
4
4
|
readonly ADD_ITEM_ERROR: 'USER_ADD_ITEM_ERROR';
|
|
@@ -61,7 +61,7 @@ interface UserData {
|
|
|
61
61
|
readonly persona?: PersonaType;
|
|
62
62
|
readonly reaction?: ReactionType;
|
|
63
63
|
readonly session?: User;
|
|
64
|
-
readonly tag?:
|
|
64
|
+
readonly tag?: TagType;
|
|
65
65
|
readonly user?: User;
|
|
66
66
|
}
|
|
67
67
|
export declare const userStore: (type: string, data: UserData, state?: UserState) => UserState;
|
|
@@ -71,4 +71,3 @@ export declare const users: {
|
|
|
71
71
|
name: string;
|
|
72
72
|
};
|
|
73
73
|
export {};
|
|
74
|
-
//# sourceMappingURL=userStore.d.ts.map
|
package/lib/stores/userStore.js
CHANGED
|
@@ -102,6 +102,9 @@ export const userStore = (type, data, state = defaultValues)=>{
|
|
|
102
102
|
case TAG_CONSTANTS.ADD_PERSONA_SUCCESS:
|
|
103
103
|
{
|
|
104
104
|
const { tag } = data;
|
|
105
|
+
if (!tag) {
|
|
106
|
+
return state;
|
|
107
|
+
}
|
|
105
108
|
const session = {
|
|
106
109
|
...state.session
|
|
107
110
|
};
|
|
@@ -123,6 +126,9 @@ export const userStore = (type, data, state = defaultValues)=>{
|
|
|
123
126
|
case TAG_CONSTANTS.REMOVE_PERSONA_SUCCESS:
|
|
124
127
|
{
|
|
125
128
|
const { tag } = data;
|
|
129
|
+
if (!tag) {
|
|
130
|
+
return state;
|
|
131
|
+
}
|
|
126
132
|
const session = {
|
|
127
133
|
...state.session
|
|
128
134
|
};
|
|
@@ -316,4 +322,4 @@ export const users = {
|
|
|
316
322
|
name: 'user'
|
|
317
323
|
};
|
|
318
324
|
|
|
319
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL3VzZXJTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtjYXBpdGFsaXplLCBvcmRlckJ5LCBwdWxsQWxsQnksIHVuaXFCeX0gZnJvbSAnQG5sYWJzL3V0aWxzJztcblxuaW1wb3J0IHtSRUFDVElPTl9DT05TVEFOVFN9IGZyb20gJy4vcmVhY3Rpb25TdG9yZS5qcyc7XG5pbXBvcnQge1RBR19DT05TVEFOVFN9IGZyb20gJy4vdGFnU3RvcmUuanMnO1xuXG5pbXBvcnQgdHlwZSB7UmVhY3Rpb25BZGFwdGVyVHlwZSBhcyBSZWFjdGlvblR5cGUsIFRhZ1R5cGUsIFVzZXJ9IGZyb20gJy4uL2FkYXB0ZXJzL2luZGV4LmpzJztcbmltcG9ydCB0eXBlIHtQZXJzb25hVHlwZX0gZnJvbSAnLi4vYWRhcHRlcnMvcGVyc29uYUFkYXB0ZXIvcGVyc29uYUFkYXB0ZXIuanMnO1xuXG5leHBvcnQgY29uc3QgVVNFUl9DT05TVEFOVFMgPSB7XG4gIEFERF9JVEVNX0VSUk9SOiAnVVNFUl9BRERfSVRFTV9FUlJPUicsXG4gIEFERF9JVEVNX1NVQ0NFU1M6ICdVU0VSX0FERF9JVEVNX1NVQ0NFU1MnLFxuICBBRERfUkVMQVRJT05fRVJST1I6ICdVU0VSX0FERF9SRUxBVElPTl9FUlJPUicsXG4gIEFERF9SRUxBVElPTl9TVUNDRVNTOiAnVVNFUl9BRERfUkVMQVRJT05fU1VDQ0VTUycsXG4gIEFVVEhFTlRJQ0FUSU9OX1VQREFURTogJ1VTRVJfQVVUSEVOVElDQVRJT05fVVBEQVRFJyxcbiAgQ09ORklSTV9TSUdOX1VQX0VSUk9SOiAnVVNFUl9DT05GSVJNX1NJR05fVVBfRVJST1InLFxuICBDT05GSVJNX1NJR05fVVBfU1VDQ0VTUzogJ1VTRVJfQ09ORklSTV9TSUdOX1VQX1NVQ0NFU1MnLFxuICBGT1JHT1RfUEFTU1dPUkRfRVJST1I6ICdVU0VSX0ZPUkdPVF9QQVNTV09SRF9FUlJPUicsXG4gIEZPUkdPVF9QQVNTV09SRF9TVUNDRVNTOiAnVVNFUl9GT1JHT1RfUEFTU1dPUkRfU1VDQ0VTUycsXG4gIEdFVF9ERVRBSUxTX1NVQ0NFU1M6ICdVU0VSX0dFVF9ERVRBSUxTX1NVQ0NFU1MnLFxuICBHRVRfSVRFTV9FUlJPUjogJ1VTRVJfR0VUX0lURU1fRVJST1InLFxuICBHRVRfSVRFTV9TVUNDRVNTOiAnVVNFUl9HRVRfSVRFTV9TVUNDRVNTJyxcbiAgR0VUX0xJU1RfRVJST1I6ICdVU0VSX0dFVF9MSVNUX0VSUk9SJyxcbiAgR0VUX0xJU1RfU1VDQ0VTUzogJ1VTRVJfR0VUX0xJU1RfU1VDQ0VTUycsXG4gIEdFVF9TRVNTSU9OX0VSUk9SOiAnVVNFUl9HRVRfU0VTU0lPTl9FUlJPUicsXG4gIEdFVF9TRVNTSU9OX1NVQ0NFU1M6ICdVU0VSX0dFVF9TRVNTSU9OX1NVQ0NFU1MnLFxuICBIQVNfVVNFUl9SRUFDVElPTlM6ICdVU0VSX0hBU19VU0VSX1JFQUNUSU9OUycsXG4gIFJFQ09WRVJZX0VSUk9SOiAnVVNFUl9SRUNPVkVSWV9FUlJPUicsXG4gIFJFQ09WRVJZX1NVQ0NFU1M6ICdVU0VSX1JFQ09WRVJZX1NVQ0NFU1MnLFxuICBSRU1PVkVfSVRFTV9FUlJPUjogJ1VTRVJfUkVNT1ZFX0lURU1fRVJST1InLFxuICBSRU1PVkVfSVRFTV9TVUNDRVNTOiAnVVNFUl9SRU1PVkVfSVRFTV9TVUNDRVNTJyxcbiAgUkVNT1ZFX1JFTEFUSU9OOiAnVVNFUl9SRU1PVkVfUkVMQVRJT04nLFxuICBSRVNFVF9QQVNTV09SRF9FUlJPUjogJ1VTRVJfUkVTRVRfUEFTU1dPUkRfRVJST1InLFxuICBSRVNFVF9QQVNTV09SRF9TVUNDRVNTOiAnVVNFUl9SRVNFVF9QQVNTV09SRF9TVUNDRVNTJyxcbiAgU0lHTl9JTl9FUlJPUjogJ1VTRVJfU0lHTl9JTl9FUlJPUicsXG4gIFNJR05fSU5fU1VDQ0VTUzogJ1VTRVJfU0lHTl9JTl9TVUNDRVNTJyxcbiAgU0lHTl9PVVRfRVJST1I6ICdVU0VSX1NJR05fT1VUX0VSUk9SJyxcbiAgU0lHTl9PVVRfU1VDQ0VTUzogJ1VTRVJfU0lHTl9PVVRfU1VDQ0VTUycsXG4gIFNJR05fVVBfRVJST1I6ICdVU0VSX1NJR05fVVBfRVJST1InLFxuICBTSUdOX1VQX1NVQ0NFU1M6ICdVU0VSX1NJR05fVVBfU1VDQ0VTUycsXG4gIFVQREFURV9JVEVNX0VSUk9SOiAnVVNFUl9VUERBVEVfSVRFTV9FUlJPUicsXG4gIFVQREFURV9JVEVNX1NVQ0NFU1M6ICdVU0VSX1VQREFURV9JVEVNX1NVQ0NFU1MnLFxuICBVUERBVEVfUEVSU09OQV9FUlJPUjogJ1VTRVJfVVBEQVRFX1BFUlNPTkFfRVJST1InLFxuICBVUERBVEVfUEVSU09OQV9TVUNDRVNTOiAnVVNFUl9VUERBVEVfUEVSU09OQV9TVUNDRVNTJyxcbiAgVVBEQVRFX1NFU1NJT05fRVJST1I6ICdVU0VSX1VQREFURV9TRVNTSU9OX0VSUk9SJyxcbiAgVVBEQVRFX1NFU1NJT05fU1VDQ0VTUzogJ1VTRVJfVVBEQVRFX1NFU1NJT05fU1VDQ0VTUycsXG4gIFZFUklGWV9FUlJPUjogJ1VTRVJfVkVSSUZZX0VSUk9SJyxcbiAgVkVSSUZZX1NVQ0NFU1M6ICdVU0VSX1ZFUklGWV9TVUNDRVNTJ1xufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgVXNlckNvbnN0YW50c1R5cGUgPSB0eXBlb2YgVVNFUl9DT05TVEFOVFNba2V5b2YgdHlwZW9mIFVTRVJfQ09OU1RBTlRTXTtcblxuaW50ZXJmYWNlIFVzZXJTdGF0ZSB7XG4gIGVycm9yPzogRXJyb3I7XG4gIGxpa2VzOiBzdHJpbmdbXTtcbiAgbGlzdHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBzZXNzaW9uOiBQYXJ0aWFsPFVzZXI+O1xuICB1c2VyczogUmVjb3JkPHN0cmluZywgUGFydGlhbDxVc2VyPj47XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0VmFsdWVzOiBVc2VyU3RhdGUgPSB7XG4gIGxpa2VzOiBbXSxcbiAgbGlzdHM6IHt9LFxuICBzZXNzaW9uOiB7fSxcbiAgdXNlcnM6IHt9XG59O1xuXG5leHBvcnQgY29uc3QgY291bnRGaWVsZE1hcCA9IHtcbiAgbGlrZTogJ2xpa2VDb3VudCcsXG4gIHZpZXc6ICd2aWV3Q291bnQnXG59O1xuXG5pbnRlcmZhY2UgVXNlckRhdGEge1xuICByZWFkb25seSBlcnJvcj86IEVycm9yO1xuICByZWFkb25seSBpdGVtSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGl0ZW1UeXBlPzogc3RyaW5nO1xuICByZWFkb25seSBsaXN0PzogVXNlcltdO1xuICByZWFkb25seSBwZXJzb25hPzogUGVyc29uYVR5cGU7XG4gIHJlYWRvbmx5IHJlYWN0aW9uPzogUmVhY3Rpb25UeXBlO1xuICByZWFkb25seSBzZXNzaW9uPzogVXNlcjtcbiAgcmVhZG9ubHkgdGFnPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIHJlYWRvbmx5IHVzZXI/OiBVc2VyO1xufVxuXG5leHBvcnQgY29uc3QgdXNlclN0b3JlID0gKHR5cGU6IHN0cmluZywgZGF0YTogVXNlckRhdGEsIHN0YXRlID0gZGVmYXVsdFZhbHVlcyk6IFVzZXJTdGF0ZSA9PiB7XG4gIHN3aXRjaCh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVElPTl9DT05TVEFOVFMuQUREX0lURU1fU1VDQ0VTUzpcbiAgICBjYXNlIFJFQUNUSU9OX0NPTlNUQU5UUy5SRU1PVkVfSVRFTV9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7aXRlbUlkLCBpdGVtVHlwZSwgcmVhY3Rpb259ID0gZGF0YTtcblxuICAgICAgaWYoaXRlbVR5cGUgIT09ICd1c2VycycgfHwgIXJlYWN0aW9uKSB7XG4gICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdXNlcnMgPSB7Li4uc3RhdGUudXNlcnN9O1xuICAgICAgY29uc3Qge25hbWU6IHJlYWN0aW9uTmFtZSA9ICcnLCB2YWx1ZTogcmVhY3Rpb25WYWx1ZX0gPSByZWFjdGlvbjtcbiAgICAgIGNvbnN0IHZhbHVlOiBib29sZWFuID0gcmVhY3Rpb25WYWx1ZSA9PT0gJ3RydWUnO1xuXG4gICAgICBpZihpdGVtSWQgJiYgdXNlcnNbaXRlbUlkXSkge1xuICAgICAgICB1c2Vyc1tpdGVtSWRdID0gey4uLnVzZXJzW2l0ZW1JZF19O1xuICAgICAgICB1c2Vyc1tpdGVtSWRdW2BoYXMke2NhcGl0YWxpemUocmVhY3Rpb25OYW1lKX1gXSA9IHZhbHVlO1xuXG4gICAgICAgIGlmKHJlYWN0aW9uTmFtZSAhPT0gJ3ZpZXcnKSB7XG4gICAgICAgICAgY29uc3QgY291bnRGaWVsZDoga2V5b2YgdHlwZW9mIGNvdW50RmllbGRNYXAgPSByZWFjdGlvbk5hbWUgYXMga2V5b2YgdHlwZW9mIGNvdW50RmllbGRNYXA7XG4gICAgICAgICAgY29uc3QgZmllbGQgPSBjb3VudEZpZWxkTWFwW2NvdW50RmllbGRdO1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRDb3VudCA9IHVzZXJzW2l0ZW1JZF1bZmllbGRdIGFzIG51bWJlciB8fCAwO1xuICAgICAgICAgIHVzZXJzW2l0ZW1JZF1bZmllbGRdID0gdmFsdWUgPyBjdXJyZW50Q291bnQgKyAxIDogY3VycmVudENvdW50IC0gMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gey4uLnN0YXRlLCB1c2Vyc307XG4gICAgfVxuICAgIGNhc2UgVVNFUl9DT05TVEFOVFMuVVBEQVRFX1NFU1NJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge3VzZXJ9ID0gZGF0YTtcbiAgICAgIGlmKHVzZXIpIHtcbiAgICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgc2Vzc2lvbjogey4uLnN0YXRlLnNlc3Npb24sIC4uLnVzZXJ9fTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gICAgY2FzZSBUQUdfQ09OU1RBTlRTLkFERF9QRVJTT05BX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHt0YWd9ID0gZGF0YTtcbiAgICAgIGNvbnN0IHNlc3Npb24gPSB7Li4uc3RhdGUuc2Vzc2lvbn07XG4gICAgICBjb25zdCB7dGFncyA9IFtdfSA9IHNlc3Npb247XG4gICAgICBjb25zdCB1cGRhdGVkVGFncyA9IHVuaXFCeShbLi4udGFncywgdGFnXSwgKGl0ZW06IFRhZ1R5cGUpID0+IGl0ZW0udGFnSWQpO1xuICAgICAgc2Vzc2lvbi50YWdzID0gb3JkZXJCeSh1cGRhdGVkVGFncywgWyduYW1lJ10sIFsnYXNjJ10pO1xuICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgc2Vzc2lvbn07XG4gICAgfVxuICAgIGNhc2UgVEFHX0NPTlNUQU5UUy5SRU1PVkVfUEVSU09OQV9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7dGFnfSA9IGRhdGE7XG4gICAgICBjb25zdCBzZXNzaW9uID0gey4uLnN0YXRlLnNlc3Npb259O1xuICAgICAgY29uc3Qge3RhZ3MgPSBbXX0gPSBzZXNzaW9uO1xuICAgICAgc2Vzc2lvbi50YWdzID0gcHVsbEFsbEJ5KHRhZ3MsIFt0YWddLCAndGFnSWQnKTtcbiAgICAgIHJldHVybiB7Li4uc3RhdGUsIHNlc3Npb259O1xuICAgIH1cbiAgICBjYXNlIFVTRVJfQ09OU1RBTlRTLkFERF9JVEVNX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHt1c2VyfSA9IGRhdGE7XG4gICAgICBpZih1c2VyICYmIHVzZXIudXNlcklkKSB7XG4gICAgICAgIGNvbnN0IHVzZXJzID0gey4uLnN0YXRlLnVzZXJzfTtcbiAgICAgICAgdXNlcnNbdXNlci51c2VySWRdID0gey4uLnVzZXIsIHRpbWVzdGFtcDogRGF0ZS5ub3coKX07XG4gICAgICAgIHJldHVybiB7Li4uc3RhdGUsIHNlc3Npb246IHVzZXIsIHVzZXJzfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gICAgY2FzZSBVU0VSX0NPTlNUQU5UUy5HRVRfREVUQUlMU19TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7dXNlcn0gPSBkYXRhO1xuICAgICAgaWYodXNlciAmJiB1c2VyLnVzZXJJZCkge1xuICAgICAgICBjb25zdCB1c2VycyA9IHsuLi5zdGF0ZS51c2Vyc307XG4gICAgICAgIHVzZXJzW3VzZXIudXNlcklkXSA9IHsuLi51c2VyLCB0aW1lc3RhbXA6IERhdGUubm93KCl9O1xuICAgICAgICByZXR1cm4gey4uLnN0YXRlLCB1c2Vyc307XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICAgIGNhc2UgVVNFUl9DT05TVEFOVFMuR0VUX0xJU1RfU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge2xpc3R9ID0gZGF0YTtcbiAgICAgIGlmKGxpc3QpIHtcbiAgICAgICAgY29uc3QgdXNlcnMgPSB7Li4uc3RhdGUudXNlcnN9O1xuXG4gICAgICAgIGxpc3QuZm9yRWFjaCgodXNlcjogVXNlcikgPT4ge1xuICAgICAgICAgIGlmKHVzZXIudXNlcklkKSB7XG4gICAgICAgICAgICBjb25zdCBjYWNoZWRVc2VyOiBQYXJ0aWFsPFVzZXI+ID0gdXNlcnNbdXNlci51c2VySWRdIHx8IHt9O1xuICAgICAgICAgICAgdXNlcnNbdXNlci51c2VySWRdID0gey4uLmNhY2hlZFVzZXIsIC4uLnVzZXJ9O1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7Li4uc3RhdGUsIHVzZXJzfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gICAgY2FzZSBVU0VSX0NPTlNUQU5UUy5TSUdOX0lOX0VSUk9SOiB7XG4gICAgICBjb25zdCB7dXNlcm5hbWV9ID0gc3RhdGUuc2Vzc2lvbjtcbiAgICAgIHJldHVybiB7Li4uc3RhdGUsIHNlc3Npb246IHt1c2VybmFtZTogdXNlcm5hbWUgfHwgJyd9fTtcbiAgICB9XG4gICAgY2FzZSBVU0VSX0NPTlNUQU5UUy5TSUdOX1VQX0VSUk9SOiB7XG4gICAgICBjb25zdCB7ZXJyb3J9ID0gZGF0YTtcbiAgICAgIHJldHVybiB7Li4uc3RhdGUsIGVycm9yfTtcbiAgICB9XG4gICAgY2FzZSBVU0VSX0NPTlNUQU5UUy5TSUdOX0lOX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHtzZXNzaW9ufSA9IGRhdGE7XG4gICAgICBpZihzZXNzaW9uKSB7XG4gICAgICAgIHJldHVybiB7Li4uc3RhdGUsIGxpc3RzOiB7fSwgc2Vzc2lvbjogey4uLnNlc3Npb259LCB1c2Vyczoge319O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgICBjYXNlIFVTRVJfQ09OU1RBTlRTLlNJR05fT1VUX1NVQ0NFU1M6IHtcbiAgICAgIHJldHVybiB7Li4uZGVmYXVsdFZhbHVlc307XG4gICAgfVxuICAgIGNhc2UgVVNFUl9DT05TVEFOVFMuR0VUX1NFU1NJT05fRVJST1I6IHtcbiAgICAgIHJldHVybiB7Li4uZGVmYXVsdFZhbHVlc307XG4gICAgfVxuICAgIGNhc2UgVVNFUl9DT05TVEFOVFMuU0lHTl9VUF9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7dXNlcn0gPSBkYXRhO1xuICAgICAgaWYodXNlciAmJiB1c2VyLnVzZXJJZCkge1xuICAgICAgICBjb25zdCB1c2VycyA9IHsuLi5zdGF0ZS51c2Vyc307XG4gICAgICAgIHVzZXJzW3VzZXIudXNlcklkXSA9IHsuLi51c2VyLCB0aW1lc3RhbXA6IERhdGUubm93KCl9O1xuICAgICAgICByZXR1cm4gey4uLnN0YXRlLCBlcnJvcjogdW5kZWZpbmVkLCB1c2Vyc307XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICAgIGNhc2UgVVNFUl9DT05TVEFOVFMuR0VUX1NFU1NJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge3Nlc3Npb259ID0gZGF0YTtcbiAgICAgIHJldHVybiB7Li4uc3RhdGUsIHNlc3Npb246IHsuLi5zdGF0ZS5zZXNzaW9uLCAuLi5zZXNzaW9ufX07XG4gICAgfVxuICAgIGNhc2UgVVNFUl9DT05TVEFOVFMuVVBEQVRFX0lURU1fU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge3VzZXJ9ID0gZGF0YTtcbiAgICAgIGlmKHVzZXIgJiYgdXNlci51c2VySWQpIHtcbiAgICAgICAgY29uc3Qge3Nlc3Npb24sIHVzZXJzfSA9IHN0YXRlO1xuICAgICAgICByZXR1cm4gey4uLnN0YXRlLCBzZXNzaW9uOiB7Li4uc2Vzc2lvbiwgLi4udXNlcn0sIHVzZXJzOiB7Li4udXNlcnMsIFt1c2VyLnVzZXJJZF06IHVzZXJ9fTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gICAgY2FzZSBVU0VSX0NPTlNUQU5UUy5VUERBVEVfUEVSU09OQV9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7cGVyc29uYX0gPSBkYXRhO1xuICAgICAgaWYocGVyc29uYSkge1xuICAgICAgICBjb25zdCB7c2Vzc2lvbn0gPSBzdGF0ZTtcbiAgICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgc2Vzc2lvbjogey4uLnNlc3Npb24sIC4uLnBlcnNvbmF9fTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHVzZXJzID0ge1xuICBhY3Rpb246IHVzZXJTdG9yZSxcbiAgaW5pdGlhbFN0YXRlOiBkZWZhdWx0VmFsdWVzLFxuICBuYW1lOiAndXNlcidcbn07XG4iXSwibmFtZXMiOlsiY2FwaXRhbGl6ZSIsIm9yZGVyQnkiLCJwdWxsQWxsQnkiLCJ1bmlxQnkiLCJSRUFDVElPTl9DT05TVEFOVFMiLCJUQUdfQ09OU1RBTlRTIiwiVVNFUl9DT05TVEFOVFMiLCJBRERfSVRFTV9FUlJPUiIsIkFERF9JVEVNX1NVQ0NFU1MiLCJBRERfUkVMQVRJT05fRVJST1IiLCJBRERfUkVMQVRJT05fU1VDQ0VTUyIsIkFVVEhFTlRJQ0FUSU9OX1VQREFURSIsIkNPTkZJUk1fU0lHTl9VUF9FUlJPUiIsIkNPTkZJUk1fU0lHTl9VUF9TVUNDRVNTIiwiRk9SR09UX1BBU1NXT1JEX0VSUk9SIiwiRk9SR09UX1BBU1NXT1JEX1NVQ0NFU1MiLCJHRVRfREVUQUlMU19TVUNDRVNTIiwiR0VUX0lURU1fRVJST1IiLCJHRVRfSVRFTV9TVUNDRVNTIiwiR0VUX0xJU1RfRVJST1IiLCJHRVRfTElTVF9TVUNDRVNTIiwiR0VUX1NFU1NJT05fRVJST1IiLCJHRVRfU0VTU0lPTl9TVUNDRVNTIiwiSEFTX1VTRVJfUkVBQ1RJT05TIiwiUkVDT1ZFUllfRVJST1IiLCJSRUNPVkVSWV9TVUNDRVNTIiwiUkVNT1ZFX0lURU1fRVJST1IiLCJSRU1PVkVfSVRFTV9TVUNDRVNTIiwiUkVNT1ZFX1JFTEFUSU9OIiwiUkVTRVRfUEFTU1dPUkRfRVJST1IiLCJSRVNFVF9QQVNTV09SRF9TVUNDRVNTIiwiU0lHTl9JTl9FUlJPUiIsIlNJR05fSU5fU1VDQ0VTUyIsIlNJR05fT1VUX0VSUk9SIiwiU0lHTl9PVVRfU1VDQ0VTUyIsIlNJR05fVVBfRVJST1IiLCJTSUdOX1VQX1NVQ0NFU1MiLCJVUERBVEVfSVRFTV9FUlJPUiIsIlVQREFURV9JVEVNX1NVQ0NFU1MiLCJVUERBVEVfUEVSU09OQV9FUlJPUiIsIlVQREFURV9QRVJTT05BX1NVQ0NFU1MiLCJVUERBVEVfU0VTU0lPTl9FUlJPUiIsIlVQREFURV9TRVNTSU9OX1NVQ0NFU1MiLCJWRVJJRllfRVJST1IiLCJWRVJJRllfU1VDQ0VTUyIsImRlZmF1bHRWYWx1ZXMiLCJsaWtlcyIsImxpc3RzIiwic2Vzc2lvbiIsInVzZXJzIiwiY291bnRGaWVsZE1hcCIsImxpa2UiLCJ2aWV3IiwidXNlclN0b3JlIiwidHlwZSIsImRhdGEiLCJzdGF0ZSIsIml0ZW1JZCIsIml0ZW1UeXBlIiwicmVhY3Rpb24iLCJuYW1lIiwicmVhY3Rpb25OYW1lIiwidmFsdWUiLCJyZWFjdGlvblZhbHVlIiwiY291bnRGaWVsZCIsImZpZWxkIiwiY3VycmVudENvdW50IiwidXNlciIsIkFERF9QRVJTT05BX1NVQ0NFU1MiLCJ0YWciLCJ0YWdzIiwidXBkYXRlZFRhZ3MiLCJpdGVtIiwidGFnSWQiLCJSRU1PVkVfUEVSU09OQV9TVUNDRVNTIiwidXNlcklkIiwidGltZXN0YW1wIiwiRGF0ZSIsIm5vdyIsImxpc3QiLCJmb3JFYWNoIiwiY2FjaGVkVXNlciIsInVzZXJuYW1lIiwiZXJyb3IiLCJ1bmRlZmluZWQiLCJwZXJzb25hIiwiYWN0aW9uIiwiaW5pdGlhbFN0YXRlIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsU0FBUyxFQUFFQyxNQUFNLFFBQU8sZUFBZTtBQUVwRSxTQUFRQyxrQkFBa0IsUUFBTyxxQkFBcUI7QUFDdEQsU0FBUUMsYUFBYSxRQUFPLGdCQUFnQjtBQUs1QyxPQUFPLE1BQU1DLGlCQUFpQjtJQUM1QkMsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLG9CQUFvQjtJQUNwQkMsc0JBQXNCO0lBQ3RCQyx1QkFBdUI7SUFDdkJDLHVCQUF1QjtJQUN2QkMseUJBQXlCO0lBQ3pCQyx1QkFBdUI7SUFDdkJDLHlCQUF5QjtJQUN6QkMscUJBQXFCO0lBQ3JCQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLG1CQUFtQjtJQUNuQkMscUJBQXFCO0lBQ3JCQyxvQkFBb0I7SUFDcEJDLGdCQUFnQjtJQUNoQkMsa0JBQWtCO0lBQ2xCQyxtQkFBbUI7SUFDbkJDLHFCQUFxQjtJQUNyQkMsaUJBQWlCO0lBQ2pCQyxzQkFBc0I7SUFDdEJDLHdCQUF3QjtJQUN4QkMsZUFBZTtJQUNmQyxpQkFBaUI7SUFDakJDLGdCQUFnQjtJQUNoQkMsa0JBQWtCO0lBQ2xCQyxlQUFlO0lBQ2ZDLGlCQUFpQjtJQUNqQkMsbUJBQW1CO0lBQ25CQyxxQkFBcUI7SUFDckJDLHNCQUFzQjtJQUN0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
|
|
325
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvc3RvcmVzL3VzZXJTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtjYXBpdGFsaXplLCBvcmRlckJ5LCBwdWxsQWxsQnksIHVuaXFCeX0gZnJvbSAnQG5sYWJzL3V0aWxzJztcblxuaW1wb3J0IHtSRUFDVElPTl9DT05TVEFOVFN9IGZyb20gJy4vcmVhY3Rpb25TdG9yZS5qcyc7XG5pbXBvcnQge1RBR19DT05TVEFOVFN9IGZyb20gJy4vdGFnU3RvcmUuanMnO1xuXG5pbXBvcnQgdHlwZSB7UmVhY3Rpb25BZGFwdGVyVHlwZSBhcyBSZWFjdGlvblR5cGUsIFRhZ1R5cGUsIFVzZXJ9IGZyb20gJy4uL2FkYXB0ZXJzL2luZGV4LmpzJztcbmltcG9ydCB0eXBlIHtQZXJzb25hVHlwZX0gZnJvbSAnLi4vYWRhcHRlcnMvcGVyc29uYUFkYXB0ZXIvcGVyc29uYUFkYXB0ZXIuanMnO1xuXG5leHBvcnQgY29uc3QgVVNFUl9DT05TVEFOVFMgPSB7XG4gIEFERF9JVEVNX0VSUk9SOiAnVVNFUl9BRERfSVRFTV9FUlJPUicsXG4gIEFERF9JVEVNX1NVQ0NFU1M6ICdVU0VSX0FERF9JVEVNX1NVQ0NFU1MnLFxuICBBRERfUkVMQVRJT05fRVJST1I6ICdVU0VSX0FERF9SRUxBVElPTl9FUlJPUicsXG4gIEFERF9SRUxBVElPTl9TVUNDRVNTOiAnVVNFUl9BRERfUkVMQVRJT05fU1VDQ0VTUycsXG4gIEFVVEhFTlRJQ0FUSU9OX1VQREFURTogJ1VTRVJfQVVUSEVOVElDQVRJT05fVVBEQVRFJyxcbiAgQ09ORklSTV9TSUdOX1VQX0VSUk9SOiAnVVNFUl9DT05GSVJNX1NJR05fVVBfRVJST1InLFxuICBDT05GSVJNX1NJR05fVVBfU1VDQ0VTUzogJ1VTRVJfQ09ORklSTV9TSUdOX1VQX1NVQ0NFU1MnLFxuICBGT1JHT1RfUEFTU1dPUkRfRVJST1I6ICdVU0VSX0ZPUkdPVF9QQVNTV09SRF9FUlJPUicsXG4gIEZPUkdPVF9QQVNTV09SRF9TVUNDRVNTOiAnVVNFUl9GT1JHT1RfUEFTU1dPUkRfU1VDQ0VTUycsXG4gIEdFVF9ERVRBSUxTX1NVQ0NFU1M6ICdVU0VSX0dFVF9ERVRBSUxTX1NVQ0NFU1MnLFxuICBHRVRfSVRFTV9FUlJPUjogJ1VTRVJfR0VUX0lURU1fRVJST1InLFxuICBHRVRfSVRFTV9TVUNDRVNTOiAnVVNFUl9HRVRfSVRFTV9TVUNDRVNTJyxcbiAgR0VUX0xJU1RfRVJST1I6ICdVU0VSX0dFVF9MSVNUX0VSUk9SJyxcbiAgR0VUX0xJU1RfU1VDQ0VTUzogJ1VTRVJfR0VUX0xJU1RfU1VDQ0VTUycsXG4gIEdFVF9TRVNTSU9OX0VSUk9SOiAnVVNFUl9HRVRfU0VTU0lPTl9FUlJPUicsXG4gIEdFVF9TRVNTSU9OX1NVQ0NFU1M6ICdVU0VSX0dFVF9TRVNTSU9OX1NVQ0NFU1MnLFxuICBIQVNfVVNFUl9SRUFDVElPTlM6ICdVU0VSX0hBU19VU0VSX1JFQUNUSU9OUycsXG4gIFJFQ09WRVJZX0VSUk9SOiAnVVNFUl9SRUNPVkVSWV9FUlJPUicsXG4gIFJFQ09WRVJZX1NVQ0NFU1M6ICdVU0VSX1JFQ09WRVJZX1NVQ0NFU1MnLFxuICBSRU1PVkVfSVRFTV9FUlJPUjogJ1VTRVJfUkVNT1ZFX0lURU1fRVJST1InLFxuICBSRU1PVkVfSVRFTV9TVUNDRVNTOiAnVVNFUl9SRU1PVkVfSVRFTV9TVUNDRVNTJyxcbiAgUkVNT1ZFX1JFTEFUSU9OOiAnVVNFUl9SRU1PVkVfUkVMQVRJT04nLFxuICBSRVNFVF9QQVNTV09SRF9FUlJPUjogJ1VTRVJfUkVTRVRfUEFTU1dPUkRfRVJST1InLFxuICBSRVNFVF9QQVNTV09SRF9TVUNDRVNTOiAnVVNFUl9SRVNFVF9QQVNTV09SRF9TVUNDRVNTJyxcbiAgU0lHTl9JTl9FUlJPUjogJ1VTRVJfU0lHTl9JTl9FUlJPUicsXG4gIFNJR05fSU5fU1VDQ0VTUzogJ1VTRVJfU0lHTl9JTl9TVUNDRVNTJyxcbiAgU0lHTl9PVVRfRVJST1I6ICdVU0VSX1NJR05fT1VUX0VSUk9SJyxcbiAgU0lHTl9PVVRfU1VDQ0VTUzogJ1VTRVJfU0lHTl9PVVRfU1VDQ0VTUycsXG4gIFNJR05fVVBfRVJST1I6ICdVU0VSX1NJR05fVVBfRVJST1InLFxuICBTSUdOX1VQX1NVQ0NFU1M6ICdVU0VSX1NJR05fVVBfU1VDQ0VTUycsXG4gIFVQREFURV9JVEVNX0VSUk9SOiAnVVNFUl9VUERBVEVfSVRFTV9FUlJPUicsXG4gIFVQREFURV9JVEVNX1NVQ0NFU1M6ICdVU0VSX1VQREFURV9JVEVNX1NVQ0NFU1MnLFxuICBVUERBVEVfUEVSU09OQV9FUlJPUjogJ1VTRVJfVVBEQVRFX1BFUlNPTkFfRVJST1InLFxuICBVUERBVEVfUEVSU09OQV9TVUNDRVNTOiAnVVNFUl9VUERBVEVfUEVSU09OQV9TVUNDRVNTJyxcbiAgVVBEQVRFX1NFU1NJT05fRVJST1I6ICdVU0VSX1VQREFURV9TRVNTSU9OX0VSUk9SJyxcbiAgVVBEQVRFX1NFU1NJT05fU1VDQ0VTUzogJ1VTRVJfVVBEQVRFX1NFU1NJT05fU1VDQ0VTUycsXG4gIFZFUklGWV9FUlJPUjogJ1VTRVJfVkVSSUZZX0VSUk9SJyxcbiAgVkVSSUZZX1NVQ0NFU1M6ICdVU0VSX1ZFUklGWV9TVUNDRVNTJ1xufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgVXNlckNvbnN0YW50c1R5cGUgPSB0eXBlb2YgVVNFUl9DT05TVEFOVFNba2V5b2YgdHlwZW9mIFVTRVJfQ09OU1RBTlRTXTtcblxuaW50ZXJmYWNlIFVzZXJTdGF0ZSB7XG4gIGVycm9yPzogRXJyb3I7XG4gIGxpa2VzOiBzdHJpbmdbXTtcbiAgbGlzdHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBzZXNzaW9uOiBQYXJ0aWFsPFVzZXI+O1xuICB1c2VyczogUmVjb3JkPHN0cmluZywgUGFydGlhbDxVc2VyPj47XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0VmFsdWVzOiBVc2VyU3RhdGUgPSB7XG4gIGxpa2VzOiBbXSxcbiAgbGlzdHM6IHt9LFxuICBzZXNzaW9uOiB7fSxcbiAgdXNlcnM6IHt9XG59O1xuXG5leHBvcnQgY29uc3QgY291bnRGaWVsZE1hcCA9IHtcbiAgbGlrZTogJ2xpa2VDb3VudCcsXG4gIHZpZXc6ICd2aWV3Q291bnQnXG59O1xuXG5pbnRlcmZhY2UgVXNlckRhdGEge1xuICByZWFkb25seSBlcnJvcj86IEVycm9yO1xuICByZWFkb25seSBpdGVtSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGl0ZW1UeXBlPzogc3RyaW5nO1xuICByZWFkb25seSBsaXN0PzogVXNlcltdO1xuICByZWFkb25seSBwZXJzb25hPzogUGVyc29uYVR5cGU7XG4gIHJlYWRvbmx5IHJlYWN0aW9uPzogUmVhY3Rpb25UeXBlO1xuICByZWFkb25seSBzZXNzaW9uPzogVXNlcjtcbiAgcmVhZG9ubHkgdGFnPzogVGFnVHlwZTtcbiAgcmVhZG9ubHkgdXNlcj86IFVzZXI7XG59XG5cbmV4cG9ydCBjb25zdCB1c2VyU3RvcmUgPSAodHlwZTogc3RyaW5nLCBkYXRhOiBVc2VyRGF0YSwgc3RhdGUgPSBkZWZhdWx0VmFsdWVzKTogVXNlclN0YXRlID0+IHtcbiAgc3dpdGNoKHR5cGUpIHtcbiAgICBjYXNlIFJFQUNUSU9OX0NPTlNUQU5UUy5BRERfSVRFTV9TVUNDRVNTOlxuICAgIGNhc2UgUkVBQ1RJT05fQ09OU1RBTlRTLlJFTU9WRV9JVEVNX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHtpdGVtSWQsIGl0ZW1UeXBlLCByZWFjdGlvbn0gPSBkYXRhO1xuXG4gICAgICBpZihpdGVtVHlwZSAhPT0gJ3VzZXJzJyB8fCAhcmVhY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB1c2VycyA9IHsuLi5zdGF0ZS51c2Vyc307XG4gICAgICBjb25zdCB7bmFtZTogcmVhY3Rpb25OYW1lID0gJycsIHZhbHVlOiByZWFjdGlvblZhbHVlfSA9IHJlYWN0aW9uO1xuICAgICAgY29uc3QgdmFsdWU6IGJvb2xlYW4gPSByZWFjdGlvblZhbHVlID09PSAndHJ1ZSc7XG5cbiAgICAgIGlmKGl0ZW1JZCAmJiB1c2Vyc1tpdGVtSWRdKSB7XG4gICAgICAgIHVzZXJzW2l0ZW1JZF0gPSB7Li4udXNlcnNbaXRlbUlkXX07XG4gICAgICAgIHVzZXJzW2l0ZW1JZF1bYGhhcyR7Y2FwaXRhbGl6ZShyZWFjdGlvbk5hbWUpfWBdID0gdmFsdWU7XG5cbiAgICAgICAgaWYocmVhY3Rpb25OYW1lICE9PSAndmlldycpIHtcbiAgICAgICAgICBjb25zdCBjb3VudEZpZWxkOiBrZXlvZiB0eXBlb2YgY291bnRGaWVsZE1hcCA9IHJlYWN0aW9uTmFtZSBhcyBrZXlvZiB0eXBlb2YgY291bnRGaWVsZE1hcDtcbiAgICAgICAgICBjb25zdCBmaWVsZCA9IGNvdW50RmllbGRNYXBbY291bnRGaWVsZF07XG4gICAgICAgICAgY29uc3QgY3VycmVudENvdW50ID0gdXNlcnNbaXRlbUlkXVtmaWVsZF0gYXMgbnVtYmVyIHx8IDA7XG4gICAgICAgICAgdXNlcnNbaXRlbUlkXVtmaWVsZF0gPSB2YWx1ZSA/IGN1cnJlbnRDb3VudCArIDEgOiBjdXJyZW50Q291bnQgLSAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7Li4uc3RhdGUsIHVzZXJzfTtcbiAgICB9XG4gICAgY2FzZSBVU0VSX0NPTlNUQU5UUy5VUERBVEVfU0VTU0lPTl9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7dXNlcn0gPSBkYXRhO1xuICAgICAgaWYodXNlcikge1xuICAgICAgICByZXR1cm4gey4uLnN0YXRlLCBzZXNzaW9uOiB7Li4uc3RhdGUuc2Vzc2lvbiwgLi4udXNlcn19O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgICBjYXNlIFRBR19DT05TVEFOVFMuQUREX1BFUlNPTkFfU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge3RhZ30gPSBkYXRhO1xuXG4gICAgICBpZighdGFnKSB7XG4gICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc2Vzc2lvbiA9IHsuLi5zdGF0ZS5zZXNzaW9ufTtcbiAgICAgIGNvbnN0IHt0YWdzID0gW119ID0gc2Vzc2lvbjtcbiAgICAgIGNvbnN0IHVwZGF0ZWRUYWdzID0gdW5pcUJ5KFsuLi50YWdzLCB0YWddLCAoaXRlbTogVGFnVHlwZSkgPT4gaXRlbS50YWdJZCk7XG4gICAgICBzZXNzaW9uLnRhZ3MgPSBvcmRlckJ5KHVwZGF0ZWRUYWdzLCBbJ25hbWUnXSwgWydhc2MnXSk7XG4gICAgICByZXR1cm4gey4uLnN0YXRlLCBzZXNzaW9ufTtcbiAgICB9XG4gICAgY2FzZSBUQUdfQ09OU1RBTlRTLlJFTU9WRV9QRVJTT05BX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHt0YWd9ID0gZGF0YTtcblxuICAgICAgaWYoIXRhZykge1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNlc3Npb24gPSB7Li4uc3RhdGUuc2Vzc2lvbn07XG4gICAgICBjb25zdCB7dGFncyA9IFtdfSA9IHNlc3Npb247XG4gICAgICBzZXNzaW9uLnRhZ3MgPSBwdWxsQWxsQnkodGFncywgW3RhZ10sICd0YWdJZCcpO1xuICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgc2Vzc2lvbn07XG4gICAgfVxuICAgIGNhc2UgVVNFUl9DT05TVEFOVFMuQUREX0lURU1fU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge3VzZXJ9ID0gZGF0YTtcbiAgICAgIGlmKHVzZXIgJiYgdXNlci51c2VySWQpIHtcbiAgICAgICAgY29uc3QgdXNlcnMgPSB7Li4uc3RhdGUudXNlcnN9O1xuICAgICAgICB1c2Vyc1t1c2VyLnVzZXJJZF0gPSB7Li4udXNlciwgdGltZXN0YW1wOiBEYXRlLm5vdygpfTtcbiAgICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgc2Vzc2lvbjogdXNlciwgdXNlcnN9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgICBjYXNlIFVTRVJfQ09OU1RBTlRTLkdFVF9ERVRBSUxTX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHt1c2VyfSA9IGRhdGE7XG4gICAgICBpZih1c2VyICYmIHVzZXIudXNlcklkKSB7XG4gICAgICAgIGNvbnN0IHVzZXJzID0gey4uLnN0YXRlLnVzZXJzfTtcbiAgICAgICAgdXNlcnNbdXNlci51c2VySWRdID0gey4uLnVzZXIsIHRpbWVzdGFtcDogRGF0ZS5ub3coKX07XG4gICAgICAgIHJldHVybiB7Li4uc3RhdGUsIHVzZXJzfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gICAgY2FzZSBVU0VSX0NPTlNUQU5UUy5HRVRfTElTVF9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7bGlzdH0gPSBkYXRhO1xuICAgICAgaWYobGlzdCkge1xuICAgICAgICBjb25zdCB1c2VycyA9IHsuLi5zdGF0ZS51c2Vyc307XG5cbiAgICAgICAgbGlzdC5mb3JFYWNoKCh1c2VyOiBVc2VyKSA9PiB7XG4gICAgICAgICAgaWYodXNlci51c2VySWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhY2hlZFVzZXI6IFBhcnRpYWw8VXNlcj4gPSB1c2Vyc1t1c2VyLnVzZXJJZF0gfHwge307XG4gICAgICAgICAgICB1c2Vyc1t1c2VyLnVzZXJJZF0gPSB7Li4uY2FjaGVkVXNlciwgLi4udXNlcn07XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgdXNlcnN9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgICBjYXNlIFVTRVJfQ09OU1RBTlRTLlNJR05fSU5fRVJST1I6IHtcbiAgICAgIGNvbnN0IHt1c2VybmFtZX0gPSBzdGF0ZS5zZXNzaW9uO1xuICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgc2Vzc2lvbjoge3VzZXJuYW1lOiB1c2VybmFtZSB8fCAnJ319O1xuICAgIH1cbiAgICBjYXNlIFVTRVJfQ09OU1RBTlRTLlNJR05fVVBfRVJST1I6IHtcbiAgICAgIGNvbnN0IHtlcnJvcn0gPSBkYXRhO1xuICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgZXJyb3J9O1xuICAgIH1cbiAgICBjYXNlIFVTRVJfQ09OU1RBTlRTLlNJR05fSU5fU1VDQ0VTUzoge1xuICAgICAgY29uc3Qge3Nlc3Npb259ID0gZGF0YTtcbiAgICAgIGlmKHNlc3Npb24pIHtcbiAgICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgbGlzdHM6IHt9LCBzZXNzaW9uOiB7Li4uc2Vzc2lvbn0sIHVzZXJzOiB7fX07XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICAgIGNhc2UgVVNFUl9DT05TVEFOVFMuU0lHTl9PVVRfU1VDQ0VTUzoge1xuICAgICAgcmV0dXJuIHsuLi5kZWZhdWx0VmFsdWVzfTtcbiAgICB9XG4gICAgY2FzZSBVU0VSX0NPTlNUQU5UUy5HRVRfU0VTU0lPTl9FUlJPUjoge1xuICAgICAgcmV0dXJuIHsuLi5kZWZhdWx0VmFsdWVzfTtcbiAgICB9XG4gICAgY2FzZSBVU0VSX0NPTlNUQU5UUy5TSUdOX1VQX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHt1c2VyfSA9IGRhdGE7XG4gICAgICBpZih1c2VyICYmIHVzZXIudXNlcklkKSB7XG4gICAgICAgIGNvbnN0IHVzZXJzID0gey4uLnN0YXRlLnVzZXJzfTtcbiAgICAgICAgdXNlcnNbdXNlci51c2VySWRdID0gey4uLnVzZXIsIHRpbWVzdGFtcDogRGF0ZS5ub3coKX07XG4gICAgICAgIHJldHVybiB7Li4uc3RhdGUsIGVycm9yOiB1bmRlZmluZWQsIHVzZXJzfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gICAgY2FzZSBVU0VSX0NPTlNUQU5UUy5HRVRfU0VTU0lPTl9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7c2Vzc2lvbn0gPSBkYXRhO1xuICAgICAgcmV0dXJuIHsuLi5zdGF0ZSwgc2Vzc2lvbjogey4uLnN0YXRlLnNlc3Npb24sIC4uLnNlc3Npb259fTtcbiAgICB9XG4gICAgY2FzZSBVU0VSX0NPTlNUQU5UUy5VUERBVEVfSVRFTV9TVUNDRVNTOiB7XG4gICAgICBjb25zdCB7dXNlcn0gPSBkYXRhO1xuICAgICAgaWYodXNlciAmJiB1c2VyLnVzZXJJZCkge1xuICAgICAgICBjb25zdCB7c2Vzc2lvbiwgdXNlcnN9ID0gc3RhdGU7XG4gICAgICAgIHJldHVybiB7Li4uc3RhdGUsIHNlc3Npb246IHsuLi5zZXNzaW9uLCAuLi51c2VyfSwgdXNlcnM6IHsuLi51c2VycywgW3VzZXIudXNlcklkXTogdXNlcn19O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgICBjYXNlIFVTRVJfQ09OU1RBTlRTLlVQREFURV9QRVJTT05BX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHtwZXJzb25hfSA9IGRhdGE7XG4gICAgICBpZihwZXJzb25hKSB7XG4gICAgICAgIGNvbnN0IHtzZXNzaW9ufSA9IHN0YXRlO1xuICAgICAgICByZXR1cm4gey4uLnN0YXRlLCBzZXNzaW9uOiB7Li4uc2Vzc2lvbiwgLi4ucGVyc29uYX19O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdXNlcnMgPSB7XG4gIGFjdGlvbjogdXNlclN0b3JlLFxuICBpbml0aWFsU3RhdGU6IGRlZmF1bHRWYWx1ZXMsXG4gIG5hbWU6ICd1c2VyJ1xufTtcbiJdLCJuYW1lcyI6WyJjYXBpdGFsaXplIiwib3JkZXJCeSIsInB1bGxBbGxCeSIsInVuaXFCeSIsIlJFQUNUSU9OX0NPTlNUQU5UUyIsIlRBR19DT05TVEFOVFMiLCJVU0VSX0NPTlNUQU5UUyIsIkFERF9JVEVNX0VSUk9SIiwiQUREX0lURU1fU1VDQ0VTUyIsIkFERF9SRUxBVElPTl9FUlJPUiIsIkFERF9SRUxBVElPTl9TVUNDRVNTIiwiQVVUSEVOVElDQVRJT05fVVBEQVRFIiwiQ09ORklSTV9TSUdOX1VQX0VSUk9SIiwiQ09ORklSTV9TSUdOX1VQX1NVQ0NFU1MiLCJGT1JHT1RfUEFTU1dPUkRfRVJST1IiLCJGT1JHT1RfUEFTU1dPUkRfU1VDQ0VTUyIsIkdFVF9ERVRBSUxTX1NVQ0NFU1MiLCJHRVRfSVRFTV9FUlJPUiIsIkdFVF9JVEVNX1NVQ0NFU1MiLCJHRVRfTElTVF9FUlJPUiIsIkdFVF9MSVNUX1NVQ0NFU1MiLCJHRVRfU0VTU0lPTl9FUlJPUiIsIkdFVF9TRVNTSU9OX1NVQ0NFU1MiLCJIQVNfVVNFUl9SRUFDVElPTlMiLCJSRUNPVkVSWV9FUlJPUiIsIlJFQ09WRVJZX1NVQ0NFU1MiLCJSRU1PVkVfSVRFTV9FUlJPUiIsIlJFTU9WRV9JVEVNX1NVQ0NFU1MiLCJSRU1PVkVfUkVMQVRJT04iLCJSRVNFVF9QQVNTV09SRF9FUlJPUiIsIlJFU0VUX1BBU1NXT1JEX1NVQ0NFU1MiLCJTSUdOX0lOX0VSUk9SIiwiU0lHTl9JTl9TVUNDRVNTIiwiU0lHTl9PVVRfRVJST1IiLCJTSUdOX09VVF9TVUNDRVNTIiwiU0lHTl9VUF9FUlJPUiIsIlNJR05fVVBfU1VDQ0VTUyIsIlVQREFURV9JVEVNX0VSUk9SIiwiVVBEQVRFX0lURU1fU1VDQ0VTUyIsIlVQREFURV9QRVJTT05BX0VSUk9SIiwiVVBEQVRFX1BFUlNPTkFfU1VDQ0VTUyIsIlVQREFURV9TRVNTSU9OX0VSUk9SIiwiVVBEQVRFX1NFU1NJT05fU1VDQ0VTUyIsIlZFUklGWV9FUlJPUiIsIlZFUklGWV9TVUNDRVNTIiwiZGVmYXVsdFZhbHVlcyIsImxpa2VzIiwibGlzdHMiLCJzZXNzaW9uIiwidXNlcnMiLCJjb3VudEZpZWxkTWFwIiwibGlrZSIsInZpZXciLCJ1c2VyU3RvcmUiLCJ0eXBlIiwiZGF0YSIsInN0YXRlIiwiaXRlbUlkIiwiaXRlbVR5cGUiLCJyZWFjdGlvbiIsIm5hbWUiLCJyZWFjdGlvbk5hbWUiLCJ2YWx1ZSIsInJlYWN0aW9uVmFsdWUiLCJjb3VudEZpZWxkIiwiZmllbGQiLCJjdXJyZW50Q291bnQiLCJ1c2VyIiwiQUREX1BFUlNPTkFfU1VDQ0VTUyIsInRhZyIsInRhZ3MiLCJ1cGRhdGVkVGFncyIsIml0ZW0iLCJ0YWdJZCIsIlJFTU9WRV9QRVJTT05BX1NVQ0NFU1MiLCJ1c2VySWQiLCJ0aW1lc3RhbXAiLCJEYXRlIiwibm93IiwibGlzdCIsImZvckVhY2giLCJjYWNoZWRVc2VyIiwidXNlcm5hbWUiLCJlcnJvciIsInVuZGVmaW5lZCIsInBlcnNvbmEiLCJhY3Rpb24iLCJpbml0aWFsU3RhdGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLFVBQVUsRUFBRUMsT0FBTyxFQUFFQyxTQUFTLEVBQUVDLE1BQU0sUUFBTyxlQUFlO0FBRXBFLFNBQVFDLGtCQUFrQixRQUFPLHFCQUFxQjtBQUN0RCxTQUFRQyxhQUFhLFFBQU8sZ0JBQWdCO0FBSzVDLE9BQU8sTUFBTUMsaUJBQWlCO0lBQzVCQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsb0JBQW9CO0lBQ3BCQyxzQkFBc0I7SUFDdEJDLHVCQUF1QjtJQUN2QkMsdUJBQXVCO0lBQ3ZCQyx5QkFBeUI7SUFDekJDLHVCQUF1QjtJQUN2QkMseUJBQXlCO0lBQ3pCQyxxQkFBcUI7SUFDckJDLGdCQUFnQjtJQUNoQkMsa0JBQWtCO0lBQ2xCQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsbUJBQW1CO0lBQ25CQyxxQkFBcUI7SUFDckJDLG9CQUFvQjtJQUNwQkMsZ0JBQWdCO0lBQ2hCQyxrQkFBa0I7SUFDbEJDLG1CQUFtQjtJQUNuQkMscUJBQXFCO0lBQ3JCQyxpQkFBaUI7SUFDakJDLHNCQUFzQjtJQUN0QkMsd0JBQXdCO0lBQ3hCQyxlQUFlO0lBQ2ZDLGlCQUFpQjtJQUNqQkMs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
|
package/lib/types/crm.types.d.ts
CHANGED
package/lib/types/index.d.ts
CHANGED
|
@@ -55,4 +55,3 @@ export interface MetropolisContextValue {
|
|
|
55
55
|
}
|
|
56
56
|
export declare const MetropolisContext: import("react").Context<MetropolisContextValue>;
|
|
57
57
|
export declare const MetropolisProvider: ({ adapters, children, isAuth, messages, notifications, session, updateMessage, updateNotification }: MetropolisProviderProps) => import("react").JSX.Element;
|
|
58
|
-
//# sourceMappingURL=MetropolisProvider.d.ts.map
|
|
@@ -19,9 +19,8 @@ import type { UserActionsOptions } from '../actions/userActions/userActions.js';
|
|
|
19
19
|
import type { VideoActionsOptions } from '../actions/videoActions/videoActions.js';
|
|
20
20
|
export type ActionType = 'awsRum' | 'content' | 'crm' | 'event' | 'group' | 'image' | 'location' | 'message' | 'permission' | 'post' | 'persona' | 'reaction' | 'rest' | 'sse' | 'subscription' | 'tag' | 'translation' | 'user' | 'video' | 'websocket';
|
|
21
21
|
export type ActionOptions = AwsRumActionsOptions | ContentActionsOptions | CrmActionsOptions | EventActionsOptions | GroupActionsOptions | ImageActionsOptions | LocationActionsOptions | MessageActionsOptions | PermissionActionsOptions | PostActionsOptions | PersonaActionsOptions | ReactionActionsOptions | RestActionsOptions | SSEActionsOptions | TagActionsOptions | TranslationActionsOptions | UserActionsOptions | VideoActionsOptions | undefined;
|
|
22
|
-
export declare const createAction: <T extends ActionType>(actionType: T, flux: FluxFramework, options?: ActionOptions) => import("../
|
|
22
|
+
export declare const createAction: <T extends ActionType>(actionType: T, flux: FluxFramework, options?: ActionOptions) => import("../index.js").AwsRumActions | import("../actions/index.js").ContentActions | import("../index.js").CrmActions | import("../actions/index.js").EventActions | import("../actions/index.js").GroupActions | import("../actions/index.js").ImageActions | import("../actions/index.js").LocationActions | import("../actions/index.js").MessageActions | import("../actions/index.js").PermissionActions | import("../actions/index.js").PersonaActions | import("../actions/index.js").PostActions | import("../actions/index.js").ReactionActions | import("../index.js").RestActions | import("../actions/index.js").SSEActions | import("../actions/index.js").SubscriptionActions | import("../actions/index.js").TagActions | import("../actions/index.js").TranslationActions | import("../index.js").VideoActions | import("../actions/index.js").WebsocketActions | import("../actions/index.js").userActions;
|
|
23
23
|
export declare const createActions: (actionTypes: ActionType[], flux: FluxFramework, options?: Partial<Record<ActionType, ActionOptions>>) => Partial<Record<ActionType, ActionReturnType<ActionType>>>;
|
|
24
|
-
export declare const createAllActions: (flux: FluxFramework, options?: Partial<Record<ActionType, ActionOptions>>) => Partial<Record<ActionType, import("../
|
|
24
|
+
export declare const createAllActions: (flux: FluxFramework, options?: Partial<Record<ActionType, ActionOptions>>) => Partial<Record<ActionType, import("../index.js").AwsRumActions | import("../actions/index.js").ContentActions | import("../index.js").CrmActions | import("../actions/index.js").EventActions | import("../actions/index.js").GroupActions | import("../actions/index.js").ImageActions | import("../actions/index.js").LocationActions | import("../actions/index.js").MessageActions | import("../actions/index.js").PermissionActions | import("../actions/index.js").PersonaActions | import("../actions/index.js").PostActions | import("../actions/index.js").ReactionActions | import("../index.js").RestActions | import("../actions/index.js").SSEActions | import("../actions/index.js").SubscriptionActions | import("../actions/index.js").TagActions | import("../actions/index.js").TranslationActions | import("../index.js").VideoActions | import("../actions/index.js").WebsocketActions | import("../actions/index.js").userActions>>;
|
|
25
25
|
export type ActionTypes = ReturnType<typeof createAllActions>;
|
|
26
26
|
export type ActionReturnType<T extends ActionType> = ReturnType<typeof createAction<T>>;
|
|
27
|
-
//# sourceMappingURL=actionFactory.d.ts.map
|
package/lib/utils/api.d.ts
CHANGED
|
@@ -52,6 +52,5 @@ export declare const appMutation: <T>(flux: FluxFramework, name: string, dataTyp
|
|
|
52
52
|
export declare const publicQuery: <T>(flux: FluxFramework, name: string, dataType: ReaktorDbCollection, queryVariables: ApiQueryVariables, returnProperties: string[], options?: ApiOptions) => Promise<T>;
|
|
53
53
|
export declare const publicMutation: <T>(flux: FluxFramework, name: string, dataType: ReaktorDbCollection, queryVariables: ApiQueryVariables, returnProperties: string[], options?: ApiOptions) => Promise<T>;
|
|
54
54
|
export declare const rumMutation: <T>(flux: FluxFramework, name: string, dataType: ReaktorDbCollection, queryVariables: ApiQueryVariables, returnProperties: string[], options?: ApiOptions) => Promise<T>;
|
|
55
|
-
export declare const uploadImage: (flux: FluxFramework, image:
|
|
55
|
+
export declare const uploadImage: (flux: FluxFramework, image: FormData | Record<string, unknown>, options?: HunterOptionsType) => Promise<ApiResultsType>;
|
|
56
56
|
export declare const refreshSession: (flux: FluxFramework, token?: string, expires?: number) => Promise<FluxAction | null>;
|
|
57
|
-
//# sourceMappingURL=api.d.ts.map
|