@zengenti/contensis-react-base 3.0.0-beta.78 → 3.0.0-beta.80
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/cjs/{App-80a696bc.js → App-5a34ea98.js} +19 -3
- package/cjs/App-5a34ea98.js.map +1 -0
- package/cjs/client.js +9 -26
- package/cjs/client.js.map +1 -1
- package/cjs/contensis-react-base.js +540 -325
- package/cjs/contensis-react-base.js.map +1 -1
- package/cjs/setCachingHeaders-ee619bdf.js +12 -0
- package/cjs/setCachingHeaders-ee619bdf.js.map +1 -0
- package/cjs/util.js +199 -42
- package/cjs/util.js.map +1 -1
- package/esm/{App-af0670fa.js → App-a973f962.js} +26 -10
- package/esm/App-a973f962.js.map +1 -0
- package/esm/{RouteLoader-f96a61c1.js → RouteLoader-f607a134.js} +4 -4
- package/esm/{RouteLoader-f96a61c1.js.map → RouteLoader-f607a134.js.map} +1 -1
- package/esm/{ToJs-affd73f1.js → ToJs-4e02a04d.js} +2 -2
- package/esm/{ToJs-affd73f1.js.map → ToJs-4e02a04d.js.map} +1 -1
- package/esm/{actions-fcfc8704.js → actions-180948dd.js} +2 -2
- package/esm/{actions-fcfc8704.js.map → actions-180948dd.js.map} +1 -1
- package/esm/client.js +17 -15
- package/esm/client.js.map +1 -1
- package/esm/contensis-react-base.js +548 -333
- package/esm/contensis-react-base.js.map +1 -1
- package/esm/{login-ca2dc2f7.js → login-508cac0f.js} +4 -4
- package/esm/{login-ca2dc2f7.js.map → login-508cac0f.js.map} +1 -1
- package/esm/redux.js +6 -6
- package/esm/routing.js +4 -4
- package/esm/{selectors-337be432.js → selectors-a5e5835b.js} +3 -3
- package/esm/{selectors-337be432.js.map → selectors-a5e5835b.js.map} +1 -1
- package/esm/setCachingHeaders-d49060e1.js +10 -0
- package/esm/setCachingHeaders-d49060e1.js.map +1 -0
- package/esm/user.js +5 -5
- package/esm/util.js +196 -41
- package/esm/util.js.map +1 -1
- package/esm/{version-6dd7b2cd.js → version-2485e2fb.js} +2 -2
- package/esm/{version-6dd7b2cd.js.map → version-2485e2fb.js.map} +1 -1
- package/esm/{version-c7268214.js → version-c776a92b.js} +3 -3
- package/esm/{version-c7268214.js.map → version-c776a92b.js.map} +1 -1
- package/models/app/pages/VersionInfo/components/VersionInfo.d.ts +1 -1
- package/models/redux/sagas/navigation.d.ts +1 -1
- package/models/server/features/linkdepth-api/LinkDepthSearchService.d.ts +24 -0
- package/models/server/features/linkdepth-api/QueryLevelResults.d.ts +50 -0
- package/models/server/features/linkdepth-api/search.d.ts +31 -0
- package/models/server/features/linkdepth-api/util.d.ts +11 -0
- package/models/user/hocs/withLogin.d.ts +2 -2
- package/models/user/hocs/withRegistration.d.ts +2 -2
- package/models/util/ContensisDeliveryApi.d.ts +3 -1
- package/package.json +1 -1
- package/cjs/App-80a696bc.js.map +0 -1
- package/cjs/VersionInfo-4c9dfa6a.js +0 -181
- package/cjs/VersionInfo-4c9dfa6a.js.map +0 -1
- package/esm/App-af0670fa.js.map +0 -1
- package/esm/VersionInfo-f5403b09.js +0 -172
- package/esm/VersionInfo-f5403b09.js.map +0 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { PagedList } from 'contensis-core-api';
|
|
2
|
+
import { Entry } from 'contensis-delivery-api/lib/models';
|
|
3
|
+
import { LinkDepthApiFilters, LinkFields } from './api.d';
|
|
4
|
+
declare class QueryLevelResults {
|
|
5
|
+
level: number;
|
|
6
|
+
contentTypeIds: string[];
|
|
7
|
+
linkFieldIds: string[];
|
|
8
|
+
linkFields: LinkFields;
|
|
9
|
+
filters: LinkDepthApiFilters;
|
|
10
|
+
sharedFilters: LinkDepthApiFilters;
|
|
11
|
+
returnEntries: boolean;
|
|
12
|
+
resolveFirstParent: boolean;
|
|
13
|
+
validatedLinks: {
|
|
14
|
+
contentTypeId: string;
|
|
15
|
+
linkFieldId: string;
|
|
16
|
+
entryIds: string[];
|
|
17
|
+
}[];
|
|
18
|
+
parent: QueryLevelResults | undefined;
|
|
19
|
+
children: QueryLevelResults[];
|
|
20
|
+
runFirstQuery: boolean;
|
|
21
|
+
runFinalQuery: boolean;
|
|
22
|
+
private params;
|
|
23
|
+
private debug;
|
|
24
|
+
private firstQuery;
|
|
25
|
+
private firstResults;
|
|
26
|
+
private finalQuery;
|
|
27
|
+
private finalResults;
|
|
28
|
+
constructor({ level, contentTypeIds, linkFields, filters, sharedFilters, returnEntries, resolveFirstParent, params, parent, debug, }: {
|
|
29
|
+
level: number;
|
|
30
|
+
contentTypeIds: string[];
|
|
31
|
+
linkFields: LinkFields;
|
|
32
|
+
filters: LinkDepthApiFilters;
|
|
33
|
+
sharedFilters: LinkDepthApiFilters;
|
|
34
|
+
returnEntries?: boolean;
|
|
35
|
+
resolveFirstParent?: boolean;
|
|
36
|
+
params: {
|
|
37
|
+
[key: string]: string | undefined;
|
|
38
|
+
};
|
|
39
|
+
parent?: QueryLevelResults;
|
|
40
|
+
debug?: boolean;
|
|
41
|
+
});
|
|
42
|
+
AddChild: ({ child }: {
|
|
43
|
+
child: QueryLevelResults;
|
|
44
|
+
}) => void;
|
|
45
|
+
RunFirstQuery: () => Promise<void>;
|
|
46
|
+
RunFinalQuery: () => Promise<void>;
|
|
47
|
+
GetResultsEntries: () => Entry[];
|
|
48
|
+
GetResults: () => PagedList<Entry>;
|
|
49
|
+
}
|
|
50
|
+
export default QueryLevelResults;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { FilterExpression, SearchQueryOptions } from "../../../search";
|
|
2
|
+
import { Query } from 'contensis-core-api';
|
|
3
|
+
import { Entry } from 'contensis-delivery-api/lib/models';
|
|
4
|
+
import { LinkDepthApiFilters } from './api.d';
|
|
5
|
+
declare type WithOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
6
|
+
declare type SearchQueryArgs = WithOptional<SearchQueryOptions & {
|
|
7
|
+
idFilters?: SearchQueryOptions['filters'];
|
|
8
|
+
sharedFilters?: SearchQueryOptions['filters'];
|
|
9
|
+
}, 'assetTypes' | 'customWhere' | 'dynamicOrderBy' | 'excludeIds' | 'featuredResults' | 'fields' | 'includeInSearchFields' | 'languages' | 'orderBy' | 'pageIndex' | 'searchTerm' | 'webpageTemplates' | 'weightedSearchFields'>;
|
|
10
|
+
/**
|
|
11
|
+
* Builds our complete Delivery API Query object from a set of provided arguments
|
|
12
|
+
* @param queryParams
|
|
13
|
+
* @returns Delivery API Query
|
|
14
|
+
*/
|
|
15
|
+
export declare const searchQuery: ({ assetTypes, contentTypeIds, customWhere, fields, filters, idFilters, sharedFilters, pageSize, pageIndex, orderBy, searchTerm, versionStatus, webpageTemplates, weightedSearchFields, }: SearchQueryArgs) => Query;
|
|
16
|
+
export declare const appendSearchQueryFilters: (query: Query, idFilters: FilterExpression[]) => void;
|
|
17
|
+
export declare const finalQuery: ({ assetTypes, contentTypeIds, fields, filters, idFilters, sharedFilters, pageSize, pageIndex, orderBy, searchTerm, versionStatus, webpageTemplates, weightedSearchFields, }: SearchQueryArgs, children: Omit<SearchQueryArgs, 'pageSize' | 'pageIndex' | 'versionStatus'>[]) => Query;
|
|
18
|
+
/**
|
|
19
|
+
* Create a filter expression from a provided filters configuration object
|
|
20
|
+
* and populate them based on the presence of that key in params, filter
|
|
21
|
+
* out any filter keys that do not have a value set in params
|
|
22
|
+
* @param f filters configuration from any level
|
|
23
|
+
* @param params request.query object from Express middleware
|
|
24
|
+
* @returns FilterExpression[] we can use to use with searchQuery function
|
|
25
|
+
*/
|
|
26
|
+
export declare const makeFilterExpressions: (f: LinkDepthApiFilters, params: {
|
|
27
|
+
[param: string]: string | undefined;
|
|
28
|
+
}) => FilterExpression[];
|
|
29
|
+
export declare const makeDerivedIdsFilterExpression: (prevFieldId: string, entries: Entry[], ownIds?: boolean, alwaysApplyFilter?: boolean) => FilterExpression[];
|
|
30
|
+
export declare const resolveParentEntries: (parentContentTypeIds: string[], replaceContentTypeIds: string[], parentFieldId: string, results: Entry[], params: any, debug: boolean) => Promise<Entry[]>;
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Entry } from 'contensis-delivery-api/lib/models';
|
|
2
|
+
import { PagedList } from 'contensis-core-api';
|
|
3
|
+
/**
|
|
4
|
+
* Util class holds our search results helper boilerplate methods
|
|
5
|
+
*/
|
|
6
|
+
export declare class Util {
|
|
7
|
+
static GetIds(entries: Entry[], fieldId?: string): any[];
|
|
8
|
+
static GetItems(result: PagedList<Entry>): Entry[];
|
|
9
|
+
static GetResults(result: PagedList<Entry>): PagedList<Entry> | null;
|
|
10
|
+
}
|
|
11
|
+
export declare const mergeResults: (results: Entry[], parentResults: Entry[], replaceContentTypeIds: string[], linkFieldId: string) => Entry[];
|
|
@@ -5,8 +5,8 @@ declare function withLogin(WrappedComponent: any): import("react-redux").Connect
|
|
|
5
5
|
[key: string]: any;
|
|
6
6
|
} & {
|
|
7
7
|
children?: import("react").ReactNode;
|
|
8
|
-
}, "
|
|
8
|
+
}, "error" | "isError" | "isLoading" | "user" | "isAuthenticated" | "isAuthenticationError" | "loginUser" | "logoutUser" | "authenticationError"> | import("react-redux").Omit<import("react").ClassAttributes<import("react").Component<{
|
|
9
9
|
[key: string]: any;
|
|
10
10
|
}, any, any>> & {
|
|
11
11
|
[key: string]: any;
|
|
12
|
-
}, "
|
|
12
|
+
}, "error" | "isError" | "isLoading" | "user" | "isAuthenticated" | "isAuthenticationError" | "loginUser" | "logoutUser" | "authenticationError">>;
|
|
@@ -5,8 +5,8 @@ declare function withRegistration(WrappedComponent: any): import("react-redux").
|
|
|
5
5
|
[key: string]: any;
|
|
6
6
|
} & {
|
|
7
7
|
children?: import("react").ReactNode;
|
|
8
|
-
}, "
|
|
8
|
+
}, "error" | "isLoading" | "user" | "registerUser" | "isSuccess"> | import("react-redux").Omit<import("react").ClassAttributes<import("react").Component<{
|
|
9
9
|
[key: string]: any;
|
|
10
10
|
}, any, any>> & {
|
|
11
11
|
[key: string]: any;
|
|
12
|
-
}, "
|
|
12
|
+
}, "error" | "isLoading" | "user" | "registerUser" | "isSuccess">>;
|
|
@@ -2,7 +2,9 @@ export * from "contensis-delivery-api";
|
|
|
2
2
|
export const deliveryApi: DeliveryApi;
|
|
3
3
|
export const cachedSearch: CachedSearch;
|
|
4
4
|
declare class DeliveryApi {
|
|
5
|
-
getClientSideVersionStatus: () =>
|
|
5
|
+
getClientSideVersionStatus: () => any;
|
|
6
|
+
getServerSideVersionStatus: (request: any) => any;
|
|
7
|
+
getVersionStatusFromHeaders: (headers: any) => any;
|
|
6
8
|
getVersionStatusFromHostname: (currentHostname: any) => "published" | "latest";
|
|
7
9
|
search: (query: any, linkDepth: any, project: any, env: any) => Promise<import("contensis-core-api").PagedList<import("contensis-delivery-api/lib/models").Entry>>;
|
|
8
10
|
getClient: (deliveryApiStatus: string | undefined, project: any, env: any) => Client;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zengenti/contensis-react-base",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.80",
|
|
4
4
|
"repository": "https://github.com/zengenti/contensis-react-base",
|
|
5
5
|
"license": "None",
|
|
6
6
|
"description": "Turbocharge your React web apps with Contensis. This package handles all dependencies for creating full featured web apps in React with Contensis and Site View. Routing is driven by Site View, Redux is used for global state management and server-side rendering (SSR) is handled for you. Also taking care of intricate hosting issues such as cache invalidation and supporting authenticated content where required.",
|
package/cjs/App-80a696bc.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"App-80a696bc.js","sources":["../src/util/ContensisDeliveryApi.js","../src/redux/store/history.js","../src/redux/sagas/navigation.js","../src/util/schema.ts","../src/routing/util/expressions.ts","../src/routing/util/queries.ts","../src/routing/redux/sagas.js","../src/user/redux/sagas/register.js","../src/user/util/userHelper.js","../src/user/redux/sagas/resetPassword.js","../src/user/redux/sagas/index.js","../src/redux/sagas/index.js","../src/util/pickProject.js","../src/app/App.tsx"],"sourcesContent":["import { Client } from 'contensis-delivery-api';\nimport { setSurrogateKeys } from '../routing/redux/actions';\nimport { reduxStore } from '~/redux/store/store';\n\nconst storeSurrogateKeys = response => {\n const keys = response.headers.get\n ? response.headers.get('surrogate-key')\n : response.headers.map['surrogate-key'];\n if (keys) reduxStore?.dispatch(setSurrogateKeys(keys, response.url));\n};\n\nconst getClientConfig = project => {\n let config = DELIVERY_API_CONFIG; /* global DELIVERY_API_CONFIG */\n config.responseHandler = {};\n\n if (project) {\n config.projectId = project;\n }\n\n // we only want the surrogate key header in a server context\n if (typeof window === 'undefined') {\n config.defaultHeaders = {\n 'x-require-surrogate-key': true,\n };\n config.responseHandler[200] = storeSurrogateKeys;\n }\n\n if (\n typeof window !== 'undefined' &&\n PROXY_DELIVERY_API /* global PROXY_DELIVERY_API */\n ) {\n // ensure a relative url is used to bypass the need for CORS (separate OPTIONS calls)\n config.rootUrl = '';\n config.responseHandler[404] = () => null;\n }\n return config;\n};\n\nexport * from 'contensis-delivery-api';\n\nclass DeliveryApi {\n getClientSideVersionStatus = () => {\n if (typeof window != 'undefined') {\n const currentHostname = window.location.hostname;\n return this.getVersionStatusFromHostname(currentHostname);\n }\n return null;\n };\n getVersionStatusFromHostname = currentHostname => {\n if (currentHostname.indexOf('localhost') > -1) return 'latest';\n\n if (currentHostname.endsWith('contensis.cloud')) {\n if (currentHostname.indexOf('preview.') > -1) {\n return 'latest';\n } else {\n return 'published';\n }\n }\n\n if (currentHostname.endsWith('cloud.contensis.com')) {\n if (currentHostname.indexOf('preview-') > -1) {\n return 'latest';\n } else {\n return 'published';\n }\n }\n\n return 'published';\n };\n search = (query, linkDepth, project, env) => {\n const client = Client.create(getClientConfig(project, env));\n return client.entries.search(\n query,\n typeof linkDepth !== 'undefined' ? linkDepth : 1\n );\n };\n getClient = (deliveryApiStatus = 'published', project, env) => {\n const baseConfig = getClientConfig(project, env);\n baseConfig.versionStatus = deliveryApiStatus;\n return Client.create(baseConfig);\n };\n getEntry = (\n id,\n linkDepth = 0,\n deliveryApiStatus = 'published',\n project,\n env\n ) => {\n const baseConfig = getClientConfig(project, env);\n baseConfig.versionStatus = deliveryApiStatus;\n const client = Client.create(baseConfig);\n // return client.entries.get(id, linkDepth);\n return client.entries.get({ id, linkDepth });\n };\n}\n\nexport const deliveryApi = new DeliveryApi();\n\nclass CacheNode {\n constructor(key, value) {\n this.key = key;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n}\n\nclass LruCache {\n constructor(limit = 100) {\n this.map = {};\n this.head = null;\n this.tail = null;\n this.limit = limit || 100;\n this.size = 0;\n }\n\n get(key) {\n if (this.map[key]) {\n let value = this.map[key].value;\n let node = new CacheNode(key, value);\n this.remove(key);\n this.setHead(node);\n return value;\n }\n }\n\n set(key, value) {\n let node = new CacheNode(key, value);\n if (this.map[key]) {\n this.remove(key);\n } else {\n if (this.size >= this.limit) {\n delete this.map[this.tail.key];\n this.size--;\n this.tail = this.tail.prev;\n this.tail.next = null;\n }\n }\n this.setHead(node);\n }\n\n setHead(node) {\n node.next = this.head;\n node.prev = null;\n if (this.head) {\n this.head.prev = node;\n }\n this.head = node;\n if (!this.tail) {\n this.tail = node;\n }\n this.size++;\n this.map[node.key] = node;\n }\n\n remove(key) {\n let node = this.map[key];\n if (node.prev) {\n node.prev.next = node.next;\n } else {\n this.head = node.next;\n }\n if (node.next) {\n node.next.prev = node.prev;\n } else {\n this.tail = node.prev;\n }\n delete this.map[key];\n this.size--;\n }\n}\n\nclass CachedSearch {\n cache = new LruCache();\n taxonomyLookup = {};\n\n search(query, linkDepth, project, env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(\n project + JSON.stringify(query) + linkDepth.toString(),\n () => client.entries.search(query, linkDepth)\n );\n }\n\n searchUsingPost(query, linkDepth = 0, project = '', env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(\n project + JSON.stringify(query) + linkDepth.toString(),\n () => client.entries.searchUsingPost(query, linkDepth)\n );\n }\n\n get(id, linkDepth, versionStatus, project, env) {\n const client = Client.create(getClientConfig(project, env));\n client.clientConfig.versionStatus = versionStatus;\n return this.request(id, () => client.entries.get({ id, linkDepth }));\n }\n\n getContentType(id, project, env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(`[CONTENT TYPE] ${id} ${project}`, () =>\n client.contentTypes.get(id)\n );\n }\n\n getTaxonomyNode(key, project, env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(`[TAXONOMY NODE] ${key}`, () =>\n client.taxonomy\n .resolveChildren(key)\n .then(node => this.extendTaxonomyNode(node))\n );\n }\n\n getRootNode(options, project, env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(`${project} / ${JSON.stringify(options)}`, () =>\n client.nodes.getRoot(options)\n );\n }\n\n getNode(options, project, env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(\n `${project} ${(options && options.path) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.get(options)\n );\n }\n\n getAncestors(options, project, env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(\n `${project} [A] ${(options && options.id) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.getAncestors(options)\n );\n }\n\n getChildren(options, project, env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(\n `${project} [C] ${(options && options.id) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.getChildren(options)\n );\n }\n\n getSiblings(options, project, env) {\n const client = Client.create(getClientConfig(project, env));\n return this.request(\n `${project} [S] ${(options && options.id) || options} ${JSON.stringify(\n options\n )}`,\n () => client.nodes.getSiblings(options)\n );\n }\n\n request(key, execute) {\n if (!this.cache.get(key) || typeof window == 'undefined') {\n let promise = execute();\n this.cache.set(key, promise);\n promise.catch(() => {\n this.cache.remove(key);\n });\n }\n return this.cache.get(key);\n }\n}\n\nexport const cachedSearch = new CachedSearch();\n","import { createBrowserHistory, createMemoryHistory } from 'history';\n\n// Create a history depending on the environment\nconst selectedHistory =\n typeof window !== 'undefined' ? createBrowserHistory : createMemoryHistory;\n\nexport const history = (options = {}) => selectedHistory(options);\nexport const browserHistory = selectedHistory();\n","import { takeEvery, put, select } from 'redux-saga/effects';\nimport * as log from 'loglevel';\n\nimport { deliveryApi } from '~/util/ContensisDeliveryApi';\nimport {\n GET_NODE_TREE,\n SET_NODE_TREE,\n GET_NODE_TREE_ERROR,\n} from '~/redux/types/navigation';\nimport { hasNavigationTree } from '~/redux/selectors/navigation';\nimport { selectVersionStatus } from '~/redux/selectors/version';\nimport { selectCurrentProject } from '~/routing/redux/selectors';\n\nexport const navigationSagas = [takeEvery(GET_NODE_TREE, ensureNodeTreeSaga)];\n\nexport function* ensureNodeTreeSaga(action) {\n const state = yield select();\n try {\n if (!hasNavigationTree(state)) {\n const deliveryApiVersionStatus = yield select(selectVersionStatus);\n const project = yield select(selectCurrentProject);\n const nodes = yield deliveryApi\n .getClient(deliveryApiVersionStatus, project)\n .nodes.getRoot({\n depth: action.treeDepth || 0,\n });\n if (nodes) {\n yield put({ type: SET_NODE_TREE, nodes });\n } else {\n yield put({ type: GET_NODE_TREE_ERROR });\n }\n }\n } catch (ex) {\n log.error(...['Error running ensureNodeTreeSaga:', ex]);\n yield put({ type: GET_NODE_TREE_ERROR, error: ex.toString() });\n }\n}\n","export const DataFormats = {\n entry: 'entry',\n webpage: 'webpage',\n};\n\nconst sys = {\n contentTypeId: 'sys.contentTypeId',\n dataFormat: 'sys.dataFormat',\n filename: 'sys.properties.filename',\n id: 'sys.id',\n includeInSearch: 'sys.metadata.includeInSearch',\n slug: 'sys.slug',\n uri: 'sys.uri',\n versionStatus: 'sys.versionStatus',\n};\n\nexport const Fields = {\n entryTitle: 'entryTitle',\n entryDescription: 'entryDescription',\n keywords: 'keywords',\n sys,\n contentTypeId: 'sys.contentTypeId',\n wildcard: '*',\n};\n\nexport const VersionStatus = {\n published: 'published',\n latest: 'latest',\n};\n","import { IExpression } from 'contensis-core-api';\nimport { Op } from 'contensis-delivery-api';\nimport { Fields } from '~/util/schema';\n\nexport const fieldExpression = (\n field: string,\n value: string | string[],\n operator = 'equalTo',\n weight = null\n) => {\n if (!field || !value) return [];\n if (Array.isArray(value)) return equalToOrIn(field, value, operator);\n else\n return !weight\n ? [Op[operator](field, value)]\n : [Op[operator](field, value).weight(weight)];\n};\n\nexport const defaultExpressions = (\n versionStatus: 'published' | 'latest'\n): IExpression[] => {\n return [Op.equalTo(Fields.sys.versionStatus, versionStatus)];\n};\n\nconst equalToOrIn = (field: string, arr: string[], operator = 'equalTo') =>\n arr.length === 0\n ? []\n : arr.length === 1\n ? [Op[operator](field, arr[0])]\n : [Op.in(field, ...arr)];\n","import { Query } from '~/util/ContensisDeliveryApi';\nimport { fieldExpression, defaultExpressions } from './expressions';\n\nexport const routeEntryByFieldsQuery = (\n id: string,\n language = 'en-GB',\n fields: string[] = [],\n versionStatus: 'published' | 'latest' = 'published'\n) => {\n const query = new Query(\n ...[\n ...fieldExpression('sys.id', id),\n ...fieldExpression('sys.language', language),\n ...defaultExpressions(versionStatus),\n ]\n );\n query.fields = fields;\n return query;\n};\n","import * as log from 'loglevel';\nimport { takeEvery, put, select, call, all } from 'redux-saga/effects';\n\nimport {\n SET_ENTRY,\n SET_ANCESTORS,\n SET_NAVIGATION_PATH,\n SET_ROUTE,\n SET_SIBLINGS,\n UPDATE_LOADING_STATE,\n} from './types';\nimport { GET_NODE_TREE } from '~/redux/types/navigation';\nimport {\n selectCurrentAncestors,\n selectCurrentNode,\n selectCurrentProject,\n selectCurrentSiblings,\n selectMappedEntry,\n selectRouteEntry,\n selectRouteEntryEntryId,\n selectRouteEntryLanguage,\n} from './selectors';\nimport { hasNavigationTree } from '~/redux/selectors/navigation';\nimport { selectVersionStatus } from '~/redux/selectors/version';\nimport { ensureNodeTreeSaga } from '~/redux/sagas/navigation';\nimport { handleRequiresLoginSaga } from '~/user/redux/sagas/login';\n\nimport { findContentTypeMapping } from '../util/find-contenttype-mapping';\nimport { routeEntryByFieldsQuery } from '../util/queries';\nimport { cachedSearch, deliveryApi } from '~/util/ContensisDeliveryApi';\nimport { injectRedux as reduxInjector } from '~/redux/store/injectors';\n\nexport const routingSagas = [\n takeEvery(SET_NAVIGATION_PATH, getRouteSaga),\n takeEvery(SET_ROUTE, setRouteSaga),\n];\n\n/**\n * To navigate / push a specific route via redux middleware\n * @param {path, state} action\n */\nfunction* setRouteSaga(action) {\n yield put({\n type: 'CALL_HISTORY_METHOD',\n payload: {\n method: 'push',\n args: [action.path, action.state],\n },\n });\n}\n\nfunction* getRouteSaga(action) {\n let entry = null;\n try {\n const {\n withEvents,\n routes: { ContentTypeMappings = {} } = {},\n staticRoute,\n } = action;\n\n // Inject redux { key, reducer, saga } provided by staticRoute\n if (staticRoute && staticRoute.route.injectRedux)\n yield call(reduxInjectorSaga, staticRoute.route.injectRedux);\n\n // Variables we will pass to setRouteEntry\n let pathNode = null,\n ancestors = null,\n children = [],\n siblings = null;\n\n let contentTypeMapping = {};\n\n // These variables are the return values from\n // calls to withEvents.onRouteLoad and onRouteLoaded\n let appsays,\n requireLogin = false;\n\n if (withEvents && withEvents.onRouteLoad) {\n appsays = yield withEvents.onRouteLoad(action);\n }\n\n const entryLinkDepth =\n appsays && appsays.entryLinkDepth !== undefined\n ? appsays.entryLinkDepth\n : 2;\n const setContentTypeLimits = !!ContentTypeMappings.find(\n ct => ct.fields || ct.linkDepth || ct.nodeOptions\n );\n\n const state = yield select();\n const routeEntry = selectRouteEntry(state, 'js');\n const routeNode = selectCurrentNode(state, 'js');\n const currentPath = action.path; //selectCurrentPath(state);\n const deliveryApiStatus = selectVersionStatus(state);\n const project = selectCurrentProject(state);\n // const isHome = currentPath === '/';\n const isPreview = currentPath && currentPath.startsWith('/preview/');\n const defaultLang = (appsays && appsays.defaultLang) || 'en-GB';\n\n if (\n !isPreview &&\n ((appsays && appsays.customRouting) ||\n (staticRoute && !staticRoute.route.fetchNode) ||\n (routeEntry &&\n action.statePath === action.path &&\n (appsays && appsays.refetchNode) !== true))\n ) {\n // To prevent erroneous 404s and wasted network calls, this covers\n // - appsays customRouting and does SET_ENTRY etc. via the consuming app\n // - all staticRoutes (where custom 'route.fetchNode' attribute is falsey)\n // - standard Contensis SiteView Routing where we already have that entry in state\n if (\n routeEntry &&\n (!staticRoute || (staticRoute.route && staticRoute.route.fetchNode))\n ) {\n pathNode = { ...routeNode, entry: null };\n pathNode.entry = entry = routeEntry;\n //Do nothing, the entry is allready the right one.\n // yield put({\n // type: SET_ENTRY,\n // entry,\n // node: routeNode,\n // isLoading: false,\n // });\n yield put({\n type: UPDATE_LOADING_STATE,\n isLoading: false,\n });\n } else\n yield call(\n setRouteEntry,\n routeEntry,\n yield select(selectCurrentNode),\n yield select(selectCurrentAncestors),\n yield select(selectCurrentSiblings)\n );\n } else {\n // Handle preview routes\n if (isPreview) {\n let splitPath = currentPath.split('/');\n let entryGuid = splitPath[2];\n let language = defaultLang;\n if (splitPath.length >= 3) {\n //set lang key if available in the path, else use default lang\n //assumes preview url on content type is: http://preview.ALIAS.contensis.cloud/preview/{GUID}/{LANG}\n if (splitPath.length == 4) language = splitPath[3];\n // According to product dev we cannot use Node API\n // for previewing entries as it gives a response of []\n // -- apparently it is not correct to request latest content\n // with Node API\n\n let previewEntry = yield deliveryApi\n .getClient(deliveryApiStatus, project)\n .entries.get({\n id: entryGuid,\n language,\n linkDepth: entryLinkDepth,\n });\n if (previewEntry) {\n pathNode = { entry: previewEntry };\n ({ entry } = pathNode || {});\n }\n }\n } else {\n // Handle all other routes\n pathNode = yield cachedSearch.getNode(\n {\n depth: 0,\n path: currentPath,\n entryFields: setContentTypeLimits\n ? ['sys.contentTypeId', 'sys.id']\n : '*',\n entryLinkDepth: setContentTypeLimits ? 0 : entryLinkDepth,\n language: defaultLang,\n versionStatus: deliveryApiStatus,\n },\n project\n );\n ({ entry } = pathNode || {});\n\n if (setContentTypeLimits && pathNode?.entry?.sys?.id) {\n // Get fields[] and linkDepth from ContentTypeMapping to get the entry data\n // and current node's ordinates at a specified depth with specified fields\n contentTypeMapping =\n findContentTypeMapping(\n ContentTypeMappings,\n pathNode.entry.sys.contentTypeId\n ) || {};\n const { fields, linkDepth } = contentTypeMapping;\n const query = routeEntryByFieldsQuery(\n pathNode.entry.sys.id,\n pathNode.entry.sys.language,\n fields,\n deliveryApiStatus\n );\n const payload = yield cachedSearch.search(\n query,\n typeof linkDepth !== 'undefined' ? linkDepth : entryLinkDepth || 0,\n project\n );\n if (payload?.items?.length > 0) {\n pathNode.entry = entry = payload.items[0];\n }\n }\n }\n\n // make calls to fetch node ancestors, children,\n // siblings or entire node tree\n [ancestors, children, siblings] = yield call(\n resolveCurrentNodeOrdinates,\n {\n appsays,\n contentTypeMapping,\n language: defaultLang,\n path: currentPath,\n pathNode,\n project,\n versionStatus: deliveryApiStatus,\n }\n );\n\n if (children) pathNode.children = children;\n }\n\n const { entryMapper, injectRedux } =\n findContentTypeMapping(\n ContentTypeMappings,\n pathNode?.entry?.sys?.contentTypeId\n ) || {};\n\n // Inject redux { key, reducer, saga } provided by ContentTypeMapping\n if (injectRedux) yield call(reduxInjectorSaga, injectRedux);\n\n if (withEvents && withEvents.onRouteLoaded) {\n // Check if the app has provided a requireLogin boolean flag or groups array\n // in addition to checking if requireLogin is set in the route definition\n ({ requireLogin } =\n (yield withEvents.onRouteLoaded({ ...action, entry })) || {});\n }\n\n if (requireLogin !== false) {\n // Do not call the login feature saga if requireLogin is false\n yield call(handleRequiresLoginSaga, {\n ...action,\n entry,\n requireLogin,\n });\n }\n\n if (!appsays || !appsays.preventScrollTop) {\n // Scroll into View\n if (typeof window !== 'undefined') window.scrollTo(0, 0);\n }\n\n if (pathNode?.entry?.sys?.id) {\n entry = pathNode.entry;\n\n yield call(\n setRouteEntry,\n entry,\n pathNode,\n ancestors,\n siblings,\n entryMapper,\n false,\n appsays?.refetchNode\n );\n } else {\n if (staticRoute)\n yield call(setRouteEntry, null, pathNode, ancestors, siblings);\n else yield call(do404);\n }\n } catch (e) {\n log.error(...['Error running route saga:', e, e.stack]);\n yield call(do500, e);\n }\n}\n\nfunction* resolveCurrentNodeOrdinates({\n appsays,\n contentTypeMapping,\n language,\n path,\n pathNode,\n project,\n versionStatus,\n}) {\n const apiCall = [() => null, () => null, () => null, () => null];\n\n // if appsays customNavigation: true, we will set doNavigation to false\n // if appsays customNavigation: { ... }, we will set doNavigation to the customNavigation object and check for child elements\n // if appsays nothing we will set doNavigation to true and continue to do navigation calls\n const doNavigation =\n !appsays ||\n (appsays?.customNavigation === true\n ? false\n : appsays?.customNavigation || true);\n\n const {\n entryLinkDepth = 0,\n fields,\n linkDepth,\n nodeOptions = {},\n } = contentTypeMapping;\n\n if (pathNode && pathNode.id) {\n if (doNavigation === true || doNavigation.ancestors) {\n apiCall[0] = function* getAncestors() {\n try {\n return yield cachedSearch.getAncestors(\n {\n id: pathNode.id,\n language,\n versionStatus,\n },\n project\n );\n } catch (ex) {\n log.info('Problem fetching ancestors', ex);\n return [];\n }\n };\n }\n\n const childrenDepth =\n doNavigation === true || doNavigation.children === true\n ? 1\n : (doNavigation && doNavigation.children) || 0;\n\n if (\n (typeof nodeOptions?.children === 'undefined' && childrenDepth > 0) ||\n nodeOptions.children\n ) {\n const childrenOptions =\n typeof nodeOptions.children === 'boolean' ? {} : nodeOptions.children;\n apiCall[1] = function* getChildren() {\n try {\n return yield cachedSearch.getNode(\n {\n depth:\n childrenOptions.depth !== undefined\n ? childrenOptions.depth\n : childrenDepth,\n path,\n entryFields: childrenOptions.fields || fields || undefined,\n entryLinkDepth:\n typeof childrenOptions.linkDepth !== 'undefined'\n ? childrenOptions.linkDepth\n : typeof linkDepth !== 'undefined'\n ? linkDepth\n : entryLinkDepth,\n language,\n versionStatus,\n },\n project\n );\n } catch (ex) {\n log.info('Problem fetching children', ex);\n return [];\n }\n };\n }\n\n if (\n (typeof nodeOptions?.siblings === 'undefined' && doNavigation.siblings) ||\n nodeOptions.siblings\n ) {\n apiCall[2] = function* getSiblings() {\n try {\n return yield cachedSearch.getSiblings(\n {\n id: pathNode.id,\n entryFields: nodeOptions?.siblings?.fields || fields || undefined,\n entryLinkDepth:\n typeof nodeOptions?.siblings?.linkDepth !== 'undefined'\n ? nodeOptions.siblings.linkDepth\n : typeof linkDepth !== 'undefined'\n ? linkDepth\n : entryLinkDepth,\n includeInMenu: true,\n language,\n versionStatus,\n },\n project\n );\n } catch (ex) {\n log.info('Problem fetching siblings', ex);\n return [];\n }\n };\n }\n }\n\n const isTreeLoaded = yield select(hasNavigationTree);\n if (!isTreeLoaded && (doNavigation === true || doNavigation.tree))\n apiCall[3] = function* getNodeTree() {\n const treeDepth =\n doNavigation === true ||\n !doNavigation.tree ||\n doNavigation.tree === true\n ? 2\n : doNavigation.tree;\n\n if (typeof window !== 'undefined') {\n return yield put({\n type: GET_NODE_TREE,\n treeDepth,\n });\n } else {\n return yield call(ensureNodeTreeSaga, {\n treeDepth,\n });\n }\n };\n\n const [loadAncestors, loadChildren, loadSiblings, loadTree] = apiCall;\n const [ancestors, nodeWithChildren, siblings] = yield all([\n loadAncestors(),\n loadChildren(),\n loadSiblings(),\n loadTree(),\n ]);\n return [ancestors, nodeWithChildren?.children, siblings];\n}\n\nfunction* setRouteEntry(\n entry,\n node,\n ancestors,\n siblings,\n entryMapper,\n notFound = false,\n remapEntry = false\n) {\n const entrySys = (entry && entry.sys) || {};\n\n const currentEntryId = yield select(selectRouteEntryEntryId);\n const currentEntryLang = yield select(selectRouteEntryLanguage);\n const mappedEntry =\n currentEntryId === entrySys.id &&\n currentEntryLang === entrySys.language &&\n remapEntry === false\n ? (yield select(selectMappedEntry, 'js')) || {}\n : yield mapRouteEntry(entryMapper, {\n ...node,\n entry,\n ancestors,\n siblings,\n });\n\n yield all([\n put({\n type: SET_ENTRY,\n id: entrySys.id,\n entry,\n mappedEntry,\n node,\n notFound,\n }),\n ancestors &&\n put({\n type: SET_ANCESTORS,\n ancestors,\n }),\n siblings &&\n put({\n type: SET_SIBLINGS,\n siblings,\n }),\n ]);\n}\n\nfunction* mapRouteEntry(entryMapper, node) {\n try {\n if (typeof entryMapper === 'function') {\n const state = yield select();\n const mappedEntry = yield call(entryMapper, node, state);\n return mappedEntry;\n }\n } catch (e) {\n log.error(...['Error running entryMapper:', e, e.stack]);\n }\n return;\n}\n\nfunction* do404() {\n yield call(clientReloadHitServer);\n yield put({\n type: SET_ENTRY,\n id: null,\n entry: null,\n notFound: true,\n });\n}\n\nfunction* clientReloadHitServer() {\n const stateEntry = yield select(selectRouteEntry);\n\n // If in client and there is a stateEntry.sys field reload the page,\n // on the 2nd load stateEntry.sys should be null at this point,\n // we do not wish to reload again and get stuck in an infinite reloading loop\n if (typeof window !== 'undefined' && (stateEntry?.sys || null)) {\n window.location.reload();\n }\n}\n\nfunction* do500(error) {\n yield put({\n type: SET_ENTRY,\n id: null,\n entry: null,\n notFound: true,\n isError: true,\n error,\n statusCode: error && error.status ? error.status : 500,\n });\n}\n\nfunction* reduxInjectorSaga(injectorFn) {\n if (typeof injectorFn === 'function') {\n const { key, reducer, saga } = yield injectorFn();\n reduxInjector({ key, reducer, saga });\n }\n}\n","import { to } from 'await-to-js';\nimport { put, select, takeEvery } from 'redux-saga/effects';\nimport { setRoute } from '~/routing/redux/actions';\nimport { selectCurrentSearch } from '~/routing/redux/selectors';\nimport { queryParams } from '~/util/navigation';\nimport {\n REGISTER_USER,\n REGISTER_USER_SUCCESS,\n REGISTER_USER_FAILED,\n} from '../types';\n\nexport const registerSagas = [\n takeEvery(REGISTER_USER, registerSaga),\n takeEvery(REGISTER_USER_SUCCESS, redirectSaga),\n];\n\nfunction* registerSaga({ user, mappers }) {\n let requestBody = user;\n // Allow use of request mapper to take a user object\n // of any format and return the payload for the api request\n if (mappers && mappers.request && typeof mappers.request === 'function') {\n requestBody = yield mappers.request(user);\n }\n\n // Make POST call to register API\n const response = yield fetch('/account/register', {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(requestBody),\n });\n\n if (response.ok) {\n let mappedResponse;\n const [, responseBody] = yield to(response.json());\n if (responseBody) {\n // Allow use of response mapper to convert the successful user object\n // from the api response body into a user object of any format\n if (\n mappers &&\n mappers.response &&\n typeof mappers.response === 'function'\n ) {\n mappedResponse = yield mappers.response(responseBody);\n }\n // Update user object with mappedResponse or responseBody\n yield put({\n type: REGISTER_USER_SUCCESS,\n user: mappedResponse || responseBody,\n });\n } else {\n // OK response but unable to parse the response body\n yield put({\n type: REGISTER_USER_FAILED,\n error: {\n message:\n 'Unable to parse the created user from the register service response',\n },\n });\n }\n } else {\n // Not OK responses, these can be due to service availability\n // or status codes echoed from the responses received from\n // management api when registering the user\n const [, errorResponse] = yield to(response.json());\n const error = (errorResponse && errorResponse.error) || errorResponse || {};\n // Get something meaningful from the response if there is no message in the body\n if (!error.message) {\n error.message = `Registration service: ${response.statusText}`;\n error.status = response.status;\n }\n yield put({\n type: REGISTER_USER_FAILED,\n error,\n });\n }\n}\n\nfunction* redirectSaga() {\n // Check if querystring contains a redirect_uri\n const currentQs = queryParams(yield select(selectCurrentSearch));\n const redirectUri = currentQs.redirect_uri || currentQs.redirect;\n\n // We must use redux based navigation to preserve the registration state\n if (redirectUri) yield put(setRoute(redirectUri));\n}\n","const PAP_URL = 'https://pap.zengenti.com';\n\nconst USER_ENVS_URI = 'my-environments';\nconst USER_RESEND_VERIFICATION_URI = 'account/verify/resend';\nconst USER_REQUEST_PASSWORD_RESET_URI = 'account/reset';\nconst USER_RESET_PASSWORD_URI = 'account/reset/password';\n\nconst USER_ENVS_URL = `${PAP_URL}/${USER_ENVS_URI}`;\n\nconst BASE_OPTIONS = {\n method: 'GET',\n headers: { 'Content-Type': 'application/json' },\n};\n\nexport class UserHelper {\n static async GetUsersEnvironments(securityToken) {\n const options = {\n ...BASE_OPTIONS,\n headers: {\n 'x-security-token': securityToken,\n },\n };\n return await UserHelper.get(USER_ENVS_URL, options);\n }\n static async ResendUserVerification(userEmail) {\n const options = {\n ...BASE_OPTIONS,\n };\n return await UserHelper.get(\n `/${USER_RESEND_VERIFICATION_URI}?user=${userEmail}`,\n options\n );\n }\n static async RequestPasswordReset(userEmailObject) {\n const options = {\n ...BASE_OPTIONS,\n body: JSON.stringify(userEmailObject),\n };\n options.method = 'POST';\n\n return await UserHelper.get(`/${USER_REQUEST_PASSWORD_RESET_URI}`, options);\n }\n static async ResetPassword(resetPasswordObject) {\n const options = {\n ...BASE_OPTIONS,\n body: JSON.stringify(resetPasswordObject),\n };\n options.method = 'POST';\n\n return await UserHelper.get(`/${USER_RESET_PASSWORD_URI}`, options);\n }\n\n static async get(url, options = BASE_OPTIONS) {\n try {\n const responseBody = await api(url, options);\n return responseBody;\n } catch (err) {\n return { error: { message: err.message } };\n }\n }\n}\n\nasync function api(url, options) {\n return fetch(url, options)\n .then(async response => {\n return response.json().then(data => data);\n })\n .catch(error => {\n throw error;\n });\n}\n","import { put, takeEvery, select } from 'redux-saga/effects';\nimport { to } from 'await-to-js';\nimport { getManagementApiClient } from '~/user/util/ContensisManagementApi';\nimport { UserHelper } from '~/user/util/userHelper';\nimport { selectClientCredentials } from '../selectors';\nimport {\n REQUEST_USER_PASSWORD_RESET,\n RESET_USER_PASSWORD,\n REQUEST_USER_PASSWORD_RESET_ERROR,\n REQUEST_USER_PASSWORD_RESET_SENDING,\n REQUEST_USER_PASSWORD_RESET_SUCCESS,\n RESET_USER_PASSWORD_ERROR,\n RESET_USER_PASSWORD_SENDING,\n RESET_USER_PASSWORD_SUCCESS,\n CHANGE_USER_PASSWORD,\n CHANGE_USER_PASSWORD_SENDING,\n CHANGE_USER_PASSWORD_SUCCESS,\n CHANGE_USER_PASSWORD_ERROR,\n} from '../types';\n\nexport const resetPasswordSagas = [\n takeEvery(REQUEST_USER_PASSWORD_RESET, requestPasswordResetSaga),\n takeEvery(RESET_USER_PASSWORD, resetPasswordSaga),\n takeEvery(CHANGE_USER_PASSWORD, changePasswordSaga),\n];\n\nfunction* requestPasswordResetSaga(action) {\n const userEmailObject = action.userEmailObject;\n yield put({\n type: REQUEST_USER_PASSWORD_RESET_SENDING,\n });\n if (userEmailObject && userEmailObject.userEmail) {\n try {\n const passwordResetRequestResponse =\n yield UserHelper.RequestPasswordReset(userEmailObject);\n\n if (passwordResetRequestResponse) {\n if (!passwordResetRequestResponse.error) {\n yield put({\n type: REQUEST_USER_PASSWORD_RESET_SUCCESS,\n });\n } else {\n yield put({\n type: REQUEST_USER_PASSWORD_RESET_ERROR,\n error: passwordResetRequestResponse.error.message,\n });\n }\n } else {\n yield put({\n type: REQUEST_USER_PASSWORD_RESET_ERROR,\n error: 'No response from server',\n });\n }\n } catch (error) {\n yield put({\n type: REQUEST_USER_PASSWORD_RESET_ERROR,\n error: error && error.toString(),\n });\n }\n } else {\n yield put({\n type: REQUEST_USER_PASSWORD_RESET_ERROR,\n error: 'Invalid object',\n });\n }\n}\n\nfunction* resetPasswordSaga(action) {\n const resetPasswordObject = action.resetPasswordObject;\n\n yield put({\n type: RESET_USER_PASSWORD_SENDING,\n });\n if (resetPasswordObject.token && resetPasswordObject.password) {\n try {\n const resetPasswordResponse = yield UserHelper.ResetPassword(\n resetPasswordObject\n );\n\n if (resetPasswordResponse) {\n if (!resetPasswordResponse.error) {\n yield put({\n type: RESET_USER_PASSWORD_SUCCESS,\n });\n } else {\n const error =\n (resetPasswordResponse.error.data &&\n resetPasswordResponse.error.data.length > 0 &&\n resetPasswordResponse.error.data[0].message) ||\n resetPasswordResponse.error.message;\n yield put({\n type: RESET_USER_PASSWORD_ERROR,\n error,\n });\n }\n } else {\n yield put({\n type: RESET_USER_PASSWORD_ERROR,\n error: 'No response from server',\n });\n }\n } catch (error) {\n yield put({\n type: RESET_USER_PASSWORD_ERROR,\n error: error && error.toString(),\n });\n }\n } else {\n yield put({\n type: RESET_USER_PASSWORD_ERROR,\n error: 'Invalid object',\n });\n }\n}\n\n// userId\n// existingPassword\n// newPassword\nfunction* changePasswordSaga(action) {\n if (\n !action ||\n !action.userId ||\n !action.currentPassword ||\n !action.newPassword\n ) {\n yield put({\n type: CHANGE_USER_PASSWORD_ERROR,\n error: 'Invalid action object sent to changePassword saga',\n });\n return;\n }\n\n try {\n const changePasswordObject = {\n userId: action.userId,\n existing: action.currentPassword,\n new: action.newPassword,\n };\n\n yield put({\n type: CHANGE_USER_PASSWORD_SENDING,\n });\n const clientCredentials = yield select(selectClientCredentials, 'js');\n const client = yield getManagementApiClient({ ...clientCredentials });\n\n const [err, res] = yield to(\n client.security.users.updatePassword(changePasswordObject)\n );\n\n if (err) {\n const error =\n (err?.data?.data?.length > 0 && err.data.data[0].message) ||\n err?.data?.message;\n yield put({\n type: CHANGE_USER_PASSWORD_ERROR,\n error,\n });\n return;\n }\n\n // // eslint-disable-next-line no-console\n // console.log(changePasswordObject);\n // // eslint-disable-next-line no-console\n // console.log(userCredentialsObject);\n yield put({\n type: CHANGE_USER_PASSWORD_SUCCESS,\n });\n } catch (error) {\n yield put({\n type: CHANGE_USER_PASSWORD_ERROR,\n error: error && error.toString(),\n });\n }\n}\n","import { loginSagas } from './login';\nimport { registerSagas } from './register';\nimport { resetPasswordSagas } from './resetPassword';\n\nexport const userSagas = [\n ...loginSagas,\n ...registerSagas,\n ...resetPasswordSagas,\n];\n","// index.js\nimport { all } from 'redux-saga/effects';\nimport { navigationSagas } from './navigation';\nimport { routingSagas } from '~/routing/redux/sagas';\nimport { userSagas } from '~/user/redux/sagas';\n\nexport default function (featureSagas = []) {\n return function* rootSaga() {\n const subSagas = [...routingSagas, ...navigationSagas, ...userSagas];\n yield all([...subSagas, ...featureSagas]);\n };\n}\n","const servers = SERVERS; /* global SERVERS */\nconst alias = servers.alias.toLowerCase();\nconst publicUri = PUBLIC_URI; /* global PUBLIC_URI */\nconst projects = PROJECTS; /* global PROJECTS */\n\n// return a projectId via the request hostname\nconst pickProject = (hostname, query) => {\n // if localhost we can only infer via a querystring, and take your word for it\n if (hostname == 'localhost') {\n return (query && query.p) || projects[0].id;\n }\n\n // if hostname is the actual public uri we can return the first project from the list\n if (hostname == publicUri) {\n return projects[0].id;\n }\n\n let project = 'unknown';\n\n // // go through all the defined projects\n // Object.entries(projects).map(([, p]) => {\n const p = projects[0];\n\n // check if we're accessing via the project's public uri\n if (hostname.includes(p.publicUri)) project = p.id;\n\n // the url structure is different for website (we don't prefix)\n if (p.id.startsWith('website')) {\n // check for internal and external hostnames\n // we check live and preview distinctly so our rule does not clash with\n // hostnames that use a project prefix\n if (\n hostname.includes(`live-${alias}.cloud.contensis.com`) ||\n hostname.includes(`live.${alias}.contensis.cloud`) ||\n hostname.includes(`preview-${alias}.cloud.contensis.com`) ||\n hostname.includes(`preview.${alias}.contensis.cloud`)\n )\n project = p.id;\n } else {\n // check for internal and external hostnames, prefixed with the projectId\n if (\n hostname.includes(`${p.id.toLowerCase()}-${alias}.cloud.contensis.com`) ||\n hostname.includes(`${p.id.toLowerCase()}.${alias}.contensis.cloud`)\n )\n project = p.id;\n }\n // });\n return project === 'unknown' ? p.id : project;\n};\n\nexport default pickProject;\n","import React from 'react';\nimport { hot } from 'react-hot-loader';\nimport { AppRootProps } from '../routing/routes';\nimport { RouteLoader } from '../routing';\n\nconst AppRoot = (props: AppRootProps) => {\n return <RouteLoader {...props} />;\n};\n\nexport default hot(module)(AppRoot);\n"],"names":["storeSurrogateKeys","response","keys","headers","get","map","reduxStore","dispatch","setSurrogateKeys","url","getClientConfig","project","config","DELIVERY_API_CONFIG","responseHandler","projectId","window","defaultHeaders","PROXY_DELIVERY_API","rootUrl","DeliveryApi","getClientSideVersionStatus","currentHostname","location","hostname","getVersionStatusFromHostname","indexOf","endsWith","search","query","linkDepth","env","client","Client","create","entries","getClient","deliveryApiStatus","baseConfig","versionStatus","getEntry","id","deliveryApi","CacheNode","constructor","key","value","next","prev","LruCache","limit","head","tail","size","node","remove","setHead","set","CachedSearch","cache","taxonomyLookup","request","JSON","stringify","toString","searchUsingPost","clientConfig","getContentType","contentTypes","getTaxonomyNode","taxonomy","resolveChildren","then","extendTaxonomyNode","getRootNode","options","nodes","getRoot","getNode","path","getAncestors","getChildren","getSiblings","execute","promise","catch","cachedSearch","selectedHistory","createBrowserHistory","createMemoryHistory","history","browserHistory","navigationSagas","takeEvery","GET_NODE_TREE","ensureNodeTreeSaga","action","state","select","hasNavigationTree","deliveryApiVersionStatus","selectVersionStatus","selectCurrentProject","depth","treeDepth","put","type","SET_NODE_TREE","GET_NODE_TREE_ERROR","ex","log","error","sys","contentTypeId","dataFormat","filename","includeInSearch","slug","uri","Fields","entryTitle","entryDescription","keywords","wildcard","fieldExpression","field","operator","weight","Array","isArray","equalToOrIn","Op","defaultExpressions","equalTo","arr","length","in","routeEntryByFieldsQuery","language","fields","Query","routingSagas","SET_NAVIGATION_PATH","getRouteSaga","SET_ROUTE","setRouteSaga","payload","method","args","entry","withEvents","routes","ContentTypeMappings","staticRoute","route","injectRedux","call","reduxInjectorSaga","pathNode","ancestors","children","siblings","contentTypeMapping","appsays","requireLogin","onRouteLoad","entryLinkDepth","undefined","setContentTypeLimits","find","ct","nodeOptions","routeEntry","selectRouteEntry","routeNode","selectCurrentNode","currentPath","isPreview","startsWith","defaultLang","customRouting","fetchNode","statePath","refetchNode","UPDATE_LOADING_STATE","isLoading","setRouteEntry","selectCurrentAncestors","selectCurrentSiblings","splitPath","split","entryGuid","previewEntry","entryFields","findContentTypeMapping","items","resolveCurrentNodeOrdinates","entryMapper","onRouteLoaded","handleRequiresLoginSaga","preventScrollTop","scrollTo","do404","e","stack","do500","apiCall","doNavigation","customNavigation","info","childrenDepth","childrenOptions","includeInMenu","isTreeLoaded","tree","getNodeTree","loadAncestors","loadChildren","loadSiblings","loadTree","nodeWithChildren","all","notFound","remapEntry","entrySys","currentEntryId","selectRouteEntryEntryId","currentEntryLang","selectRouteEntryLanguage","mappedEntry","selectMappedEntry","mapRouteEntry","SET_ENTRY","SET_ANCESTORS","SET_SIBLINGS","clientReloadHitServer","stateEntry","reload","isError","statusCode","status","injectorFn","reducer","saga","reduxInjector","registerSagas","REGISTER_USER","registerSaga","REGISTER_USER_SUCCESS","redirectSaga","user","mappers","requestBody","fetch","Accept","body","ok","mappedResponse","responseBody","to","json","REGISTER_USER_FAILED","message","errorResponse","statusText","currentQs","queryParams","selectCurrentSearch","redirectUri","redirect_uri","redirect","setRoute","PAP_URL","USER_ENVS_URI","USER_RESEND_VERIFICATION_URI","USER_REQUEST_PASSWORD_RESET_URI","USER_RESET_PASSWORD_URI","USER_ENVS_URL","BASE_OPTIONS","UserHelper","GetUsersEnvironments","securityToken","ResendUserVerification","userEmail","RequestPasswordReset","userEmailObject","ResetPassword","resetPasswordObject","api","err","data","resetPasswordSagas","REQUEST_USER_PASSWORD_RESET","requestPasswordResetSaga","RESET_USER_PASSWORD","resetPasswordSaga","CHANGE_USER_PASSWORD","changePasswordSaga","REQUEST_USER_PASSWORD_RESET_SENDING","passwordResetRequestResponse","REQUEST_USER_PASSWORD_RESET_SUCCESS","REQUEST_USER_PASSWORD_RESET_ERROR","RESET_USER_PASSWORD_SENDING","token","password","resetPasswordResponse","RESET_USER_PASSWORD_SUCCESS","RESET_USER_PASSWORD_ERROR","userId","currentPassword","newPassword","CHANGE_USER_PASSWORD_ERROR","changePasswordObject","existing","new","CHANGE_USER_PASSWORD_SENDING","clientCredentials","selectClientCredentials","getManagementApiClient","res","security","users","updatePassword","CHANGE_USER_PASSWORD_SUCCESS","userSagas","loginSagas","featureSagas","rootSaga","subSagas","servers","SERVERS","alias","toLowerCase","publicUri","PUBLIC_URI","projects","PROJECTS","pickProject","p","includes","AppRoot","props","React","RouteLoader"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAMA,kBAAkB,GAAGC,QAAQ,IAAI;AACrC,EAAMC,MAAAA,IAAI,GAAGD,QAAQ,CAACE,OAAT,CAAiBC,GAAjB,GACTH,QAAQ,CAACE,OAAT,CAAiBC,GAAjB,CAAqB,eAArB,CADS,GAETH,QAAQ,CAACE,OAAT,CAAiBE,GAAjB,CAAqB,eAArB,CAFJ,CAAA;AAGA,EAAA,IAAIH,IAAJ,EAAUI,kBAAU,SAAV,IAAAA,kBAAU,WAAV,GAAAA,KAAAA,CAAAA,GAAAA,kBAAU,CAAEC,QAAZ,CAAqBC,wBAAgB,CAACN,IAAD,EAAOD,QAAQ,CAACQ,GAAhB,CAArC,CAAA,CAAA;AACX,CALD,CAAA;;AAOA,MAAMC,eAAe,GAAGC,OAAO,IAAI;AACjC,EAAIC,IAAAA,MAAM,GAAGC,mBAAb,CAAA;AAAkC;;AAClCD,EAAAA,MAAM,CAACE,eAAP,GAAyB,EAAzB,CAAA;;AAEA,EAAA,IAAIH,OAAJ,EAAa;AACXC,IAAAA,MAAM,CAACG,SAAP,GAAmBJ,OAAnB,CAAA;AACD,GANgC;;;AASjC,EAAA,IAAI,OAAOK,MAAP,KAAkB,WAAtB,EAAmC;AACjCJ,IAAAA,MAAM,CAACK,cAAP,GAAwB;AACtB,MAA2B,yBAAA,EAAA,IAAA;AADL,KAAxB,CAAA;AAGAL,IAAAA,MAAM,CAACE,eAAP,CAAuB,GAAvB,IAA8Bd,kBAA9B,CAAA;AACD,GAAA;;AAED,EAAA,IACE,OAAOgB,MAAP,KAAkB,WAAlB,IACAE,kBAAAA;AAAmB;AAFrB,IAGE;AACA;AACAN,IAAAA,MAAM,CAACO,OAAP,GAAiB,EAAjB,CAAA;;AACAP,IAAAA,MAAM,CAACE,eAAP,CAAuB,GAAvB,CAAA,GAA8B,MAAM,IAApC,CAAA;AACD,GAAA;;AACD,EAAA,OAAOF,MAAP,CAAA;AACD,CAzBD,CAAA;;AA6BA,MAAMQ,WAAN,CAAkB;AAAA,EAAA,WAAA,GAAA;AAAA,IAChBC,IAAAA,CAAAA,0BADgB,GACa,MAAM;AACjC,MAAA,IAAI,OAAOL,MAAP,IAAiB,WAArB,EAAkC;AAChC,QAAA,MAAMM,eAAe,GAAGN,MAAM,CAACO,QAAP,CAAgBC,QAAxC,CAAA;AACA,QAAA,OAAO,IAAKC,CAAAA,4BAAL,CAAkCH,eAAlC,CAAP,CAAA;AACD,OAAA;;AACD,MAAA,OAAO,IAAP,CAAA;AACD,KAPe,CAAA;;AAAA,IAQhBG,IAAAA,CAAAA,4BARgB,GAQeH,eAAe,IAAI;AAChD,MAAIA,IAAAA,eAAe,CAACI,OAAhB,CAAwB,WAAxB,IAAuC,CAAC,CAA5C,EAA+C,OAAO,QAAP,CAAA;;AAE/C,MAAA,IAAIJ,eAAe,CAACK,QAAhB,CAAyB,iBAAzB,CAAJ,EAAiD;AAC/C,QAAIL,IAAAA,eAAe,CAACI,OAAhB,CAAwB,UAAxB,CAAsC,GAAA,CAAC,CAA3C,EAA8C;AAC5C,UAAA,OAAO,QAAP,CAAA;AACD,SAFD,MAEO;AACL,UAAA,OAAO,WAAP,CAAA;AACD,SAAA;AACF,OAAA;;AAED,MAAA,IAAIJ,eAAe,CAACK,QAAhB,CAAyB,qBAAzB,CAAJ,EAAqD;AACnD,QAAIL,IAAAA,eAAe,CAACI,OAAhB,CAAwB,UAAxB,CAAsC,GAAA,CAAC,CAA3C,EAA8C;AAC5C,UAAA,OAAO,QAAP,CAAA;AACD,SAFD,MAEO;AACL,UAAA,OAAO,WAAP,CAAA;AACD,SAAA;AACF,OAAA;;AAED,MAAA,OAAO,WAAP,CAAA;AACD,KA5Be,CAAA;;AAAA,IA6BhBE,IAAAA,CAAAA,MA7BgB,GA6BP,CAACC,KAAD,EAAQC,SAAR,EAAmBnB,OAAnB,EAA4BoB,GAA5B,KAAoC;AAC3C,MAAA,MAAMC,MAAM,GAAGC,2BAAM,CAACC,MAAP,CAAcxB,eAAe,CAACC,OAAD,CAA7B,CAAf,CAAA;AACA,MAAA,OAAOqB,MAAM,CAACG,OAAP,CAAeP,MAAf,CACLC,KADK,EAEL,OAAOC,SAAP,KAAqB,WAArB,GAAmCA,SAAnC,GAA+C,CAF1C,CAAP,CAAA;AAID,KAnCe,CAAA;;AAAA,IAoChBM,IAAAA,CAAAA,SApCgB,GAoCJ,CAACC,iBAAiB,GAAG,WAArB,EAAkC1B,OAAlC,EAA2CoB,GAA3C,KAAmD;AAC7D,MAAA,MAAMO,UAAU,GAAG5B,eAAe,CAACC,OAAD,CAAlC,CAAA;AACA2B,MAAAA,UAAU,CAACC,aAAX,GAA2BF,iBAA3B,CAAA;AACA,MAAA,OAAOJ,2BAAM,CAACC,MAAP,CAAcI,UAAd,CAAP,CAAA;AACD,KAxCe,CAAA;;AAAA,IAAA,IAAA,CAyChBE,QAzCgB,GAyCL,CACTC,EADS,EAETX,SAAS,GAAG,CAFH,EAGTO,iBAAiB,GAAG,WAHX,EAIT1B,OAJS,EAKToB,GALS,KAMN;AACH,MAAA,MAAMO,UAAU,GAAG5B,eAAe,CAACC,OAAD,CAAlC,CAAA;AACA2B,MAAAA,UAAU,CAACC,aAAX,GAA2BF,iBAA3B,CAAA;AACA,MAAML,MAAAA,MAAM,GAAGC,2BAAM,CAACC,MAAP,CAAcI,UAAd,CAAf,CAHG;;AAKH,MAAA,OAAON,MAAM,CAACG,OAAP,CAAe/B,GAAf,CAAmB;AAAEqC,QAAAA,EAAF;AAAMX,QAAAA,SAAAA;AAAN,OAAnB,CAAP,CAAA;AACD,KArDe,CAAA;AAAA,GAAA;;AAAA,CAAA;;AAwDLY,MAAAA,WAAW,GAAG,IAAItB,WAAJ,GAApB;;AAEP,MAAMuB,SAAN,CAAgB;AACdC,EAAAA,WAAW,CAACC,GAAD,EAAMC,KAAN,EAAa;AACtB,IAAKD,IAAAA,CAAAA,GAAL,GAAWA,GAAX,CAAA;AACA,IAAKC,IAAAA,CAAAA,KAAL,GAAaA,KAAb,CAAA;AACA,IAAKC,IAAAA,CAAAA,IAAL,GAAY,IAAZ,CAAA;AACA,IAAKC,IAAAA,CAAAA,IAAL,GAAY,IAAZ,CAAA;AACD,GAAA;;AANa,CAAA;;AAShB,MAAMC,QAAN,CAAe;AACbL,EAAAA,WAAW,CAACM,KAAK,GAAG,GAAT,EAAc;AACvB,IAAK7C,IAAAA,CAAAA,GAAL,GAAW,EAAX,CAAA;AACA,IAAK8C,IAAAA,CAAAA,IAAL,GAAY,IAAZ,CAAA;AACA,IAAKC,IAAAA,CAAAA,IAAL,GAAY,IAAZ,CAAA;AACA,IAAA,IAAA,CAAKF,KAAL,GAAaA,KAAK,IAAI,GAAtB,CAAA;AACA,IAAKG,IAAAA,CAAAA,IAAL,GAAY,CAAZ,CAAA;AACD,GAAA;;AAEDjD,EAAAA,GAAG,CAACyC,GAAD,EAAM;AACP,IAAA,IAAI,IAAKxC,CAAAA,GAAL,CAASwC,GAAT,CAAJ,EAAmB;AACjB,MAAA,IAAIC,KAAK,GAAG,IAAA,CAAKzC,GAAL,CAASwC,GAAT,EAAcC,KAA1B,CAAA;AACA,MAAIQ,IAAAA,IAAI,GAAG,IAAIX,SAAJ,CAAcE,GAAd,EAAmBC,KAAnB,CAAX,CAAA;AACA,MAAKS,IAAAA,CAAAA,MAAL,CAAYV,GAAZ,CAAA,CAAA;AACA,MAAKW,IAAAA,CAAAA,OAAL,CAAaF,IAAb,CAAA,CAAA;AACA,MAAA,OAAOR,KAAP,CAAA;AACD,KAAA;AACF,GAAA;;AAEDW,EAAAA,GAAG,CAACZ,GAAD,EAAMC,KAAN,EAAa;AACd,IAAIQ,IAAAA,IAAI,GAAG,IAAIX,SAAJ,CAAcE,GAAd,EAAmBC,KAAnB,CAAX,CAAA;;AACA,IAAA,IAAI,IAAKzC,CAAAA,GAAL,CAASwC,GAAT,CAAJ,EAAmB;AACjB,MAAKU,IAAAA,CAAAA,MAAL,CAAYV,GAAZ,CAAA,CAAA;AACD,KAFD,MAEO;AACL,MAAA,IAAI,IAAKQ,CAAAA,IAAL,IAAa,IAAA,CAAKH,KAAtB,EAA6B;AAC3B,QAAA,OAAO,KAAK7C,GAAL,CAAS,KAAK+C,IAAL,CAAUP,GAAnB,CAAP,CAAA;AACA,QAAA,IAAA,CAAKQ,IAAL,EAAA,CAAA;AACA,QAAA,IAAA,CAAKD,IAAL,GAAY,IAAKA,CAAAA,IAAL,CAAUJ,IAAtB,CAAA;AACA,QAAA,IAAA,CAAKI,IAAL,CAAUL,IAAV,GAAiB,IAAjB,CAAA;AACD,OAAA;AACF,KAAA;;AACD,IAAKS,IAAAA,CAAAA,OAAL,CAAaF,IAAb,CAAA,CAAA;AACD,GAAA;;AAEDE,EAAAA,OAAO,CAACF,IAAD,EAAO;AACZA,IAAAA,IAAI,CAACP,IAAL,GAAY,KAAKI,IAAjB,CAAA;AACAG,IAAAA,IAAI,CAACN,IAAL,GAAY,IAAZ,CAAA;;AACA,IAAI,IAAA,IAAA,CAAKG,IAAT,EAAe;AACb,MAAA,IAAA,CAAKA,IAAL,CAAUH,IAAV,GAAiBM,IAAjB,CAAA;AACD,KAAA;;AACD,IAAKH,IAAAA,CAAAA,IAAL,GAAYG,IAAZ,CAAA;;AACA,IAAI,IAAA,CAAC,IAAKF,CAAAA,IAAV,EAAgB;AACd,MAAKA,IAAAA,CAAAA,IAAL,GAAYE,IAAZ,CAAA;AACD,KAAA;;AACD,IAAA,IAAA,CAAKD,IAAL,EAAA,CAAA;AACA,IAAA,IAAA,CAAKhD,GAAL,CAASiD,IAAI,CAACT,GAAd,IAAqBS,IAArB,CAAA;AACD,GAAA;;AAEDC,EAAAA,MAAM,CAACV,GAAD,EAAM;AACV,IAAA,IAAIS,IAAI,GAAG,IAAA,CAAKjD,GAAL,CAASwC,GAAT,CAAX,CAAA;;AACA,IAAIS,IAAAA,IAAI,CAACN,IAAT,EAAe;AACbM,MAAAA,IAAI,CAACN,IAAL,CAAUD,IAAV,GAAiBO,IAAI,CAACP,IAAtB,CAAA;AACD,KAFD,MAEO;AACL,MAAA,IAAA,CAAKI,IAAL,GAAYG,IAAI,CAACP,IAAjB,CAAA;AACD,KAAA;;AACD,IAAIO,IAAAA,IAAI,CAACP,IAAT,EAAe;AACbO,MAAAA,IAAI,CAACP,IAAL,CAAUC,IAAV,GAAiBM,IAAI,CAACN,IAAtB,CAAA;AACD,KAFD,MAEO;AACL,MAAA,IAAA,CAAKI,IAAL,GAAYE,IAAI,CAACN,IAAjB,CAAA;AACD,KAAA;;AACD,IAAA,OAAO,IAAK3C,CAAAA,GAAL,CAASwC,GAAT,CAAP,CAAA;AACA,IAAA,IAAA,CAAKQ,IAAL,EAAA,CAAA;AACD,GAAA;;AA9DY,CAAA;;AAiEf,MAAMK,YAAN,CAAmB;AAAA,EAAA,WAAA,GAAA;AAAA,IAAA,IAAA,CACjBC,KADiB,GACT,IAAIV,QAAJ,EADS,CAAA;AAAA,IAEjBW,IAAAA,CAAAA,cAFiB,GAEA,EAFA,CAAA;AAAA,GAAA;;AAIjBhC,EAAAA,MAAM,CAACC,KAAD,EAAQC,SAAR,EAAmBnB,OAAnB,EAA4BoB,GAA5B,EAAiC;AACrC,IAAA,MAAMC,MAAM,GAAGC,2BAAM,CAACC,MAAP,CAAcxB,eAAe,CAACC,OAAD,CAA7B,CAAf,CAAA;AACA,IAAA,OAAO,IAAKkD,CAAAA,OAAL,CACLlD,OAAO,GAAGmD,IAAI,CAACC,SAAL,CAAelC,KAAf,CAAV,GAAkCC,SAAS,CAACkC,QAAV,EAD7B,EAEL,MAAMhC,MAAM,CAACG,OAAP,CAAeP,MAAf,CAAsBC,KAAtB,EAA6BC,SAA7B,CAFD,CAAP,CAAA;AAID,GAAA;;AAEDmC,EAAAA,eAAe,CAACpC,KAAD,EAAQC,SAAS,GAAG,CAApB,EAAuBnB,OAAO,GAAG,EAAjC,EAAqCoB,GAArC,EAA0C;AACvD,IAAA,MAAMC,MAAM,GAAGC,2BAAM,CAACC,MAAP,CAAcxB,eAAe,CAACC,OAAD,CAA7B,CAAf,CAAA;AACA,IAAA,OAAO,IAAKkD,CAAAA,OAAL,CACLlD,OAAO,GAAGmD,IAAI,CAACC,SAAL,CAAelC,KAAf,CAAV,GAAkCC,SAAS,CAACkC,QAAV,EAD7B,EAEL,MAAMhC,MAAM,CAACG,OAAP,CAAe8B,eAAf,CAA+BpC,KAA/B,EAAsCC,SAAtC,CAFD,CAAP,CAAA;AAID,GAAA;;AAED1B,EAAAA,GAAG,CAACqC,EAAD,EAAKX,SAAL,EAAgBS,aAAhB,EAA+B5B,OAA/B,EAAwCoB,GAAxC,EAA6C;AAC9C,IAAA,MAAMC,MAAM,GAAGC,2BAAM,CAACC,MAAP,CAAcxB,eAAe,CAACC,OAAD,CAA7B,CAAf,CAAA;AACAqB,IAAAA,MAAM,CAACkC,YAAP,CAAoB3B,aAApB,GAAoCA,aAApC,CAAA;AACA,IAAO,OAAA,IAAA,CAAKsB,OAAL,CAAapB,EAAb,EAAiB,MAAMT,MAAM,CAACG,OAAP,CAAe/B,GAAf,CAAmB;AAAEqC,MAAAA,EAAF;AAAMX,MAAAA,SAAAA;AAAN,KAAnB,CAAvB,CAAP,CAAA;AACD,GAAA;;AAEDqC,EAAAA,cAAc,CAAC1B,EAAD,EAAK9B,OAAL,EAAcoB,GAAd,EAAmB;AAC/B,IAAA,MAAMC,MAAM,GAAGC,2BAAM,CAACC,MAAP,CAAcxB,eAAe,CAACC,OAAD,CAA7B,CAAf,CAAA;AACA,IAAA,OAAO,KAAKkD,OAAL,CAAc,kBAAiBpB,EAAG,CAAA,CAAA,EAAG9B,OAAQ,CAA7C,CAAA,EAAgD,MACrDqB,MAAM,CAACoC,YAAP,CAAoBhE,GAApB,CAAwBqC,EAAxB,CADK,CAAP,CAAA;AAGD,GAAA;;AAED4B,EAAAA,eAAe,CAACxB,GAAD,EAAMlC,OAAN,EAAeoB,GAAf,EAAoB;AACjC,IAAA,MAAMC,MAAM,GAAGC,2BAAM,CAACC,MAAP,CAAcxB,eAAe,CAACC,OAAD,CAA7B,CAAf,CAAA;AACA,IAAO,OAAA,IAAA,CAAKkD,OAAL,CAAc,CAAkBhB,gBAAAA,EAAAA,GAAI,CAApC,CAAA,EAAuC,MAC5Cb,MAAM,CAACsC,QAAP,CACGC,eADH,CACmB1B,GADnB,CAAA,CAEG2B,IAFH,CAEQlB,IAAI,IAAI,IAAKmB,CAAAA,kBAAL,CAAwBnB,IAAxB,CAFhB,CADK,CAAP,CAAA;AAKD,GAAA;;AAEDoB,EAAAA,WAAW,CAACC,OAAD,EAAUhE,OAAV,EAAmBoB,GAAnB,EAAwB;AACjC,IAAA,MAAMC,MAAM,GAAGC,2BAAM,CAACC,MAAP,CAAcxB,eAAe,CAACC,OAAD,CAA7B,CAAf,CAAA;AACA,IAAO,OAAA,IAAA,CAAKkD,OAAL,CAAc,CAAA,EAAElD,OAAQ,CAAKmD,GAAAA,EAAAA,IAAI,CAACC,SAAL,CAAeY,OAAf,CAAwB,CAArD,CAAA,EAAwD,MAC7D3C,MAAM,CAAC4C,KAAP,CAAaC,OAAb,CAAqBF,OAArB,CADK,CAAP,CAAA;AAGD,GAAA;;AAEDG,EAAAA,OAAO,CAACH,OAAD,EAAUhE,OAAV,EAAmBoB,GAAnB,EAAwB;AAC7B,IAAA,MAAMC,MAAM,GAAGC,2BAAM,CAACC,MAAP,CAAcxB,eAAe,CAACC,OAAD,CAA7B,CAAf,CAAA;AACA,IAAA,OAAO,IAAKkD,CAAAA,OAAL,CACJ,CAAA,EAAElD,OAAQ,CAAA,CAAA,EAAIgE,OAAO,IAAIA,OAAO,CAACI,IAApB,IAA6BJ,OAAQ,CAAGb,CAAAA,EAAAA,IAAI,CAACC,SAAL,CACpDY,OADoD,CAEpD,CAAA,CAHG,EAIL,MAAM3C,MAAM,CAAC4C,KAAP,CAAaxE,GAAb,CAAiBuE,OAAjB,CAJD,CAAP,CAAA;AAMD,GAAA;;AAEDK,EAAAA,YAAY,CAACL,OAAD,EAAUhE,OAAV,EAAmBoB,GAAnB,EAAwB;AAClC,IAAA,MAAMC,MAAM,GAAGC,2BAAM,CAACC,MAAP,CAAcxB,eAAe,CAACC,OAAD,CAA7B,CAAf,CAAA;AACA,IAAA,OAAO,IAAKkD,CAAAA,OAAL,CACJ,CAAA,EAAElD,OAAQ,CAAA,KAAA,EAAQgE,OAAO,IAAIA,OAAO,CAAClC,EAApB,IAA2BkC,OAAQ,CAAGb,CAAAA,EAAAA,IAAI,CAACC,SAAL,CACtDY,OADsD,CAEtD,CAAA,CAHG,EAIL,MAAM3C,MAAM,CAAC4C,KAAP,CAAaI,YAAb,CAA0BL,OAA1B,CAJD,CAAP,CAAA;AAMD,GAAA;;AAEDM,EAAAA,WAAW,CAACN,OAAD,EAAUhE,OAAV,EAAmBoB,GAAnB,EAAwB;AACjC,IAAA,MAAMC,MAAM,GAAGC,2BAAM,CAACC,MAAP,CAAcxB,eAAe,CAACC,OAAD,CAA7B,CAAf,CAAA;AACA,IAAA,OAAO,IAAKkD,CAAAA,OAAL,CACJ,CAAA,EAAElD,OAAQ,CAAA,KAAA,EAAQgE,OAAO,IAAIA,OAAO,CAAClC,EAApB,IAA2BkC,OAAQ,CAAGb,CAAAA,EAAAA,IAAI,CAACC,SAAL,CACtDY,OADsD,CAEtD,CAAA,CAHG,EAIL,MAAM3C,MAAM,CAAC4C,KAAP,CAAaK,WAAb,CAAyBN,OAAzB,CAJD,CAAP,CAAA;AAMD,GAAA;;AAEDO,EAAAA,WAAW,CAACP,OAAD,EAAUhE,OAAV,EAAmBoB,GAAnB,EAAwB;AACjC,IAAA,MAAMC,MAAM,GAAGC,2BAAM,CAACC,MAAP,CAAcxB,eAAe,CAACC,OAAD,CAA7B,CAAf,CAAA;AACA,IAAA,OAAO,IAAKkD,CAAAA,OAAL,CACJ,CAAA,EAAElD,OAAQ,CAAA,KAAA,EAAQgE,OAAO,IAAIA,OAAO,CAAClC,EAApB,IAA2BkC,OAAQ,CAAGb,CAAAA,EAAAA,IAAI,CAACC,SAAL,CACtDY,OADsD,CAEtD,CAAA,CAHG,EAIL,MAAM3C,MAAM,CAAC4C,KAAP,CAAaM,WAAb,CAAyBP,OAAzB,CAJD,CAAP,CAAA;AAMD,GAAA;;AAEDd,EAAAA,OAAO,CAAChB,GAAD,EAAMsC,OAAN,EAAe;AACpB,IAAA,IAAI,CAAC,IAAA,CAAKxB,KAAL,CAAWvD,GAAX,CAAeyC,GAAf,CAAD,IAAwB,OAAO7B,MAAP,IAAiB,WAA7C,EAA0D;AACxD,MAAIoE,IAAAA,OAAO,GAAGD,OAAO,EAArB,CAAA;AACA,MAAA,IAAA,CAAKxB,KAAL,CAAWF,GAAX,CAAeZ,GAAf,EAAoBuC,OAApB,CAAA,CAAA;AACAA,MAAAA,OAAO,CAACC,KAAR,CAAc,MAAM;AAClB,QAAA,IAAA,CAAK1B,KAAL,CAAWJ,MAAX,CAAkBV,GAAlB,CAAA,CAAA;AACD,OAFD,CAAA,CAAA;AAGD,KAAA;;AACD,IAAA,OAAO,KAAKc,KAAL,CAAWvD,GAAX,CAAeyC,GAAf,CAAP,CAAA;AACD,GAAA;;AAlGgB,CAAA;;AAqGNyC,MAAAA,YAAY,GAAG,IAAI5B,YAAJ;;AC9Q5B,MAAM6B,eAAe,GACnB,OAAOvE,MAAP,KAAkB,WAAlB,GAAgCwE,8BAAhC,GAAuDC,6BADzD,CAAA;AAGO,MAAMC,OAAO,GAAG,CAACf,OAAO,GAAG,EAAX,KAAkBY,eAAe,CAACZ,OAAD,EAAjD;AACMgB,MAAAA,cAAc,GAAGJ,eAAe;;ACMtC,MAAMK,eAAe,GAAG,CAACC,iBAAS,CAACC,qBAAD,EAAgBC,kBAAhB,CAAV,CAAxB,CAAA;AAEA,UAAUA,kBAAV,CAA6BC,MAA7B,EAAqC;AAC1C,EAAA,MAAMC,KAAK,GAAG,MAAMC,cAAM,EAA1B,CAAA;;AACA,EAAI,IAAA;AACF,IAAA,IAAI,CAACC,yBAAiB,CAACF,KAAD,CAAtB,EAA+B;AAC7B,MAAA,MAAMG,wBAAwB,GAAG,MAAMF,cAAM,CAACG,6BAAD,CAA7C,CAAA;AACA,MAAA,MAAM1F,OAAO,GAAG,MAAMuF,cAAM,CAACI,8BAAD,CAA5B,CAAA;AACA,MAAA,MAAM1B,KAAK,GAAG,MAAMlC,WAAW,CAC5BN,SADiB,CACPgE,wBADO,EACmBzF,OADnB,CAAA,CAEjBiE,KAFiB,CAEXC,OAFW,CAEH;AACb0B,QAAAA,KAAK,EAAEP,MAAM,CAACQ,SAAP,IAAoB,CAAA;AADd,OAFG,CAApB,CAAA;;AAKA,MAAA,IAAI5B,KAAJ,EAAW;AACT,QAAA,MAAM6B,WAAG,CAAC;AAAEC,UAAAA,IAAI,EAAEC,qBAAR;AAAuB/B,UAAAA,KAAAA;AAAvB,SAAD,CAAT,CAAA;AACD,OAFD,MAEO;AACL,QAAA,MAAM6B,WAAG,CAAC;AAAEC,UAAAA,IAAI,EAAEE,2BAAAA;AAAR,SAAD,CAAT,CAAA;AACD,OAAA;AACF,KAAA;AACF,GAfD,CAeE,OAAOC,EAAP,EAAW;AACXC,IAAAA,cAAG,CAACC,KAAJ,CAAU,GAAG,CAAC,mCAAD,EAAsCF,EAAtC,CAAb,CAAA,CAAA;AACA,IAAA,MAAMJ,WAAG,CAAC;AAAEC,MAAAA,IAAI,EAAEE,2BAAR;AAA6BG,MAAAA,KAAK,EAAEF,EAAE,CAAC7C,QAAH,EAAA;AAApC,KAAD,CAAT,CAAA;AACD,GAAA;AACF;;AC/BD,MAAMgD,GAAG,GAAG;AACVC,EAAAA,aAAa,EAAE,mBADL;AAEVC,EAAAA,UAAU,EAAE,gBAFF;AAGVC,EAAAA,QAAQ,EAAE,yBAHA;AAIV1E,EAAAA,EAAE,EAAE,QAJM;AAKV2E,EAAAA,eAAe,EAAE,8BALP;AAMVC,EAAAA,IAAI,EAAE,UANI;AAOVC,EAAAA,GAAG,EAAE,SAPK;AAQV/E,EAAAA,aAAa,EAAE,mBAAA;AARL,CAAZ,CAAA;AAWO,MAAMgF,MAAM,GAAG;AACpBC,EAAAA,UAAU,EAAE,YADQ;AAEpBC,EAAAA,gBAAgB,EAAE,kBAFE;AAGpBC,EAAAA,QAAQ,EAAE,UAHU;AAIpBV,EAAAA,GAJoB;AAKpBC,EAAAA,aAAa,EAAE,mBALK;AAMpBU,EAAAA,QAAQ,EAAE,GAAA;AANU,CAAf;;ACZA,MAAMC,eAAe,GAAG,CAC7BC,KAD6B,EAE7B/E,KAF6B,EAG7BgF,QAAQ,GAAG,SAHkB,EAI7BC,MAAM,GAAG,IAJoB,KAK1B;AACH,EAAA,IAAI,CAACF,KAAD,IAAU,CAAC/E,KAAf,EAAsB,OAAO,EAAP,CAAA;AACtB,EAAIkF,IAAAA,KAAK,CAACC,OAAN,CAAcnF,KAAd,CAAJ,EAA0B,OAAOoF,WAAW,CAACL,KAAD,EAAQ/E,KAAR,EAAegF,QAAf,CAAlB,CAA1B,KAEE,OAAO,CAACC,MAAD,GACH,CAACI,uBAAE,CAACL,QAAD,CAAF,CAAaD,KAAb,EAAoB/E,KAApB,CAAD,CADG,GAEH,CAACqF,uBAAE,CAACL,QAAD,CAAF,CAAaD,KAAb,EAAoB/E,KAApB,EAA2BiF,MAA3B,CAAkCA,MAAlC,CAAD,CAFJ,CAAA;AAGH,CAZM,CAAA;AAcA,MAAMK,kBAAkB,GAC7B7F,aADgC,IAEd;AAClB,EAAA,OAAO,CAAC4F,uBAAE,CAACE,OAAH,CAAWd,MAAM,CAACP,GAAP,CAAWzE,aAAtB,EAAqCA,aAArC,CAAD,CAAP,CAAA;AACD,CAJM,CAAA;;AAMP,MAAM2F,WAAW,GAAG,CAACL,KAAD,EAAgBS,GAAhB,EAA+BR,QAAQ,GAAG,SAA1C,KAClBQ,GAAG,CAACC,MAAJ,KAAe,CAAf,GACI,EADJ,GAEID,GAAG,CAACC,MAAJ,KAAe,CAAf,GACA,CAACJ,uBAAE,CAACL,QAAD,CAAF,CAAaD,KAAb,EAAoBS,GAAG,CAAC,CAAD,CAAvB,CAAD,CADA,GAEA,CAACH,uBAAE,CAACK,EAAH,CAAMX,KAAN,EAAa,GAAGS,GAAhB,CAAD,CALN;;ACrBO,MAAMG,uBAAuB,GAAG,CACrChG,EADqC,EAErCiG,QAAQ,GAAG,OAF0B,EAGrCC,MAAgB,GAAG,EAHkB,EAIrCpG,aAAqC,GAAG,WAJH,KAKlC;AACH,EAAA,MAAMV,KAAK,GAAG,IAAI+G,0BAAJ,CACZ,GAAG,CACD,GAAGhB,eAAe,CAAC,QAAD,EAAWnF,EAAX,CADjB,EAED,GAAGmF,eAAe,CAAC,cAAD,EAAiBc,QAAjB,CAFjB,EAGD,GAAGN,kBAAkB,CAAC7F,aAAD,CAHpB,CADS,CAAd,CAAA;AAOAV,EAAAA,KAAK,CAAC8G,MAAN,GAAeA,MAAf,CAAA;AACA,EAAA,OAAO9G,KAAP,CAAA;AACD,CAfM;;AC6BA,MAAMgH,YAAY,GAAG,CAC1BhD,iBAAS,CAACiD,2BAAD,EAAsBC,YAAtB,CADiB,EAE1BlD,iBAAS,CAACmD,iBAAD,EAAYC,YAAZ,CAFiB,CAArB,CAAA;AAKP;AACA;AACA;AACA;;AACA,UAAUA,YAAV,CAAuBjD,MAAvB,EAA+B;AAC7B,EAAA,MAAMS,WAAG,CAAC;AACRC,IAAAA,IAAI,EAAE,qBADE;AAERwC,IAAAA,OAAO,EAAE;AACPC,MAAAA,MAAM,EAAE,MADD;AAEPC,MAAAA,IAAI,EAAE,CAACpD,MAAM,CAACjB,IAAR,EAAciB,MAAM,CAACC,KAArB,CAAA;AAFC,KAAA;AAFD,GAAD,CAAT,CAAA;AAOD,CAAA;;AAED,UAAU8C,YAAV,CAAuB/C,MAAvB,EAA+B;AAC7B,EAAIqD,IAAAA,KAAK,GAAG,IAAZ,CAAA;;AACA,EAAI,IAAA;AAAA,IAAA,IAAA,UAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,oBAAA,CAAA;;AACF,IAAM,MAAA;AACJC,MAAAA,UADI;AAEJC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,mBAAmB,GAAG,EAAA;AAAxB,OAAA,GAA+B,EAFnC;AAGJC,MAAAA,WAAAA;AAHI,KAIFzD,GAAAA,MAJJ,CADE;;AAQF,IAAIyD,IAAAA,WAAW,IAAIA,WAAW,CAACC,KAAZ,CAAkBC,WAArC,EACE,MAAMC,YAAI,CAACC,iBAAD,EAAoBJ,WAAW,CAACC,KAAZ,CAAkBC,WAAtC,CAAV,CATA;;AAYF,IAAIG,IAAAA,QAAQ,GAAG,IAAf;AAAA,QACEC,SAAS,GAAG,IADd;AAAA,QAEEC,QAAQ,GAAG,EAFb;AAAA,QAGEC,QAAQ,GAAG,IAHb,CAAA;AAKA,IAAA,IAAIC,kBAAkB,GAAG,EAAzB,CAjBE;AAoBF;;AACA,IAAA,IAAIC,OAAJ;AAAA,QACEC,YAAY,GAAG,KADjB,CAAA;;AAGA,IAAA,IAAId,UAAU,IAAIA,UAAU,CAACe,WAA7B,EAA0C;AACxCF,MAAAA,OAAO,GAAG,MAAMb,UAAU,CAACe,WAAX,CAAuBrE,MAAvB,CAAhB,CAAA;AACD,KAAA;;AAED,IAAA,MAAMsE,cAAc,GAClBH,OAAO,IAAIA,OAAO,CAACG,cAAR,KAA2BC,SAAtC,GACIJ,OAAO,CAACG,cADZ,GAEI,CAHN,CAAA;AAIA,IAAME,MAAAA,oBAAoB,GAAG,CAAC,CAAChB,mBAAmB,CAACiB,IAApB,CAC7BC,EAAE,IAAIA,EAAE,CAAC/B,MAAH,IAAa+B,EAAE,CAAC5I,SAAhB,IAA6B4I,EAAE,CAACC,WADT,CAA/B,CAAA;AAIA,IAAA,MAAM1E,KAAK,GAAG,MAAMC,cAAM,EAA1B,CAAA;AACA,IAAA,MAAM0E,UAAU,GAAGC,0BAAgB,CAAC5E,KAAD,EAAQ,IAAR,CAAnC,CAAA;AACA,IAAA,MAAM6E,SAAS,GAAGC,2BAAiB,CAAC9E,KAAD,EAAQ,IAAR,CAAnC,CAAA;AACA,IAAA,MAAM+E,WAAW,GAAGhF,MAAM,CAACjB,IAA3B,CAvCE;;AAwCF,IAAA,MAAM1C,iBAAiB,GAAGgE,6BAAmB,CAACJ,KAAD,CAA7C,CAAA;AACA,IAAA,MAAMtF,OAAO,GAAG2F,8BAAoB,CAACL,KAAD,CAApC,CAzCE;;AA2CF,IAAMgF,MAAAA,SAAS,GAAGD,WAAW,IAAIA,WAAW,CAACE,UAAZ,CAAuB,WAAvB,CAAjC,CAAA;AACA,IAAMC,MAAAA,WAAW,GAAIhB,OAAO,IAAIA,OAAO,CAACgB,WAApB,IAAoC,OAAxD,CAAA;;AAEA,IAAA,IACE,CAACF,SAAD,KACEd,OAAO,IAAIA,OAAO,CAACiB,aAApB,IACE3B,WAAW,IAAI,CAACA,WAAW,CAACC,KAAZ,CAAkB2B,SADpC,IAEET,UAAU,IACT5E,MAAM,CAACsF,SAAP,KAAqBtF,MAAM,CAACjB,IAD7B,IAEC,CAACoF,OAAO,IAAIA,OAAO,CAACoB,WAApB,MAAqC,IALzC,CADF,EAOE;AACA;AACA;AACA;AACA;AACA,MAAA,IACEX,UAAU,KACT,CAACnB,WAAD,IAAiBA,WAAW,CAACC,KAAZ,IAAqBD,WAAW,CAACC,KAAZ,CAAkB2B,SAD/C,CADZ,EAGE;AACAvB,QAAAA,QAAQ,GAAG,EAAE,GAAGgB,SAAL;AAAgBzB,UAAAA,KAAK,EAAE,IAAA;AAAvB,SAAX,CAAA;AACAS,QAAAA,QAAQ,CAACT,KAAT,GAAiBA,KAAK,GAAGuB,UAAzB,CAFA;AAIA;AACA;AACA;AACA;AACA;AACA;;AACA,QAAA,MAAMnE,WAAG,CAAC;AACRC,UAAAA,IAAI,EAAE8E,4BADE;AAERC,UAAAA,SAAS,EAAE,KAAA;AAFH,SAAD,CAAT,CAAA;AAID,OAjBD,MAkBE,MAAM7B,YAAI,CACR8B,aADQ,EAERd,UAFQ,EAGR,MAAM1E,cAAM,CAAC6E,2BAAD,CAHJ,EAIR,MAAM7E,cAAM,CAACyF,gCAAD,CAJJ,EAKR,MAAMzF,cAAM,CAAC0F,+BAAD,CALJ,CAAV,CAAA;AAOH,KArCD,MAqCO;AACL;AACA,MAAA,IAAIX,SAAJ,EAAe;AACb,QAAA,IAAIY,SAAS,GAAGb,WAAW,CAACc,KAAZ,CAAkB,GAAlB,CAAhB,CAAA;AACA,QAAA,IAAIC,SAAS,GAAGF,SAAS,CAAC,CAAD,CAAzB,CAAA;AACA,QAAInD,IAAAA,QAAQ,GAAGyC,WAAf,CAAA;;AACA,QAAA,IAAIU,SAAS,CAACtD,MAAV,IAAoB,CAAxB,EAA2B;AACzB;AACA;AACA,UAAA,IAAIsD,SAAS,CAACtD,MAAV,IAAoB,CAAxB,EAA2BG,QAAQ,GAAGmD,SAAS,CAAC,CAAD,CAApB,CAHF;AAKzB;AACA;AACA;;AAEA,UAAA,IAAIG,YAAY,GAAG,MAAMtJ,WAAW,CACjCN,SADsB,CACZC,iBADY,EACO1B,OADP,CAAA,CAEtBwB,OAFsB,CAEd/B,GAFc,CAEV;AACXqC,YAAAA,EAAE,EAAEsJ,SADO;AAEXrD,YAAAA,QAFW;AAGX5G,YAAAA,SAAS,EAAEwI,cAAAA;AAHA,WAFU,CAAzB,CAAA;;AAOA,UAAA,IAAI0B,YAAJ,EAAkB;AAChBlC,YAAAA,QAAQ,GAAG;AAAET,cAAAA,KAAK,EAAE2C,YAAAA;AAAT,aAAX,CAAA;AACA,YAAC,CAAA;AAAE3C,cAAAA,KAAAA;AAAF,aAAYS,GAAAA,QAAQ,IAAI,EAAzB,EAAA;AACD,WAAA;AACF,SAAA;AACF,OAzBD,MAyBO;AAAA,QAAA,IAAA,SAAA,EAAA,eAAA,EAAA,mBAAA,CAAA;;AACL;AACAA,QAAAA,QAAQ,GAAG,MAAMxE,YAAY,CAACR,OAAb,CACf;AACEyB,UAAAA,KAAK,EAAE,CADT;AAEExB,UAAAA,IAAI,EAAEiG,WAFR;AAGEiB,UAAAA,WAAW,EAAEzB,oBAAoB,GAC7B,CAAC,mBAAD,EAAsB,QAAtB,CAD6B,GAE7B,GALN;AAMEF,UAAAA,cAAc,EAAEE,oBAAoB,GAAG,CAAH,GAAOF,cAN7C;AAOE5B,UAAAA,QAAQ,EAAEyC,WAPZ;AAQE5I,UAAAA,aAAa,EAAEF,iBAAAA;AARjB,SADe,EAWf1B,OAXe,CAAjB,CAAA;AAaA,QAAC,CAAA;AAAE0I,UAAAA,KAAAA;AAAF,SAAYS,GAAAA,QAAQ,IAAI,EAAzB,EAAA;;AAEA,QAAA,IAAIU,oBAAoB,IAAA,CAAA,SAAA,GAAIV,QAAJ,MAAA,IAAA,IAAA,SAAA,KAAA,KAAA,CAAA,IAAA,CAAA,eAAA,GAAI,SAAUT,CAAAA,KAAd,MAAI,IAAA,IAAA,eAAA,KAAA,KAAA,CAAA,IAAA,CAAA,mBAAA,GAAA,eAAA,CAAiBrC,GAArB,MAAA,IAAA,IAAA,mBAAA,KAAA,KAAA,CAAA,IAAI,mBAAsBvE,CAAAA,EAAlD,EAAsD;AAAA,UAAA,IAAA,cAAA,CAAA;;AACpD;AACA;AACAyH,UAAAA,kBAAkB,GAChBgC,4BAAsB,CACpB1C,mBADoB,EAEpBM,QAAQ,CAACT,KAAT,CAAerC,GAAf,CAAmBC,aAFC,CAAtB,IAGK,EAJP,CAAA;AAKA,UAAM,MAAA;AAAE0B,YAAAA,MAAF;AAAU7G,YAAAA,SAAAA;AAAV,WAAA,GAAwBoI,kBAA9B,CAAA;AACA,UAAMrI,MAAAA,KAAK,GAAG4G,uBAAuB,CACnCqB,QAAQ,CAACT,KAAT,CAAerC,GAAf,CAAmBvE,EADgB,EAEnCqH,QAAQ,CAACT,KAAT,CAAerC,GAAf,CAAmB0B,QAFgB,EAGnCC,MAHmC,EAInCtG,iBAJmC,CAArC,CAAA;AAMA,UAAM6G,MAAAA,OAAO,GAAG,MAAM5D,YAAY,CAAC1D,MAAb,CACpBC,KADoB,EAEpB,OAAOC,SAAP,KAAqB,WAArB,GAAmCA,SAAnC,GAA+CwI,cAAc,IAAI,CAF7C,EAGpB3J,OAHoB,CAAtB,CAAA;;AAKA,UAAA,IAAI,CAAAuI,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA,cAAA,GAAAA,OAAO,CAAEiD,KAAT,MAAA,IAAA,IAAA,cAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAgB5D,MAAhB,IAAyB,CAA7B,EAAgC;AAC9BuB,YAAAA,QAAQ,CAACT,KAAT,GAAiBA,KAAK,GAAGH,OAAO,CAACiD,KAAR,CAAc,CAAd,CAAzB,CAAA;AACD,WAAA;AACF,SAAA;AACF,OApEI;AAuEL;;;AACA,MAACpC,CAAAA,SAAD,EAAYC,QAAZ,EAAsBC,QAAtB,IAAkC,MAAML,YAAI,CAC1CwC,2BAD0C,EAE1C;AACEjC,QAAAA,OADF;AAEED,QAAAA,kBAFF;AAGExB,QAAAA,QAAQ,EAAEyC,WAHZ;AAIEpG,QAAAA,IAAI,EAAEiG,WAJR;AAKElB,QAAAA,QALF;AAMEnJ,QAAAA,OANF;AAOE4B,QAAAA,aAAa,EAAEF,iBAAAA;AAPjB,OAF0C,CAA5C,CAAA;AAaA,MAAA,IAAI2H,QAAJ,EAAcF,QAAQ,CAACE,QAAT,GAAoBA,QAApB,CAAA;AACf,KAAA;;AAED,IAAM,MAAA;AAAEqC,MAAAA,WAAF;AAAe1C,MAAAA,WAAAA;AAAf,KAAA,GACJuC,4BAAsB,CACpB1C,mBADoB,gBAEpBM,QAFoB,MAAA,IAAA,IAAA,UAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA,gBAAA,GAEpB,WAAUT,KAFU,MAAA,IAAA,IAAA,gBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA,oBAAA,GAEpB,gBAAiBrC,CAAAA,GAFG,yDAEpB,oBAAsBC,CAAAA,aAFF,CAAtB,IAGK,EAJP,CA3KE;;AAkLF,IAAI0C,IAAAA,WAAJ,EAAiB,MAAMC,YAAI,CAACC,iBAAD,EAAoBF,WAApB,CAAV,CAAA;;AAEjB,IAAA,IAAIL,UAAU,IAAIA,UAAU,CAACgD,aAA7B,EAA4C;AAC1C;AACA;AACA,MAAC,CAAA;AAAElC,QAAAA,YAAAA;AAAF,OACC,GAAA,CAAC,MAAMd,UAAU,CAACgD,aAAX,CAAyB,EAAE,GAAGtG,MAAL;AAAaqD,QAAAA,KAAAA;AAAb,OAAzB,CAAP,KAA0D,EAD5D,EAAA;AAED,KAAA;;AAED,IAAIe,IAAAA,YAAY,KAAK,KAArB,EAA4B;AAC1B;AACA,MAAA,MAAMR,YAAI,CAAC2C,6BAAD,EAA0B,EAClC,GAAGvG,MAD+B;AAElCqD,QAAAA,KAFkC;AAGlCe,QAAAA,YAAAA;AAHkC,OAA1B,CAAV,CAAA;AAKD,KAAA;;AAED,IAAA,IAAI,CAACD,OAAD,IAAY,CAACA,OAAO,CAACqC,gBAAzB,EAA2C;AACzC;AACA,MAAI,IAAA,OAAOxL,MAAP,KAAkB,WAAtB,EAAmCA,MAAM,CAACyL,QAAP,CAAgB,CAAhB,EAAmB,CAAnB,CAAA,CAAA;AACpC,KAAA;;AAED,IAAI3C,IAAAA,CAAAA,UAAAA,GAAAA,QAAJ,MAAI,IAAA,IAAA,UAAA,KAAA,KAAA,CAAA,IAAA,CAAA,gBAAA,GAAA,UAAA,CAAUT,KAAd,MAAA,IAAA,IAAA,gBAAA,KAAA,KAAA,CAAA,IAAA,CAAA,oBAAA,GAAI,iBAAiBrC,GAArB,MAAA,IAAA,IAAA,oBAAA,KAAA,KAAA,CAAA,IAAI,oBAAsBvE,CAAAA,EAA1B,EAA8B;AAAA,MAAA,IAAA,QAAA,CAAA;;AAC5B4G,MAAAA,KAAK,GAAGS,QAAQ,CAACT,KAAjB,CAAA;AAEA,MAAMO,MAAAA,YAAI,CACR8B,aADQ,EAERrC,KAFQ,EAGRS,QAHQ,EAIRC,SAJQ,EAKRE,QALQ,EAMRoC,WANQ,EAOR,KAPQ,EAAA,CAAA,QAAA,GAQRlC,OARQ,MAQR,IAAA,IAAA,QAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAASoB,WARD,CAAV,CAAA;AAUD,KAbD,MAaO;AACL,MAAI9B,IAAAA,WAAJ,EACE,MAAMG,YAAI,CAAC8B,aAAD,EAAgB,IAAhB,EAAsB5B,QAAtB,EAAgCC,SAAhC,EAA2CE,QAA3C,CAAV,CADF,KAEK,MAAML,YAAI,CAAC8C,KAAD,CAAV,CAAA;AACN,KAAA;AACF,GA3ND,CA2NE,OAAOC,CAAP,EAAU;AACV7F,IAAAA,cAAG,CAACC,KAAJ,CAAU,GAAG,CAAC,2BAAD,EAA8B4F,CAA9B,EAAiCA,CAAC,CAACC,KAAnC,CAAb,CAAA,CAAA;AACA,IAAA,MAAMhD,YAAI,CAACiD,KAAD,EAAQF,CAAR,CAAV,CAAA;AACD,GAAA;AACF,CAAA;;AAED,UAAUP,2BAAV,CAAsC;AACpCjC,EAAAA,OADoC;AAEpCD,EAAAA,kBAFoC;AAGpCxB,EAAAA,QAHoC;AAIpC3D,EAAAA,IAJoC;AAKpC+E,EAAAA,QALoC;AAMpCnJ,EAAAA,OANoC;AAOpC4B,EAAAA,aAAAA;AAPoC,CAAtC,EAQG;AACD,EAAA,MAAMuK,OAAO,GAAG,CAAC,MAAM,IAAP,EAAa,MAAM,IAAnB,EAAyB,MAAM,IAA/B,EAAqC,MAAM,IAA3C,CAAhB,CADC;AAID;AACA;;AACA,EAAA,MAAMC,YAAY,GAChB,CAAC5C,OAAD,KACC,CAAAA,OAAO,KAAP,IAAA,IAAAA,OAAO,KAAA,KAAA,CAAP,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAE6C,gBAAT,MAA8B,IAA9B,GACG,KADH,GAEG,CAAA7C,OAAO,SAAP,IAAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,OAAO,CAAE6C,gBAAT,KAA6B,IAHjC,CADF,CAAA;AAMA,EAAM,MAAA;AACJ1C,IAAAA,cAAc,GAAG,CADb;AAEJ3B,IAAAA,MAFI;AAGJ7G,IAAAA,SAHI;AAIJ6I,IAAAA,WAAW,GAAG,EAAA;AAJV,GAAA,GAKFT,kBALJ,CAAA;;AAOA,EAAA,IAAIJ,QAAQ,IAAIA,QAAQ,CAACrH,EAAzB,EAA6B;AAC3B,IAAA,IAAIsK,YAAY,KAAK,IAAjB,IAAyBA,YAAY,CAAChD,SAA1C,EAAqD;AACnD+C,MAAAA,OAAO,CAAC,CAAD,CAAP,GAAa,UAAU9H,YAAV,GAAyB;AACpC,QAAI,IAAA;AACF,UAAA,OAAO,MAAMM,YAAY,CAACN,YAAb,CACX;AACEvC,YAAAA,EAAE,EAAEqH,QAAQ,CAACrH,EADf;AAEEiG,YAAAA,QAFF;AAGEnG,YAAAA,aAAAA;AAHF,WADW,EAMX5B,OANW,CAAb,CAAA;AAQD,SATD,CASE,OAAOkG,EAAP,EAAW;AACXC,UAAAA,cAAG,CAACmG,IAAJ,CAAS,4BAAT,EAAuCpG,EAAvC,CAAA,CAAA;AACA,UAAA,OAAO,EAAP,CAAA;AACD,SAAA;AACF,OAdD,CAAA;AAeD,KAAA;;AAED,IAAMqG,MAAAA,aAAa,GACjBH,YAAY,KAAK,IAAjB,IAAyBA,YAAY,CAAC/C,QAAb,KAA0B,IAAnD,GACI,CADJ,GAEK+C,YAAY,IAAIA,YAAY,CAAC/C,QAA9B,IAA2C,CAHjD,CAAA;;AAKA,IAAA,IACG,QAAOW,WAAP,KAAA,IAAA,IAAOA,WAAP,KAAOA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEX,QAApB,CAAA,KAAiC,WAAjC,IAAgDkD,aAAa,GAAG,CAAjE,IACAvC,WAAW,CAACX,QAFd,EAGE;AACA,MAAA,MAAMmD,eAAe,GACnB,OAAOxC,WAAW,CAACX,QAAnB,KAAgC,SAAhC,GAA4C,EAA5C,GAAiDW,WAAW,CAACX,QAD/D,CAAA;;AAEA8C,MAAAA,OAAO,CAAC,CAAD,CAAP,GAAa,UAAU7H,WAAV,GAAwB;AACnC,QAAI,IAAA;AACF,UAAA,OAAO,MAAMK,YAAY,CAACR,OAAb,CACX;AACEyB,YAAAA,KAAK,EACH4G,eAAe,CAAC5G,KAAhB,KAA0BgE,SAA1B,GACI4C,eAAe,CAAC5G,KADpB,GAEI2G,aAJR;AAKEnI,YAAAA,IALF;AAMEkH,YAAAA,WAAW,EAAEkB,eAAe,CAACxE,MAAhB,IAA0BA,MAA1B,IAAoC4B,SANnD;AAOED,YAAAA,cAAc,EACZ,OAAO6C,eAAe,CAACrL,SAAvB,KAAqC,WAArC,GACIqL,eAAe,CAACrL,SADpB,GAEI,OAAOA,SAAP,KAAqB,WAArB,GACAA,SADA,GAEAwI,cAZR;AAaE5B,YAAAA,QAbF;AAcEnG,YAAAA,aAAAA;AAdF,WADW,EAiBX5B,OAjBW,CAAb,CAAA;AAmBD,SApBD,CAoBE,OAAOkG,EAAP,EAAW;AACXC,UAAAA,cAAG,CAACmG,IAAJ,CAAS,2BAAT,EAAsCpG,EAAtC,CAAA,CAAA;AACA,UAAA,OAAO,EAAP,CAAA;AACD,SAAA;AACF,OAzBD,CAAA;AA0BD,KAAA;;AAED,IAAA,IACG,QAAO8D,WAAP,KAAA,IAAA,IAAOA,WAAP,KAAOA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEV,QAApB,CAAA,KAAiC,WAAjC,IAAgD8C,YAAY,CAAC9C,QAA9D,IACAU,WAAW,CAACV,QAFd,EAGE;AACA6C,MAAAA,OAAO,CAAC,CAAD,CAAP,GAAa,UAAU5H,WAAV,GAAwB;AACnC,QAAI,IAAA;AAAA,UAAA,IAAA,qBAAA,EAAA,sBAAA,CAAA;;AACF,UAAA,OAAO,MAAMI,YAAY,CAACJ,WAAb,CACX;AACEzC,YAAAA,EAAE,EAAEqH,QAAQ,CAACrH,EADf;AAEEwJ,YAAAA,WAAW,EAAE,CAAAtB,WAAW,KAAA,IAAX,IAAAA,WAAW,KAAA,KAAA,CAAX,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,qBAAAA,GAAAA,WAAW,CAAEV,QAAb,MAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAAuBtB,MAAvB,KAAiCA,MAAjC,IAA2C4B,SAF1D;AAGED,YAAAA,cAAc,EACZ,QAAOK,WAAP,KAAOA,IAAAA,IAAAA,WAAP,KAAOA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,sBAAAA,GAAAA,WAAW,CAAEV,QAApB,MAAO,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAuBnI,SAA9B,CAAA,KAA4C,WAA5C,GACI6I,WAAW,CAACV,QAAZ,CAAqBnI,SADzB,GAEI,OAAOA,SAAP,KAAqB,WAArB,GACAA,SADA,GAEAwI,cARR;AASE8C,YAAAA,aAAa,EAAE,IATjB;AAUE1E,YAAAA,QAVF;AAWEnG,YAAAA,aAAAA;AAXF,WADW,EAcX5B,OAdW,CAAb,CAAA;AAgBD,SAjBD,CAiBE,OAAOkG,EAAP,EAAW;AACXC,UAAAA,cAAG,CAACmG,IAAJ,CAAS,2BAAT,EAAsCpG,EAAtC,CAAA,CAAA;AACA,UAAA,OAAO,EAAP,CAAA;AACD,SAAA;AACF,OAtBD,CAAA;AAuBD,KAAA;AACF,GAAA;;AAED,EAAA,MAAMwG,YAAY,GAAG,MAAMnH,cAAM,CAACC,yBAAD,CAAjC,CAAA;AACA,EAAA,IAAI,CAACkH,YAAD,KAAkBN,YAAY,KAAK,IAAjB,IAAyBA,YAAY,CAACO,IAAxD,CAAJ,EACER,OAAO,CAAC,CAAD,CAAP,GAAa,UAAUS,WAAV,GAAwB;AACnC,IAAM/G,MAAAA,SAAS,GACbuG,YAAY,KAAK,IAAjB,IACA,CAACA,YAAY,CAACO,IADd,IAEAP,YAAY,CAACO,IAAb,KAAsB,IAFtB,GAGI,CAHJ,GAIIP,YAAY,CAACO,IALnB,CAAA;;AAOA,IAAA,IAAI,OAAOtM,MAAP,KAAkB,WAAtB,EAAmC;AACjC,MAAO,OAAA,MAAMyF,WAAG,CAAC;AACfC,QAAAA,IAAI,EAAEZ,qBADS;AAEfU,QAAAA,SAAAA;AAFe,OAAD,CAAhB,CAAA;AAID,KALD,MAKO;AACL,MAAA,OAAO,MAAMoD,YAAI,CAAC7D,kBAAD,EAAqB;AACpCS,QAAAA,SAAAA;AADoC,OAArB,CAAjB,CAAA;AAGD,KAAA;AACF,GAlBD,CAAA;AAoBF,EAAM,MAAA,CAACgH,aAAD,EAAgBC,YAAhB,EAA8BC,YAA9B,EAA4CC,QAA5C,CAAA,GAAwDb,OAA9D,CAAA;AACA,EAAM,MAAA,CAAC/C,SAAD,EAAY6D,gBAAZ,EAA8B3D,QAA9B,CAAA,GAA0C,MAAM4D,WAAG,CAAC,CACxDL,aAAa,EAD2C,EAExDC,YAAY,EAF4C,EAGxDC,YAAY,EAH4C,EAIxDC,QAAQ,EAJgD,CAAD,CAAzD,CAAA;AAMA,EAAA,OAAO,CAAC5D,SAAD,EAAY6D,gBAAZ,KAAYA,IAAAA,IAAAA,gBAAZ,KAAYA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAgB,CAAE5D,QAA9B,EAAwCC,QAAxC,CAAP,CAAA;AACD,CAAA;;AAED,UAAUyB,aAAV,CACErC,KADF,EAEE/F,IAFF,EAGEyG,SAHF,EAIEE,QAJF,EAKEoC,WALF,EAMEyB,QAAQ,GAAG,KANb,EAOEC,UAAU,GAAG,KAPf,EAQE;AACA,EAAMC,MAAAA,QAAQ,GAAI3E,KAAK,IAAIA,KAAK,CAACrC,GAAhB,IAAwB,EAAzC,CAAA;AAEA,EAAA,MAAMiH,cAAc,GAAG,MAAM/H,cAAM,CAACgI,iCAAD,CAAnC,CAAA;AACA,EAAA,MAAMC,gBAAgB,GAAG,MAAMjI,cAAM,CAACkI,kCAAD,CAArC,CAAA;AACA,EAAA,MAAMC,WAAW,GACfJ,cAAc,KAAKD,QAAQ,CAACvL,EAA5B,IACA0L,gBAAgB,KAAKH,QAAQ,CAACtF,QAD9B,IAEAqF,UAAU,KAAK,KAFf,GAGI,CAAC,MAAM7H,cAAM,CAACoI,2BAAD,EAAoB,IAApB,CAAb,KAA2C,EAH/C,GAII,MAAMC,aAAa,CAAClC,WAAD,EAAc,EAC/B,GAAG/I,IAD4B;AAE/B+F,IAAAA,KAF+B;AAG/BU,IAAAA,SAH+B;AAI/BE,IAAAA,QAAAA;AAJ+B,GAAd,CALzB,CAAA;AAYA,EAAA,MAAM4D,WAAG,CAAC,CACRpH,WAAG,CAAC;AACFC,IAAAA,IAAI,EAAE8H,iBADJ;AAEF/L,IAAAA,EAAE,EAAEuL,QAAQ,CAACvL,EAFX;AAGF4G,IAAAA,KAHE;AAIFgF,IAAAA,WAJE;AAKF/K,IAAAA,IALE;AAMFwK,IAAAA,QAAAA;AANE,GAAD,CADK,EASR/D,SAAS,IACPtD,WAAG,CAAC;AACFC,IAAAA,IAAI,EAAE+H,qBADJ;AAEF1E,IAAAA,SAAAA;AAFE,GAAD,CAVG,EAcRE,QAAQ,IACNxD,WAAG,CAAC;AACFC,IAAAA,IAAI,EAAEgI,oBADJ;AAEFzE,IAAAA,QAAAA;AAFE,GAAD,CAfG,CAAD,CAAT,CAAA;AAoBD,CAAA;;AAED,UAAUsE,aAAV,CAAwBlC,WAAxB,EAAqC/I,IAArC,EAA2C;AACzC,EAAI,IAAA;AACF,IAAA,IAAI,OAAO+I,WAAP,KAAuB,UAA3B,EAAuC;AACrC,MAAA,MAAMpG,KAAK,GAAG,MAAMC,cAAM,EAA1B,CAAA;AACA,MAAMmI,MAAAA,WAAW,GAAG,MAAMzE,YAAI,CAACyC,WAAD,EAAc/I,IAAd,EAAoB2C,KAApB,CAA9B,CAAA;AACA,MAAA,OAAOoI,WAAP,CAAA;AACD,KAAA;AACF,GAND,CAME,OAAO1B,CAAP,EAAU;AACV7F,IAAAA,cAAG,CAACC,KAAJ,CAAU,GAAG,CAAC,4BAAD,EAA+B4F,CAA/B,EAAkCA,CAAC,CAACC,KAApC,CAAb,CAAA,CAAA;AACD,GAAA;;AACD,EAAA,OAAA;AACD,CAAA;;AAED,UAAUF,KAAV,GAAkB;AAChB,EAAM9C,MAAAA,YAAI,CAAC+E,qBAAD,CAAV,CAAA;AACA,EAAA,MAAMlI,WAAG,CAAC;AACRC,IAAAA,IAAI,EAAE8H,iBADE;AAER/L,IAAAA,EAAE,EAAE,IAFI;AAGR4G,IAAAA,KAAK,EAAE,IAHC;AAIRyE,IAAAA,QAAQ,EAAE,IAAA;AAJF,GAAD,CAAT,CAAA;AAMD,CAAA;;AAED,UAAUa,qBAAV,GAAkC;AAChC,EAAMC,MAAAA,UAAU,GAAG,MAAM1I,cAAM,CAAC2E,0BAAD,CAA/B,CADgC;AAIhC;AACA;;AACA,EAAA,IAAI,OAAO7J,MAAP,KAAkB,WAAlB,KAAkC4N,UAAU,KAAV,IAAA,IAAAA,UAAU,KAAA,KAAA,CAAV,IAAAA,UAAU,CAAE5H,GAAZ,IAAmB,IAArD,CAAJ,EAAgE;AAC9DhG,IAAAA,MAAM,CAACO,QAAP,CAAgBsN,MAAhB,EAAA,CAAA;AACD,GAAA;AACF,CAAA;;AAED,UAAUhC,KAAV,CAAgB9F,KAAhB,EAAuB;AACrB,EAAA,MAAMN,WAAG,CAAC;AACRC,IAAAA,IAAI,EAAE8H,iBADE;AAER/L,IAAAA,EAAE,EAAE,IAFI;AAGR4G,IAAAA,KAAK,EAAE,IAHC;AAIRyE,IAAAA,QAAQ,EAAE,IAJF;AAKRgB,IAAAA,OAAO,EAAE,IALD;AAMR/H,IAAAA,KANQ;AAORgI,IAAAA,UAAU,EAAEhI,KAAK,IAAIA,KAAK,CAACiI,MAAf,GAAwBjI,KAAK,CAACiI,MAA9B,GAAuC,GAAA;AAP3C,GAAD,CAAT,CAAA;AASD,CAAA;;AAED,UAAUnF,iBAAV,CAA4BoF,UAA5B,EAAwC;AACtC,EAAA,IAAI,OAAOA,UAAP,KAAsB,UAA1B,EAAsC;AACpC,IAAM,MAAA;AAAEpM,MAAAA,GAAF;AAAOqM,MAAAA,OAAP;AAAgBC,MAAAA,IAAAA;AAAhB,KAAyB,GAAA,MAAMF,UAAU,EAA/C,CAAA;AACAG,IAAAA,mBAAa,CAAC;AAAEvM,MAAAA,GAAF;AAAOqM,MAAAA,OAAP;AAAgBC,MAAAA,IAAAA;AAAhB,KAAD,CAAb,CAAA;AACD,GAAA;AACF;;AChgBM,MAAME,aAAa,GAAG,CAC3BxJ,iBAAS,CAACyJ,sBAAD,EAAgBC,YAAhB,CADkB,EAE3B1J,iBAAS,CAAC2J,8BAAD,EAAwBC,YAAxB,CAFkB,CAAtB,CAAA;;AAKP,UAAUF,YAAV,CAAuB;AAAEG,EAAAA,IAAF;AAAQC,EAAAA,OAAAA;AAAR,CAAvB,EAA0C;AACxC,EAAA,IAAIC,WAAW,GAAGF,IAAlB,CADwC;AAGxC;;AACA,EAAA,IAAIC,OAAO,IAAIA,OAAO,CAAC9L,OAAnB,IAA8B,OAAO8L,OAAO,CAAC9L,OAAf,KAA2B,UAA7D,EAAyE;AACvE+L,IAAAA,WAAW,GAAG,MAAMD,OAAO,CAAC9L,OAAR,CAAgB6L,IAAhB,CAApB,CAAA;AACD,GANuC;;;AASxC,EAAA,MAAMzP,QAAQ,GAAG,MAAM4P,KAAK,CAAC,mBAAD,EAAsB;AAChD1G,IAAAA,MAAM,EAAE,MADwC;AAEhDhJ,IAAAA,OAAO,EAAE;AACP2P,MAAAA,MAAM,EAAE,kBADD;AAEP,MAAgB,cAAA,EAAA,kBAAA;AAFT,KAFuC;AAMhDC,IAAAA,IAAI,EAAEjM,IAAI,CAACC,SAAL,CAAe6L,WAAf,CAAA;AAN0C,GAAtB,CAA5B,CAAA;;AASA,EAAI3P,IAAAA,QAAQ,CAAC+P,EAAb,EAAiB;AACf,IAAA,IAAIC,cAAJ,CAAA;AACA,IAAM,MAAA,GAAGC,YAAH,CAAA,GAAmB,MAAMC,YAAE,CAAClQ,QAAQ,CAACmQ,IAAT,EAAD,CAAjC,CAAA;;AACA,IAAA,IAAIF,YAAJ,EAAkB;AAChB;AACA;AACA,MAAA,IACEP,OAAO,IACPA,OAAO,CAAC1P,QADR,IAEA,OAAO0P,OAAO,CAAC1P,QAAf,KAA4B,UAH9B,EAIE;AACAgQ,QAAAA,cAAc,GAAG,MAAMN,OAAO,CAAC1P,QAAR,CAAiBiQ,YAAjB,CAAvB,CAAA;AACD,OATe;;;AAWhB,MAAA,MAAMzJ,WAAG,CAAC;AACRC,QAAAA,IAAI,EAAE8I,8BADE;AAERE,QAAAA,IAAI,EAAEO,cAAc,IAAIC,YAAAA;AAFhB,OAAD,CAAT,CAAA;AAID,KAfD,MAeO;AACL;AACA,MAAA,MAAMzJ,WAAG,CAAC;AACRC,QAAAA,IAAI,EAAE2J,6BADE;AAERtJ,QAAAA,KAAK,EAAE;AACLuJ,UAAAA,OAAO,EACL,qEAAA;AAFG,SAAA;AAFC,OAAD,CAAT,CAAA;AAOD,KAAA;AACF,GA5BD,MA4BO;AACL;AACA;AACA;AACA,IAAM,MAAA,GAAGC,aAAH,CAAA,GAAoB,MAAMJ,YAAE,CAAClQ,QAAQ,CAACmQ,IAAT,EAAD,CAAlC,CAAA;AACA,IAAA,MAAMrJ,KAAK,GAAIwJ,aAAa,IAAIA,aAAa,CAACxJ,KAAhC,IAA0CwJ,aAA1C,IAA2D,EAAzE,CALK;;AAOL,IAAA,IAAI,CAACxJ,KAAK,CAACuJ,OAAX,EAAoB;AAClBvJ,MAAAA,KAAK,CAACuJ,OAAN,GAAiB,yBAAwBrQ,QAAQ,CAACuQ,UAAW,CAA7D,CAAA,CAAA;AACAzJ,MAAAA,KAAK,CAACiI,MAAN,GAAe/O,QAAQ,CAAC+O,MAAxB,CAAA;AACD,KAAA;;AACD,IAAA,MAAMvI,WAAG,CAAC;AACRC,MAAAA,IAAI,EAAE2J,6BADE;AAERtJ,MAAAA,KAAAA;AAFQ,KAAD,CAAT,CAAA;AAID,GAAA;AACF,CAAA;;AAED,UAAU0I,YAAV,GAAyB;AACvB;AACA,EAAMgB,MAAAA,SAAS,GAAGC,qBAAW,CAAC,MAAMxK,cAAM,CAACyK,6BAAD,CAAb,CAA7B,CAAA;AACA,EAAMC,MAAAA,WAAW,GAAGH,SAAS,CAACI,YAAV,IAA0BJ,SAAS,CAACK,QAAxD,CAHuB;;AAMvB,EAAIF,IAAAA,WAAJ,EAAiB,MAAMnK,WAAG,CAACsK,gBAAQ,CAACH,WAAD,CAAT,CAAT,CAAA;AAClB;;ACvFD,MAAMI,OAAO,GAAG,0BAAhB,CAAA;AAEA,MAAMC,aAAa,GAAG,iBAAtB,CAAA;AACA,MAAMC,4BAA4B,GAAG,uBAArC,CAAA;AACA,MAAMC,+BAA+B,GAAG,eAAxC,CAAA;AACA,MAAMC,uBAAuB,GAAG,wBAAhC,CAAA;AAEA,MAAMC,aAAa,GAAI,CAAA,EAAEL,OAAQ,CAAA,CAAA,EAAGC,aAAc,CAAlD,CAAA,CAAA;AAEA,MAAMK,YAAY,GAAG;AACnBnI,EAAAA,MAAM,EAAE,KADW;AAEnBhJ,EAAAA,OAAO,EAAE;AAAE,IAAgB,cAAA,EAAA,kBAAA;AAAlB,GAAA;AAFU,CAArB,CAAA;AAKO,MAAMoR,UAAN,CAAiB;AACW,EAApBC,aAAAA,oBAAoB,CAACC,aAAD,EAAgB;AAC/C,IAAA,MAAM9M,OAAO,GAAG,EACd,GAAG2M,YADW;AAEdnR,MAAAA,OAAO,EAAE;AACP,QAAoBsR,kBAAAA,EAAAA,aAAAA;AADb,OAAA;AAFK,KAAhB,CAAA;AAMA,IAAO,OAAA,MAAMF,UAAU,CAACnR,GAAX,CAAeiR,aAAf,EAA8B1M,OAA9B,CAAb,CAAA;AACD,GAAA;;AACkC,EAAtB+M,aAAAA,sBAAsB,CAACC,SAAD,EAAY;AAC7C,IAAMhN,MAAAA,OAAO,GAAG,EACd,GAAG2M,YAAAA;AADW,KAAhB,CAAA;AAGA,IAAA,OAAO,MAAMC,UAAU,CAACnR,GAAX,CACV,CAAA,CAAA,EAAG8Q,4BAA6B,CAAA,MAAA,EAAQS,SAAU,CAAA,CADxC,EAEXhN,OAFW,CAAb,CAAA;AAID,GAAA;;AACgC,EAApBiN,aAAAA,oBAAoB,CAACC,eAAD,EAAkB;AACjD,IAAA,MAAMlN,OAAO,GAAG,EACd,GAAG2M,YADW;AAEdvB,MAAAA,IAAI,EAAEjM,IAAI,CAACC,SAAL,CAAe8N,eAAf,CAAA;AAFQ,KAAhB,CAAA;AAIAlN,IAAAA,OAAO,CAACwE,MAAR,GAAiB,MAAjB,CAAA;AAEA,IAAO,OAAA,MAAMoI,UAAU,CAACnR,GAAX,CAAgB,IAAG+Q,+BAAgC,CAAA,CAAnD,EAAsDxM,OAAtD,CAAb,CAAA;AACD,GAAA;;AACyB,EAAbmN,aAAAA,aAAa,CAACC,mBAAD,EAAsB;AAC9C,IAAA,MAAMpN,OAAO,GAAG,EACd,GAAG2M,YADW;AAEdvB,MAAAA,IAAI,EAAEjM,IAAI,CAACC,SAAL,CAAegO,mBAAf,CAAA;AAFQ,KAAhB,CAAA;AAIApN,IAAAA,OAAO,CAACwE,MAAR,GAAiB,MAAjB,CAAA;AAEA,IAAO,OAAA,MAAMoI,UAAU,CAACnR,GAAX,CAAgB,IAAGgR,uBAAwB,CAAA,CAA3C,EAA8CzM,OAA9C,CAAb,CAAA;AACD,GAAA;;AAEe,EAAA,aAAHvE,GAAG,CAACK,GAAD,EAAMkE,OAAO,GAAG2M,YAAhB,EAA8B;AAC5C,IAAI,IAAA;AACF,MAAMpB,MAAAA,YAAY,GAAG,MAAM8B,GAAG,CAACvR,GAAD,EAAMkE,OAAN,CAA9B,CAAA;AACA,MAAA,OAAOuL,YAAP,CAAA;AACD,KAHD,CAGE,OAAO+B,GAAP,EAAY;AACZ,MAAO,OAAA;AAAElL,QAAAA,KAAK,EAAE;AAAEuJ,UAAAA,OAAO,EAAE2B,GAAG,CAAC3B,OAAAA;AAAf,SAAA;AAAT,OAAP,CAAA;AACD,KAAA;AACF,GAAA;;AA7CqB,CAAA;;AAgDxB,eAAe0B,GAAf,CAAmBvR,GAAnB,EAAwBkE,OAAxB,EAAiC;AAC/B,EAAOkL,OAAAA,KAAK,CAACpP,GAAD,EAAMkE,OAAN,CAAL,CACJH,IADI,CACC,MAAMvE,QAAN,IAAkB;AACtB,IAAOA,OAAAA,QAAQ,CAACmQ,IAAT,EAAA,CAAgB5L,IAAhB,CAAqB0N,IAAI,IAAIA,IAA7B,CAAP,CAAA;AACD,GAHI,CAIJ7M,CAAAA,KAJI,CAIE0B,KAAK,IAAI;AACd,IAAA,MAAMA,KAAN,CAAA;AACD,GANI,CAAP,CAAA;AAOD;;AClDM,MAAMoL,kBAAkB,GAAG,CAChCtM,iBAAS,CAACuM,oCAAD,EAA8BC,wBAA9B,CADuB,EAEhCxM,iBAAS,CAACyM,4BAAD,EAAsBC,iBAAtB,CAFuB,EAGhC1M,iBAAS,CAAC2M,6BAAD,EAAuBC,kBAAvB,CAHuB,CAA3B,CAAA;;AAMP,UAAUJ,wBAAV,CAAmCrM,MAAnC,EAA2C;AACzC,EAAA,MAAM6L,eAAe,GAAG7L,MAAM,CAAC6L,eAA/B,CAAA;AACA,EAAA,MAAMpL,WAAG,CAAC;AACRC,IAAAA,IAAI,EAAEgM,4CAAAA;AADE,GAAD,CAAT,CAAA;;AAGA,EAAA,IAAIb,eAAe,IAAIA,eAAe,CAACF,SAAvC,EAAkD;AAChD,IAAI,IAAA;AACF,MAAMgB,MAAAA,4BAA4B,GAChC,MAAMpB,UAAU,CAACK,oBAAX,CAAgCC,eAAhC,CADR,CAAA;;AAGA,MAAA,IAAIc,4BAAJ,EAAkC;AAChC,QAAA,IAAI,CAACA,4BAA4B,CAAC5L,KAAlC,EAAyC;AACvC,UAAA,MAAMN,WAAG,CAAC;AACRC,YAAAA,IAAI,EAAEkM,4CAAAA;AADE,WAAD,CAAT,CAAA;AAGD,SAJD,MAIO;AACL,UAAA,MAAMnM,WAAG,CAAC;AACRC,YAAAA,IAAI,EAAEmM,0CADE;AAER9L,YAAAA,KAAK,EAAE4L,4BAA4B,CAAC5L,KAA7B,CAAmCuJ,OAAAA;AAFlC,WAAD,CAAT,CAAA;AAID,SAAA;AACF,OAXD,MAWO;AACL,QAAA,MAAM7J,WAAG,CAAC;AACRC,UAAAA,IAAI,EAAEmM,0CADE;AAER9L,UAAAA,KAAK,EAAE,yBAAA;AAFC,SAAD,CAAT,CAAA;AAID,OAAA;AACF,KArBD,CAqBE,OAAOA,KAAP,EAAc;AACd,MAAA,MAAMN,WAAG,CAAC;AACRC,QAAAA,IAAI,EAAEmM,0CADE;AAER9L,QAAAA,KAAK,EAAEA,KAAK,IAAIA,KAAK,CAAC/C,QAAN,EAAA;AAFR,OAAD,CAAT,CAAA;AAID,KAAA;AACF,GA5BD,MA4BO;AACL,IAAA,MAAMyC,WAAG,CAAC;AACRC,MAAAA,IAAI,EAAEmM,0CADE;AAER9L,MAAAA,KAAK,EAAE,gBAAA;AAFC,KAAD,CAAT,CAAA;AAID,GAAA;AACF,CAAA;;AAED,UAAUwL,iBAAV,CAA4BvM,MAA5B,EAAoC;AAClC,EAAA,MAAM+L,mBAAmB,GAAG/L,MAAM,CAAC+L,mBAAnC,CAAA;AAEA,EAAA,MAAMtL,WAAG,CAAC;AACRC,IAAAA,IAAI,EAAEoM,oCAAAA;AADE,GAAD,CAAT,CAAA;;AAGA,EAAA,IAAIf,mBAAmB,CAACgB,KAApB,IAA6BhB,mBAAmB,CAACiB,QAArD,EAA+D;AAC7D,IAAI,IAAA;AACF,MAAMC,MAAAA,qBAAqB,GAAG,MAAM1B,UAAU,CAACO,aAAX,CAClCC,mBADkC,CAApC,CAAA;;AAIA,MAAA,IAAIkB,qBAAJ,EAA2B;AACzB,QAAA,IAAI,CAACA,qBAAqB,CAAClM,KAA3B,EAAkC;AAChC,UAAA,MAAMN,WAAG,CAAC;AACRC,YAAAA,IAAI,EAAEwM,oCAAAA;AADE,WAAD,CAAT,CAAA;AAGD,SAJD,MAIO;AACL,UAAA,MAAMnM,KAAK,GACRkM,qBAAqB,CAAClM,KAAtB,CAA4BmL,IAA5B,IACCe,qBAAqB,CAAClM,KAAtB,CAA4BmL,IAA5B,CAAiC3J,MAAjC,GAA0C,CAD3C,IAEC0K,qBAAqB,CAAClM,KAAtB,CAA4BmL,IAA5B,CAAiC,CAAjC,CAAoC5B,CAAAA,OAFtC,IAGA2C,qBAAqB,CAAClM,KAAtB,CAA4BuJ,OAJ9B,CAAA;AAKA,UAAA,MAAM7J,WAAG,CAAC;AACRC,YAAAA,IAAI,EAAEyM,kCADE;AAERpM,YAAAA,KAAAA;AAFQ,WAAD,CAAT,CAAA;AAID,SAAA;AACF,OAhBD,MAgBO;AACL,QAAA,MAAMN,WAAG,CAAC;AACRC,UAAAA,IAAI,EAAEyM,kCADE;AAERpM,UAAAA,KAAK,EAAE,yBAAA;AAFC,SAAD,CAAT,CAAA;AAID,OAAA;AACF,KA3BD,CA2BE,OAAOA,KAAP,EAAc;AACd,MAAA,MAAMN,WAAG,CAAC;AACRC,QAAAA,IAAI,EAAEyM,kCADE;AAERpM,QAAAA,KAAK,EAAEA,KAAK,IAAIA,KAAK,CAAC/C,QAAN,EAAA;AAFR,OAAD,CAAT,CAAA;AAID,KAAA;AACF,GAlCD,MAkCO;AACL,IAAA,MAAMyC,WAAG,CAAC;AACRC,MAAAA,IAAI,EAAEyM,kCADE;AAERpM,MAAAA,KAAK,EAAE,gBAAA;AAFC,KAAD,CAAT,CAAA;AAID,GAAA;AACF;AAGD;AACA;;;AACA,UAAU0L,kBAAV,CAA6BzM,MAA7B,EAAqC;AACnC,EAAA,IACE,CAACA,MAAD,IACA,CAACA,MAAM,CAACoN,MADR,IAEA,CAACpN,MAAM,CAACqN,eAFR,IAGA,CAACrN,MAAM,CAACsN,WAJV,EAKE;AACA,IAAA,MAAM7M,WAAG,CAAC;AACRC,MAAAA,IAAI,EAAE6M,mCADE;AAERxM,MAAAA,KAAK,EAAE,mDAAA;AAFC,KAAD,CAAT,CAAA;AAIA,IAAA,OAAA;AACD,GAAA;;AAED,EAAI,IAAA;AACF,IAAA,MAAMyM,oBAAoB,GAAG;AAC3BJ,MAAAA,MAAM,EAAEpN,MAAM,CAACoN,MADY;AAE3BK,MAAAA,QAAQ,EAAEzN,MAAM,CAACqN,eAFU;AAG3BK,MAAAA,GAAG,EAAE1N,MAAM,CAACsN,WAAAA;AAHe,KAA7B,CAAA;AAMA,IAAA,MAAM7M,WAAG,CAAC;AACRC,MAAAA,IAAI,EAAEiN,qCAAAA;AADE,KAAD,CAAT,CAAA;AAGA,IAAMC,MAAAA,iBAAiB,GAAG,MAAM1N,cAAM,CAAC2N,4BAAD,EAA0B,IAA1B,CAAtC,CAAA;AACA,IAAA,MAAM7R,MAAM,GAAG,MAAM8R,4BAAsB,CAAC,EAAE,GAAGF,iBAAAA;AAAL,KAAD,CAA3C,CAAA;AAEA,IAAA,MAAM,CAAC3B,GAAD,EAAM8B,GAAN,CAAa,GAAA,MAAM5D,YAAE,CACzBnO,MAAM,CAACgS,QAAP,CAAgBC,KAAhB,CAAsBC,cAAtB,CAAqCV,oBAArC,CADyB,CAA3B,CAAA;;AAIA,IAAA,IAAIvB,GAAJ,EAAS;AAAA,MAAA,IAAA,SAAA,EAAA,cAAA,EAAA,UAAA,CAAA;;AACP,MAAA,MAAMlL,KAAK,GACR,CAAAkL,GAAG,KAAA,IAAH,IAAAA,GAAG,KAAA,KAAA,CAAH,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,SAAAA,GAAAA,GAAG,CAAEC,IAAL,MAAA,IAAA,IAAA,SAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA,cAAA,GAAA,SAAA,CAAWA,IAAX,MAAiB3J,IAAAA,IAAAA,cAAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,cAAAA,CAAAA,MAAjB,IAA0B,CAA1B,IAA+B0J,GAAG,CAACC,IAAJ,CAASA,IAAT,CAAc,CAAd,CAAA,CAAiB5B,OAAjD,KACA2B,GADA,KACAA,IAAAA,IAAAA,GADA,qCACAA,GAAG,CAAEC,IADL,MACA,IAAA,IAAA,UAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAW5B,OADX,CADF,CAAA;AAGA,MAAA,MAAM7J,WAAG,CAAC;AACRC,QAAAA,IAAI,EAAE6M,mCADE;AAERxM,QAAAA,KAAAA;AAFQ,OAAD,CAAT,CAAA;AAIA,MAAA,OAAA;AACD,KA1BC;AA6BF;AACA;AACA;;;AACA,IAAA,MAAMN,WAAG,CAAC;AACRC,MAAAA,IAAI,EAAEyN,qCAAAA;AADE,KAAD,CAAT,CAAA;AAGD,GAnCD,CAmCE,OAAOpN,KAAP,EAAc;AACd,IAAA,MAAMN,WAAG,CAAC;AACRC,MAAAA,IAAI,EAAE6M,mCADE;AAERxM,MAAAA,KAAK,EAAEA,KAAK,IAAIA,KAAK,CAAC/C,QAAN,EAAA;AAFR,KAAD,CAAT,CAAA;AAID,GAAA;AACF;;ACzKM,MAAMoQ,SAAS,GAAG,CACvB,GAAGC,gBADoB,EAEvB,GAAGhF,aAFoB,EAGvB,GAAG8C,kBAHoB,CAAlB;;ACJP;AAMe,iBAAUmC,EAAAA,YAAY,GAAG,EAAzB,EAA6B;AAC1C,EAAO,OAAA,UAAUC,QAAV,GAAqB;AAC1B,IAAMC,MAAAA,QAAQ,GAAG,CAAC,GAAG3L,YAAJ,EAAkB,GAAGjD,eAArB,EAAsC,GAAGwO,SAAzC,CAAjB,CAAA;AACA,IAAMvG,MAAAA,WAAG,CAAC,CAAC,GAAG2G,QAAJ,EAAc,GAAGF,YAAjB,CAAD,CAAT,CAAA;AACD,GAHD,CAAA;AAID;;ACXD,MAAMG,OAAO,GAAGC,OAAhB,CAAA;AAAyB;;AACzB,MAAMC,KAAK,GAAGF,OAAO,CAACE,KAAR,CAAcC,WAAd,EAAd,CAAA;AACA,MAAMC,SAAS,GAAGC,UAAlB,CAAA;AAA8B;;AAC9B,MAAMC,QAAQ,GAAGC,QAAjB,CAAA;AAA2B;AAE3B;;AACA,MAAMC,WAAW,GAAG,CAACzT,QAAD,EAAWK,KAAX,KAAqB;AACvC;AACA,EAAIL,IAAAA,QAAQ,IAAI,WAAhB,EAA6B;AAC3B,IAAQK,OAAAA,KAAK,IAAIA,KAAK,CAACqT,CAAhB,IAAsBH,QAAQ,CAAC,CAAD,CAAR,CAAYtS,EAAzC,CAAA;AACD,GAJsC;;;AAOvC,EAAIjB,IAAAA,QAAQ,IAAIqT,SAAhB,EAA2B;AACzB,IAAA,OAAOE,QAAQ,CAAC,CAAD,CAAR,CAAYtS,EAAnB,CAAA;AACD,GAAA;;AAED,EAAA,IAAI9B,OAAO,GAAG,SAAd,CAXuC;AAcvC;;AACA,EAAA,MAAMuU,CAAC,GAAGH,QAAQ,CAAC,CAAD,CAAlB,CAfuC;;AAkBvC,EAAA,IAAIvT,QAAQ,CAAC2T,QAAT,CAAkBD,CAAC,CAACL,SAApB,CAAJ,EAAoClU,OAAO,GAAGuU,CAAC,CAACzS,EAAZ,CAlBG;;AAqBvC,EAAIyS,IAAAA,CAAC,CAACzS,EAAF,CAAKyI,UAAL,CAAgB,SAAhB,CAAJ,EAAgC;AAC9B;AACA;AACA;AACA,IAAA,IACE1J,QAAQ,CAAC2T,QAAT,CAAmB,CAAA,KAAA,EAAOR,KAAM,CAAhC,oBAAA,CAAA,CAAA,IACAnT,QAAQ,CAAC2T,QAAT,CAAmB,CAAA,KAAA,EAAOR,KAAM,CAAhC,gBAAA,CAAA,CADA,IAEAnT,QAAQ,CAAC2T,QAAT,CAAmB,WAAUR,KAAM,CAAA,oBAAA,CAAnC,CAFA,IAGAnT,QAAQ,CAAC2T,QAAT,CAAmB,CAAUR,QAAAA,EAAAA,KAAM,kBAAnC,CAJF,EAMEhU,OAAO,GAAGuU,CAAC,CAACzS,EAAZ,CAAA;AACH,GAXD,MAWO;AACL;AACA,IAAA,IACEjB,QAAQ,CAAC2T,QAAT,CAAmB,GAAED,CAAC,CAACzS,EAAF,CAAKmS,WAAL,EAAmB,CAAA,CAAA,EAAGD,KAAM,CAAA,oBAAA,CAAjD,KACAnT,QAAQ,CAAC2T,QAAT,CAAmB,GAAED,CAAC,CAACzS,EAAF,CAAKmS,WAAL,EAAmB,CAAA,CAAA,EAAGD,KAAM,CAAA,gBAAA,CAAjD,CAFF,EAIEhU,OAAO,GAAGuU,CAAC,CAACzS,EAAZ,CAAA;AACH,GAvCsC;;;AAyCvC,EAAO9B,OAAAA,OAAO,KAAK,SAAZ,GAAwBuU,CAAC,CAACzS,EAA1B,GAA+B9B,OAAtC,CAAA;AACD;;AC3CKyU,MAAAA,OAAO,GAAIC,KAAD,IAAyB;AACvC,EAAA,oBAAOC,yBAAC,CAAA,aAAA,CAAAC,uBAAD,EAAiBF,KAAjB,CAAP,CAAA;AACD;;;;;;;;;;"}
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var React = require('react');
|
|
4
|
-
var reactRedux = require('react-redux');
|
|
5
|
-
var mapJson = require('jsonpath-mapper');
|
|
6
|
-
var selectors = require('./selectors-656da4b7.js');
|
|
7
|
-
var version = require('./version-eba6d09b.js');
|
|
8
|
-
var styled = require('styled-components');
|
|
9
|
-
|
|
10
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
-
|
|
12
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
|
-
var mapJson__default = /*#__PURE__*/_interopDefaultLegacy(mapJson);
|
|
14
|
-
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
15
|
-
|
|
16
|
-
const setCachingHeaders = (response, {
|
|
17
|
-
cacheControl = 'private',
|
|
18
|
-
surrogateControl = '3600'
|
|
19
|
-
}, method = 'header') => {
|
|
20
|
-
if (cacheControl) response[method]('Cache-Control', cacheControl);
|
|
21
|
-
if (surrogateControl) response[method]('Surrogate-Control', `max-age=${surrogateControl.toString()}`);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const context = typeof window != 'undefined' ? window : global;
|
|
25
|
-
const isDev = process.env.NODE_ENV === 'development';
|
|
26
|
-
|
|
27
|
-
const pj = () => isDev ? PACKAGE_JSON
|
|
28
|
-
/* global PACKAGE_JSON */
|
|
29
|
-
: context.PACKAGE_JSON || {
|
|
30
|
-
name: 'packagejson not found',
|
|
31
|
-
repository: ''
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const versionInfoProps = {
|
|
35
|
-
packageDetail: () => {
|
|
36
|
-
const pkg = pj();
|
|
37
|
-
return {
|
|
38
|
-
name: pkg.name,
|
|
39
|
-
version: pkg.version,
|
|
40
|
-
repository: pkg.repository
|
|
41
|
-
};
|
|
42
|
-
},
|
|
43
|
-
uris: {
|
|
44
|
-
gitRepo: () => pj().repository,
|
|
45
|
-
commit: state => {
|
|
46
|
-
const commitRef = version.selectCommitRef(state);
|
|
47
|
-
return `${pj().repository}/commit/${commitRef ? commitRef : ''}`;
|
|
48
|
-
},
|
|
49
|
-
pipeline: state => {
|
|
50
|
-
const buildNumber = version.selectBuildNumber(state);
|
|
51
|
-
return `${pj().repository}/${pj().repository.includes('github.com') ? 'actions/runs' : 'pipelines'}/${buildNumber ? buildNumber : ''}`;
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
zenPackageVersions: () => [...(Object.entries(pj().devDependencies || {}).filter(([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')) || []), ...(Object.entries(pj().dependencies || {}).filter(([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')) || [])],
|
|
55
|
-
deliveryApi: () => JSON.parse(JSON.stringify(DELIVERY_API_CONFIG
|
|
56
|
-
/* global DELIVERY_API_CONFIG */
|
|
57
|
-
)),
|
|
58
|
-
devEnv: () => typeof DEV_ENV !== 'undefined'
|
|
59
|
-
/* global DEV_ENV */
|
|
60
|
-
? DEV_ENV : null,
|
|
61
|
-
disableSsrRedux: () => isDev ? DISABLE_SSR_REDUX
|
|
62
|
-
/* global DISABLE_SSR_REDUX*/
|
|
63
|
-
: context.DISABLE_SSR_REDUX || false,
|
|
64
|
-
nodeEnv: () => process.env.NODE_ENV || 'production',
|
|
65
|
-
packagejson: () => pj() || {},
|
|
66
|
-
projects: () => isDev ? PROJECTS
|
|
67
|
-
/* global PROJECTS */
|
|
68
|
-
: context.PROJECTS,
|
|
69
|
-
proxyDeliveryApi: () => isDev ? PROXY_DELIVERY_API
|
|
70
|
-
/* global PROXY_DELIVERY_API */
|
|
71
|
-
: context.PROXY_DELIVERY_API || false,
|
|
72
|
-
publicUri: () => isDev ? PUBLIC_URI
|
|
73
|
-
/* global PUBLIC_URI */
|
|
74
|
-
: context.PUBLIC_URI || null,
|
|
75
|
-
project: state => selectors.selectCurrentProject(state),
|
|
76
|
-
reverseProxyPaths: () => isDev ? REVERSE_PROXY_PATHS
|
|
77
|
-
/* global REVERSE_PROXY_PATHS */
|
|
78
|
-
: context.REVERSE_PROXY_PATHS || {},
|
|
79
|
-
servers: () => isDev ? SERVERS
|
|
80
|
-
/* global SERVERS */
|
|
81
|
-
: context.SERVERS,
|
|
82
|
-
version: {
|
|
83
|
-
buildNumber: state => version.selectBuildNumber(state),
|
|
84
|
-
commitRef: state => version.selectCommitRef(state),
|
|
85
|
-
contensisVersionStatus: state => version.selectVersionStatus(state)
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
const mapStateToVersionInfo = state => {
|
|
90
|
-
const mappedProps = mapJson__default["default"](state, versionInfoProps);
|
|
91
|
-
return mappedProps;
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
const VersionInfoStyledTable = styled__default["default"].table.withConfig({
|
|
95
|
-
displayName: "VersionInfostyled__VersionInfoStyledTable",
|
|
96
|
-
componentId: "sc-ogujr7-0"
|
|
97
|
-
})(["font-family:'Source Sans Pro',Helvetica,Arial,sans-serif;font-size:1.6rem;line-height:1.5rem;border-bottom:4px solid #8892bf;border-collapse:separate;margin:0 auto;width:80%;th{text-align:left;background-color:#c4c9df;border-bottom:#8892bf 2px solid;border-bottom-color:#8892bf;border-top:20px solid #fff;}td{border-bottom:1px solid #eee;}td,th{padding:0.5rem 0.75rem;vertical-align:top;}.left{width:25%;}tr th{border-right:hidden;border-spacing:0 15px;}.green{background-color:#9c9;border-bottom:1px solid #696;}.red{background-color:#c99;border-bottom:1px solid #966;}.small{font-size:100%;line-height:2.4rem;}"]);
|
|
98
|
-
|
|
99
|
-
const VersionInfo = ({
|
|
100
|
-
deliveryApi,
|
|
101
|
-
devEnv,
|
|
102
|
-
disableSsrRedux,
|
|
103
|
-
nodeEnv,
|
|
104
|
-
packageDetail,
|
|
105
|
-
project,
|
|
106
|
-
projects,
|
|
107
|
-
proxyDeliveryApi,
|
|
108
|
-
publicUri,
|
|
109
|
-
reverseProxyPaths,
|
|
110
|
-
servers,
|
|
111
|
-
uris,
|
|
112
|
-
version,
|
|
113
|
-
zenPackageVersions
|
|
114
|
-
}) => {
|
|
115
|
-
return /*#__PURE__*/React__default["default"].createElement(VersionInfoStyledTable, null, /*#__PURE__*/React__default["default"].createElement("thead", null, /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", {
|
|
116
|
-
colSpan: 2
|
|
117
|
-
}, /*#__PURE__*/React__default["default"].createElement("h1", null, /*#__PURE__*/React__default["default"].createElement("a", {
|
|
118
|
-
href: "/"
|
|
119
|
-
}, "Version Information"))))), /*#__PURE__*/React__default["default"].createElement("tbody", null, /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("th", {
|
|
120
|
-
colSpan: 2
|
|
121
|
-
}, "Package detail")), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", {
|
|
122
|
-
className: "left"
|
|
123
|
-
}, "Name"), /*#__PURE__*/React__default["default"].createElement("td", null, packageDetail.name)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", {
|
|
124
|
-
className: "left"
|
|
125
|
-
}, "Version"), /*#__PURE__*/React__default["default"].createElement("td", null, packageDetail.version)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("th", {
|
|
126
|
-
colSpan: 2
|
|
127
|
-
}, "Version info (state)")), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Git repo url: "), /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("a", {
|
|
128
|
-
href: packageDetail.repository,
|
|
129
|
-
target: "_blank",
|
|
130
|
-
rel: "noopener noreferrer"
|
|
131
|
-
}, packageDetail.repository))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Pipeline: "), /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("a", {
|
|
132
|
-
href: uris.pipeline,
|
|
133
|
-
target: "_blank",
|
|
134
|
-
rel: "noopener noreferrer"
|
|
135
|
-
}, version.buildNumber))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Commit: "), /*#__PURE__*/React__default["default"].createElement("td", null, /*#__PURE__*/React__default["default"].createElement("a", {
|
|
136
|
-
href: uris.commit,
|
|
137
|
-
target: "_blank",
|
|
138
|
-
rel: "noopener noreferrer"
|
|
139
|
-
}, version.commitRef))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Project"), /*#__PURE__*/React__default["default"].createElement("td", {
|
|
140
|
-
className: project === 'unknown' ? 'red' : ''
|
|
141
|
-
}, project)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Contensis version status: "), /*#__PURE__*/React__default["default"].createElement("td", {
|
|
142
|
-
className: version.contensisVersionStatus === 'published' ? 'green' : 'red'
|
|
143
|
-
}, version.contensisVersionStatus)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("th", {
|
|
144
|
-
colSpan: 2
|
|
145
|
-
}, "Build configuration")), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Environment"), /*#__PURE__*/React__default["default"].createElement("td", null, servers.alias)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Public uri"), /*#__PURE__*/React__default["default"].createElement("td", null, publicUri)), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Zengenti packages"), /*#__PURE__*/React__default["default"].createElement("td", null, zenPackageVersions.map(([pkg, ver], idx) => /*#__PURE__*/React__default["default"].createElement("div", {
|
|
146
|
-
key: idx
|
|
147
|
-
}, pkg, ": ", ver)))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Servers"), /*#__PURE__*/React__default["default"].createElement("td", {
|
|
148
|
-
className: "small"
|
|
149
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", null, "web: ", servers.web), /*#__PURE__*/React__default["default"].createElement("div", null, "preview: ", servers.previewWeb), /*#__PURE__*/React__default["default"].createElement("div", null, "api: ", servers.api), /*#__PURE__*/React__default["default"].createElement("div", null, "cms: ", servers.cms), /*#__PURE__*/React__default["default"].createElement("div", null, "iis: ", servers.iis), /*#__PURE__*/React__default["default"].createElement("div", null, "iis preview: ", servers.previewIis))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Reverse proxy paths"), /*#__PURE__*/React__default["default"].createElement("td", null, Object.entries(reverseProxyPaths).map(([, path], key) => /*#__PURE__*/React__default["default"].createElement("span", {
|
|
150
|
-
key: key
|
|
151
|
-
}, "[ ", path, " ] ")))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Projects"), /*#__PURE__*/React__default["default"].createElement("td", null, Object.entries(projects).map(([, project], key) => /*#__PURE__*/React__default["default"].createElement("div", {
|
|
152
|
-
key: key
|
|
153
|
-
}, "[ ", project.id, ": ", project.publicUri, " ]")))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Delivery API"), /*#__PURE__*/React__default["default"].createElement("td", {
|
|
154
|
-
className: "small"
|
|
155
|
-
}, /*#__PURE__*/React__default["default"].createElement("ul", {
|
|
156
|
-
style: {
|
|
157
|
-
margin: 0,
|
|
158
|
-
padding: 0
|
|
159
|
-
}
|
|
160
|
-
}, Object.entries(deliveryApi).map(([key, value], idx) => {
|
|
161
|
-
if (typeof value === 'object') return null;
|
|
162
|
-
return /*#__PURE__*/React__default["default"].createElement("li", {
|
|
163
|
-
key: idx,
|
|
164
|
-
style: {
|
|
165
|
-
listStyleType: 'none'
|
|
166
|
-
}
|
|
167
|
-
}, key, ": ", /*#__PURE__*/React__default["default"].createElement("span", null, value));
|
|
168
|
-
})))), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Proxy Delivery API requests"), /*#__PURE__*/React__default["default"].createElement("td", {
|
|
169
|
-
className: proxyDeliveryApi ? 'green' : 'red'
|
|
170
|
-
}, proxyDeliveryApi.toString())), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "Disable SSR inline-redux"), /*#__PURE__*/React__default["default"].createElement("td", null, disableSsrRedux.toString())), /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "NODE_ENV"), /*#__PURE__*/React__default["default"].createElement("td", {
|
|
171
|
-
className: nodeEnv === 'production' ? 'green' : 'red'
|
|
172
|
-
}, nodeEnv.toString())), devEnv && /*#__PURE__*/React__default["default"].createElement("tr", null, /*#__PURE__*/React__default["default"].createElement("td", null, "process.env"), /*#__PURE__*/React__default["default"].createElement("td", null, Object.entries(devEnv).map(([k, v], key) => /*#__PURE__*/React__default["default"].createElement("div", {
|
|
173
|
-
key: key
|
|
174
|
-
}, "[ ", k, ": ", v, " ]"))))));
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
var VersionInfo$1 = reactRedux.connect(mapStateToVersionInfo)(VersionInfo);
|
|
178
|
-
|
|
179
|
-
exports.VersionInfo = VersionInfo$1;
|
|
180
|
-
exports.setCachingHeaders = setCachingHeaders;
|
|
181
|
-
//# sourceMappingURL=VersionInfo-4c9dfa6a.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VersionInfo-4c9dfa6a.js","sources":["../src/server/features/caching/setCachingHeaders.ts","../src/app/pages/VersionInfo/transformations/state-to-versioninfoprops.mapper.ts","../src/app/pages/VersionInfo/components/VersionInfo.styled.tsx","../src/app/pages/VersionInfo/components/VersionInfo.tsx"],"sourcesContent":["import { Response } from 'express';\n\nconst setCachingHeaders = (\n response: Response,\n { cacheControl = 'private', surrogateControl = '3600' },\n method = 'header'\n) => {\n if (cacheControl) response[method]('Cache-Control', cacheControl);\n if (surrogateControl)\n response[method](\n 'Surrogate-Control',\n `max-age=${surrogateControl.toString()}`\n );\n};\n\nexport default setCachingHeaders;\n","import { default as mapJson } from '~/util/json-mapper';\nimport { selectCurrentProject } from '~/routing/redux/selectors';\nimport {\n selectBuildNumber,\n selectCommitRef,\n selectVersionStatus,\n} from '~/redux/selectors/version';\nimport { IVersionInfoProps } from '../components/VersionInfo';\n\nconst context = (\n typeof window != 'undefined' ? window : global\n) as typeof globalThis & {\n DISABLE_SSR_REDUX: any;\n PACKAGE_JSON: any;\n PROJECTS: any;\n PROXY_DELIVERY_API: any;\n PUBLIC_URI: any;\n REVERSE_PROXY_PATHS: string[];\n SERVERS: any;\n};\n\nconst isDev = process.env.NODE_ENV === 'development';\n\nconst pj = () =>\n isDev\n ? PACKAGE_JSON /* global PACKAGE_JSON */\n : context.PACKAGE_JSON || { name: 'packagejson not found', repository: '' };\n\nconst versionInfoProps = {\n packageDetail: () => {\n const pkg = pj();\n return { name: pkg.name, version: pkg.version, repository: pkg.repository };\n },\n uris: {\n gitRepo: () => pj().repository,\n commit: state => {\n const commitRef = selectCommitRef(state);\n return `${pj().repository}/commit/${commitRef ? commitRef : ''}`;\n },\n pipeline: state => {\n const buildNumber = selectBuildNumber(state);\n return `${pj().repository}/${\n pj().repository.includes('github.com') ? 'actions/runs' : 'pipelines'\n }/${buildNumber ? buildNumber : ''}`;\n },\n },\n zenPackageVersions: () => [\n ...(Object.entries(pj().devDependencies || {}).filter(\n ([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')\n ) || []),\n ...(Object.entries(pj().dependencies || {}).filter(\n ([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')\n ) || []),\n ],\n deliveryApi: () =>\n JSON.parse(\n JSON.stringify(DELIVERY_API_CONFIG /* global DELIVERY_API_CONFIG */)\n ),\n devEnv: () =>\n typeof DEV_ENV !== 'undefined' /* global DEV_ENV */ ? DEV_ENV : null,\n disableSsrRedux: () =>\n isDev\n ? DISABLE_SSR_REDUX /* global DISABLE_SSR_REDUX*/\n : context.DISABLE_SSR_REDUX || false,\n nodeEnv: () => process.env.NODE_ENV || 'production',\n packagejson: () => pj() || {},\n projects: () => (isDev ? PROJECTS /* global PROJECTS */ : context.PROJECTS),\n proxyDeliveryApi: () =>\n isDev\n ? PROXY_DELIVERY_API /* global PROXY_DELIVERY_API */\n : context.PROXY_DELIVERY_API || false,\n publicUri: () =>\n isDev ? PUBLIC_URI /* global PUBLIC_URI */ : context.PUBLIC_URI || null,\n project: state => selectCurrentProject(state),\n reverseProxyPaths: () =>\n isDev\n ? REVERSE_PROXY_PATHS /* global REVERSE_PROXY_PATHS */\n : context.REVERSE_PROXY_PATHS || {},\n servers: () => (isDev ? SERVERS /* global SERVERS */ : context.SERVERS),\n version: {\n buildNumber: state => selectBuildNumber(state),\n commitRef: state => selectCommitRef(state),\n contensisVersionStatus: state => selectVersionStatus(state),\n },\n};\n\nconst mapStateToVersionInfo = state => {\n const mappedProps = mapJson(state, versionInfoProps);\n return mappedProps as IVersionInfoProps;\n};\n\nexport default mapStateToVersionInfo;\n","import styled from 'styled-components';\n\nexport const VersionInfoStyledTable = styled.table`\n font-family: 'Source Sans Pro', Helvetica, Arial, sans-serif;\n font-size: 1.6rem;\n line-height: 1.5rem;\n border-bottom: 4px solid #8892bf;\n border-collapse: separate;\n margin: 0 auto;\n width: 80%;\n th {\n text-align: left;\n background-color: #c4c9df;\n border-bottom: #8892bf 2px solid;\n border-bottom-color: #8892bf;\n border-top: 20px solid #fff;\n }\n td {\n border-bottom: 1px solid #eee;\n }\n td,\n th {\n padding: 0.5rem 0.75rem;\n vertical-align: top;\n }\n .left {\n width: 25%;\n }\n tr th {\n border-right: hidden;\n border-spacing: 0 15px;\n }\n .green {\n background-color: #9c9;\n border-bottom: 1px solid #696;\n }\n .red {\n background-color: #c99;\n border-bottom: 1px solid #966;\n }\n .small {\n font-size: 100%;\n line-height: 2.4rem;\n }\n`;\n","import React from 'react';\nimport { connect } from 'react-redux';\n\nimport mapStateToVersionInfo from '../transformations/state-to-versioninfoprops.mapper';\n\nimport { VersionInfoStyledTable } from './VersionInfo.styled';\n\nexport interface IVersionInfoProps {\n deliveryApi: {\n rootUrl: string;\n accessToken: string;\n projectId: string;\n livePublishingRootUrl: string;\n };\n devEnv: any;\n disableSsrRedux: boolean;\n nodeEnv: string;\n packageDetail: any;\n project: string;\n projects;\n proxyDeliveryApi;\n publicUri: string;\n reverseProxyPaths: string[];\n servers: {\n alias: string;\n api: string;\n cms: string;\n web: string;\n iis: string;\n previewIis: string;\n previewWeb: string;\n };\n uris: {\n gitRepo: string;\n commit: string;\n pipeline: string;\n };\n version: {\n buildNumber: string;\n commitRef: string;\n contensisVersionStatus: string;\n };\n zenPackageVersions: string[];\n}\n\nconst VersionInfo = ({\n deliveryApi,\n devEnv,\n disableSsrRedux,\n nodeEnv,\n packageDetail,\n project,\n projects,\n proxyDeliveryApi,\n publicUri,\n reverseProxyPaths,\n servers,\n uris,\n version,\n zenPackageVersions,\n}: IVersionInfoProps) => {\n return (\n <VersionInfoStyledTable>\n <thead>\n <tr>\n <td colSpan={2}>\n <h1>\n <a href=\"/\">Version Information</a>\n </h1>\n </td>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th colSpan={2}>Package detail</th>\n </tr>\n <tr>\n <td className=\"left\">Name</td>\n <td>{packageDetail.name}</td>\n </tr>\n <tr>\n <td className=\"left\">Version</td>\n <td>{packageDetail.version}</td>\n </tr>\n <tr>\n <th colSpan={2}>Version info (state)</th>\n </tr>\n <tr>\n <td>Git repo url: </td>\n <td>\n <a\n href={packageDetail.repository}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {packageDetail.repository}\n </a>\n </td>\n </tr>\n <tr>\n <td>Pipeline: </td>\n <td>\n <a href={uris.pipeline} target=\"_blank\" rel=\"noopener noreferrer\">\n {version.buildNumber}\n </a>\n </td>\n </tr>\n <tr>\n <td>Commit: </td>\n <td>\n <a href={uris.commit} target=\"_blank\" rel=\"noopener noreferrer\">\n {version.commitRef}\n </a>\n </td>\n </tr>\n {/* <tr>\n <td>Last release ref: </td>\n <td></td>\n </tr>\n <tr>\n <td>Number of commits since last release: </td>\n <td></td>\n </tr> */}\n <tr>\n <td>Project</td>\n <td className={project === 'unknown' ? 'red' : ''}>{project}</td>\n </tr>\n <tr>\n <td>Contensis version status: </td>\n <td\n className={\n version.contensisVersionStatus === 'published' ? 'green' : 'red'\n }\n >\n {version.contensisVersionStatus}\n </td>\n </tr>\n <tr>\n <th colSpan={2}>Build configuration</th>\n </tr>\n <tr>\n <td>Environment</td>\n <td>{servers.alias}</td>\n </tr>\n <tr>\n <td>Public uri</td>\n <td>{publicUri}</td>\n </tr>\n <tr>\n <td>Zengenti packages</td>\n <td>\n {zenPackageVersions.map(([pkg, ver], idx) => (\n <div key={idx}>\n {pkg}: {ver}\n </div>\n ))}\n </td>\n </tr>\n <tr>\n <td>Servers</td>\n <td className=\"small\">\n <div>web: {servers.web}</div>\n <div>preview: {servers.previewWeb}</div>\n <div>api: {servers.api}</div>\n <div>cms: {servers.cms}</div>\n <div>iis: {servers.iis}</div>\n <div>iis preview: {servers.previewIis}</div>\n </td>\n </tr>\n <tr>\n <td>Reverse proxy paths</td>\n <td>\n {Object.entries(reverseProxyPaths).map(([, path], key) => (\n <span key={key}>[ {path} ] </span>\n ))}\n </td>\n </tr>\n <tr>\n <td>Projects</td>\n <td>\n {Object.entries(\n projects as {\n id: string;\n publicUri: string;\n }[]\n ).map(([, project], key) => (\n <div key={key}>\n [ {project.id}: {project.publicUri} ]\n </div>\n ))}\n </td>\n </tr>\n <tr>\n <td>Delivery API</td>\n <td className=\"small\">\n <ul style={{ margin: 0, padding: 0 }}>\n {Object.entries(deliveryApi).map(\n ([key, value]: [string, any], idx) => {\n if (typeof value === 'object') return null;\n return (\n <li key={idx} style={{ listStyleType: 'none' }}>\n {key}: <span>{value}</span>\n </li>\n );\n }\n )}\n </ul>\n </td>\n </tr>\n <tr>\n <td>Proxy Delivery API requests</td>\n <td className={proxyDeliveryApi ? 'green' : 'red'}>\n {proxyDeliveryApi.toString()}\n </td>\n </tr>\n <tr>\n <td>Disable SSR inline-redux</td>\n <td>{disableSsrRedux.toString()}</td>\n </tr>\n <tr>\n <td>NODE_ENV</td>\n <td className={nodeEnv === 'production' ? 'green' : 'red'}>\n {nodeEnv.toString()}\n </td>\n </tr>\n {devEnv && (\n <tr>\n <td>process.env</td>\n <td>\n {Object.entries(devEnv).map(([k, v], key) => (\n <div key={key}>\n [ {k}: {v} ]\n </div>\n ))}\n </td>\n </tr>\n )}\n </tbody>\n </VersionInfoStyledTable>\n );\n};\n\nexport default connect(mapStateToVersionInfo)(VersionInfo);\n"],"names":["setCachingHeaders","response","cacheControl","surrogateControl","method","toString","context","window","global","isDev","process","env","NODE_ENV","pj","PACKAGE_JSON","name","repository","versionInfoProps","packageDetail","pkg","version","uris","gitRepo","commit","state","commitRef","selectCommitRef","pipeline","buildNumber","selectBuildNumber","includes","zenPackageVersions","Object","entries","devDependencies","filter","dependencies","deliveryApi","JSON","parse","stringify","DELIVERY_API_CONFIG","devEnv","DEV_ENV","disableSsrRedux","DISABLE_SSR_REDUX","nodeEnv","packagejson","projects","PROJECTS","proxyDeliveryApi","PROXY_DELIVERY_API","publicUri","PUBLIC_URI","project","selectCurrentProject","reverseProxyPaths","REVERSE_PROXY_PATHS","servers","SERVERS","contensisVersionStatus","selectVersionStatus","mapStateToVersionInfo","mappedProps","mapJson","VersionInfoStyledTable","styled","table","VersionInfo","React","alias","map","ver","idx","web","previewWeb","api","cms","iis","previewIis","path","key","id","margin","padding","value","listStyleType","k","v","connect"],"mappings":"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"}
|