@mirai/core 0.1.135 → 0.1.137
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/build/Core.provider.js
CHANGED
|
@@ -30,8 +30,6 @@ const CoreProvider = _ref => {
|
|
|
30
30
|
(async () => {
|
|
31
31
|
const urlParams = (0, _helpers.fetchUrlParams)(location.search);
|
|
32
32
|
const cookies = (0, _helpers.fetchCookies)([_Core3.COOKIE_CART, _Core3.COOKIE_PESTANA, _Core3.COOKIE_VALUES]);
|
|
33
|
-
let session = (0, _helpers.fetchSession)(urlParams);
|
|
34
|
-
if (session && !(await (0, _helpers.checkSession)(id))) session = undefined;
|
|
35
33
|
const instance = {
|
|
36
34
|
currency,
|
|
37
35
|
id,
|
|
@@ -40,6 +38,8 @@ const CoreProvider = _ref => {
|
|
|
40
38
|
hotel
|
|
41
39
|
};
|
|
42
40
|
const config = await (0, _helpers.fetchConfig)(instance);
|
|
41
|
+
let session = (0, _helpers.fetchSession)(urlParams);
|
|
42
|
+
if (session && !(await (0, _helpers.checkSession)(id, config))) session = undefined;
|
|
43
43
|
setStore((0, _helpers.consolidateStore)({
|
|
44
44
|
config,
|
|
45
45
|
cookies,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Core.provider.js","names":["CoreProvider","children","currency","hotel","id","locale","metrics","type","value","store","setStore","useState","useLayoutEffect","urlParams","fetchUrlParams","location","search","cookies","fetchCookies","COOKIE_CART","COOKIE_PESTANA","COOKIE_VALUES","
|
|
1
|
+
{"version":3,"file":"Core.provider.js","names":["CoreProvider","children","currency","hotel","id","locale","metrics","type","value","store","setStore","useState","useLayoutEffect","urlParams","fetchUrlParams","location","search","cookies","fetchCookies","COOKIE_CART","COOKIE_PESTANA","COOKIE_VALUES","instance","config","fetchConfig","session","fetchSession","checkSession","undefined","consolidateStore","process","env","METRICS","propTypes","PropTypes","node","isRequired","string","oneOf","Object","values","TYPE","shape"],"sources":["../src/Core.provider.jsx"],"sourcesContent":["import { MetricsProvider, StoreProvider } from '@mirai/data-sources';\nimport PropTypes from 'prop-types';\nimport React, { useLayoutEffect, useState } from 'react';\n\nimport { Core } from './Core';\nimport { TYPE } from './Core.constants';\nimport { COOKIE_CART, COOKIE_PESTANA, COOKIE_VALUES } from './Core.definition';\nimport { checkSession, consolidateStore, fetchConfig, fetchCookies, fetchSession, fetchUrlParams } from './helpers';\n\nconst CoreProvider = ({ children, currency, hotel, id, locale, metrics, type, value = {} }) => {\n const [store, setStore] = useState();\n\n useLayoutEffect(() => {\n (async () => {\n const urlParams = fetchUrlParams(location.search);\n const cookies = fetchCookies([COOKIE_CART, COOKIE_PESTANA, COOKIE_VALUES]);\n const instance = { currency, id, type, locale, hotel };\n const config = await fetchConfig(instance);\n\n let session = fetchSession(urlParams);\n if (session && !(await checkSession(id, config))) session = undefined;\n\n setStore(consolidateStore({ config, cookies, instance, session, urlParams }));\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return store ? (\n <MetricsProvider token={metrics || process.env.METRICS}>\n <StoreProvider value={{ ...store, ...value }}>\n <Core>{children}</Core>\n </StoreProvider>\n </MetricsProvider>\n ) : null;\n};\n\nCoreProvider.propTypes = {\n children: PropTypes.node.isRequired,\n currency: PropTypes.string,\n hotel: PropTypes.string,\n id: PropTypes.string.isRequired,\n locale: PropTypes.string,\n metrics: PropTypes.string,\n type: PropTypes.oneOf(Object.values(TYPE)),\n value: PropTypes.shape({}),\n};\n\nexport { CoreProvider };\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAoH;AAAA;AAAA;AAEpH,MAAMA,YAAY,GAAG,QAA0E;EAAA,IAAzE;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,EAAE;IAAEC,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC,KAAK,GAAG,CAAC;EAAE,CAAC;EACxF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,GAAE;EAEpC,IAAAC,sBAAe,EAAC,MAAM;IACpB,CAAC,YAAY;MACX,MAAMC,SAAS,GAAG,IAAAC,uBAAc,EAACC,QAAQ,CAACC,MAAM,CAAC;MACjD,MAAMC,OAAO,GAAG,IAAAC,qBAAY,EAAC,CAACC,kBAAW,EAAEC,qBAAc,EAAEC,oBAAa,CAAC,CAAC;MAC1E,MAAMC,QAAQ,GAAG;QAAEpB,QAAQ;QAAEE,EAAE;QAAEG,IAAI;QAAEF,MAAM;QAAEF;MAAM,CAAC;MACtD,MAAMoB,MAAM,GAAG,MAAM,IAAAC,oBAAW,EAACF,QAAQ,CAAC;MAE1C,IAAIG,OAAO,GAAG,IAAAC,qBAAY,EAACb,SAAS,CAAC;MACrC,IAAIY,OAAO,IAAI,EAAE,MAAM,IAAAE,qBAAY,EAACvB,EAAE,EAAEmB,MAAM,CAAC,CAAC,EAAEE,OAAO,GAAGG,SAAS;MAErElB,QAAQ,CAAC,IAAAmB,yBAAgB,EAAC;QAAEN,MAAM;QAAEN,OAAO;QAAEK,QAAQ;QAAEG,OAAO;QAAEZ;MAAU,CAAC,CAAC,CAAC;IAC/E,CAAC,GAAG;IACJ;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOJ,KAAK,gBACV,6BAAC,4BAAe;IAAC,KAAK,EAAEH,OAAO,IAAIwB,OAAO,CAACC,GAAG,CAACC;EAAQ,gBACrD,6BAAC,0BAAa;IAAC,KAAK,EAAE;MAAE,GAAGvB,KAAK;MAAE,GAAGD;IAAM;EAAE,gBAC3C,6BAAC,UAAI,QAAEP,QAAQ,CAAQ,CACT,CACA,GAChB,IAAI;AACV,CAAC;AAAC;AAEFD,YAAY,CAACiC,SAAS,GAAG;EACvBhC,QAAQ,EAAEiC,kBAAS,CAACC,IAAI,CAACC,UAAU;EACnClC,QAAQ,EAAEgC,kBAAS,CAACG,MAAM;EAC1BlC,KAAK,EAAE+B,kBAAS,CAACG,MAAM;EACvBjC,EAAE,EAAE8B,kBAAS,CAACG,MAAM,CAACD,UAAU;EAC/B/B,MAAM,EAAE6B,kBAAS,CAACG,MAAM;EACxB/B,OAAO,EAAE4B,kBAAS,CAACG,MAAM;EACzB9B,IAAI,EAAE2B,kBAAS,CAACI,KAAK,CAACC,MAAM,CAACC,MAAM,CAACC,WAAI,CAAC,CAAC;EAC1CjC,KAAK,EAAE0B,kBAAS,CAACQ,KAAK,CAAC,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -5,8 +5,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.checkSession = void 0;
|
|
7
7
|
var _services = require("@mirai/services");
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
}
|
|
8
|
+
const MIRAI = 1;
|
|
9
|
+
const checkSession = async function (idHotel) {
|
|
10
|
+
let config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
11
|
+
const {
|
|
12
|
+
club: {
|
|
13
|
+
club: {
|
|
14
|
+
authentication: {
|
|
15
|
+
type = MIRAI
|
|
16
|
+
} = {},
|
|
17
|
+
idClub
|
|
18
|
+
} = {}
|
|
19
|
+
} = {}
|
|
20
|
+
} = config;
|
|
21
|
+
const response = await _services.ServiceUser.check({
|
|
22
|
+
idHotel
|
|
23
|
+
});
|
|
24
|
+
if (!response && type !== MIRAI && idClub) document.location.href = `${process.env.SERVICE_USER}/club/v1/forwarder/expiration?idClub=${idClub}`;
|
|
25
|
+
return response;
|
|
26
|
+
};
|
|
11
27
|
exports.checkSession = checkSession;
|
|
12
28
|
//# sourceMappingURL=checkSession.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkSession.js","names":["checkSession","idHotel","ServiceUser","check"],"sources":["../../src/helpers/checkSession.js"],"sourcesContent":["import { ServiceUser } from '@mirai/services';\n\nexport const checkSession = async (idHotel) => await ServiceUser.check({ idHotel });\n"],"mappings":";;;;;;AAAA;
|
|
1
|
+
{"version":3,"file":"checkSession.js","names":["MIRAI","checkSession","idHotel","config","club","authentication","type","idClub","response","ServiceUser","check","document","location","href","process","env","SERVICE_USER"],"sources":["../../src/helpers/checkSession.js"],"sourcesContent":["import { ServiceUser } from '@mirai/services';\n\nconst MIRAI = 1;\n\nexport const checkSession = async (idHotel, config = {}) => {\n const { club: { club: { authentication: { type = MIRAI } = {}, idClub } = {} } = {} } = config;\n const response = await ServiceUser.check({ idHotel });\n\n if (!response && type !== MIRAI && idClub)\n document.location.href = `${process.env.SERVICE_USER}/club/v1/forwarder/expiration?idClub=${idClub}`;\n\n return response;\n};\n"],"mappings":";;;;;;AAAA;AAEA,MAAMA,KAAK,GAAG,CAAC;AAER,MAAMC,YAAY,GAAG,gBAAOC,OAAO,EAAkB;EAAA,IAAhBC,MAAM,uEAAG,CAAC,CAAC;EACrD,MAAM;IAAEC,IAAI,EAAE;MAAEA,IAAI,EAAE;QAAEC,cAAc,EAAE;UAAEC,IAAI,GAAGN;QAAM,CAAC,GAAG,CAAC,CAAC;QAAEO;MAAO,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGJ,MAAM;EAC9F,MAAMK,QAAQ,GAAG,MAAMC,qBAAW,CAACC,KAAK,CAAC;IAAER;EAAQ,CAAC,CAAC;EAErD,IAAI,CAACM,QAAQ,IAAIF,IAAI,KAAKN,KAAK,IAAIO,MAAM,EACvCI,QAAQ,CAACC,QAAQ,CAACC,IAAI,GAAI,GAAEC,OAAO,CAACC,GAAG,CAACC,YAAa,wCAAuCT,MAAO,EAAC;EAEtG,OAAOC,QAAQ;AACjB,CAAC;AAAC"}
|
package/build/index.js
CHANGED
|
@@ -67,7 +67,7 @@ window.Mirai.core = async () => {
|
|
|
67
67
|
(0, _helpers.theme)();
|
|
68
68
|
|
|
69
69
|
// 9. Check session
|
|
70
|
-
if (session && !(await (0, _helpers.checkSession)(instance.id))) session = undefined;
|
|
70
|
+
if (session && !(await (0, _helpers.checkSession)(instance.id, config))) session = undefined;
|
|
71
71
|
if (session && Sentry) Sentry.setUser(session);
|
|
72
72
|
|
|
73
73
|
// 10. Consolidate store
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["window","Mirai","environment","process","env","NODE_ENV","Event","services","booking","SERVICE_BOOKING","club","SERVICE_CLUB","dictionary","SERVICE_DICTIONARY","engine","SERVICE_ENGINE","static","SERVICE_STATIC","user","SERVICE_USER","version","core","isProduction","isDevelopment","console","log","name","urlParams","fetchUrlParams","location","search","cookies","fetchCookies","COOKIE_CART","COOKIE_PESTANA","COOKIE_VALUES","session","fetchSession","loadEnvironment","undefined","instance","findInstance","components","findComponents","length","ReactDOM","render","el","config","fetchConfig","Sentry","loadSentry","SENTRY","theme","checkSession","id","setUser","store","consolidateStore","METRICS"],"sources":["../src/index.js"],"sourcesContent":["/* eslint-disable no-console */\nimport { Event, MetricsProvider, StoreProvider } from '@mirai/data-sources';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { name, version } from '../package.json';\nimport { Core } from './Core';\nimport { COOKIE_CART, COOKIE_PESTANA, COOKIE_VALUES } from './Core.definition';\nimport {\n checkSession,\n consolidateStore,\n fetchConfig,\n fetchCookies,\n fetchSession,\n fetchUrlParams,\n findComponents,\n findInstance,\n loadEnvironment,\n loadSentry,\n theme,\n} from './helpers';\n\nwindow.Mirai = {\n ...window.Mirai,\n environment: process.env.NODE_ENV,\n Event,\n services: {\n booking: process.env.SERVICE_BOOKING,\n club: process.env.SERVICE_CLUB,\n dictionary: process.env.SERVICE_DICTIONARY,\n engine: process.env.SERVICE_ENGINE,\n static: process.env.SERVICE_STATIC,\n user: process.env.SERVICE_USER,\n },\n version,\n};\n\nwindow.Mirai.core = async () => {\n const isProduction = process.env.NODE_ENV === 'production';\n const isDevelopment = process.env.NODE_ENV === 'development';\n\n console.log(`${isProduction ? '🟢' : isDevelopment ? '🟡' : '🔴'} ${name} v${version} [${process.env.NODE_ENV}]`);\n\n // 1. Fetch client-side dataSources\n const urlParams = fetchUrlParams(location.search);\n const cookies = fetchCookies([COOKIE_CART, COOKIE_PESTANA, COOKIE_VALUES]);\n let session = fetchSession(urlParams);\n\n // 2. Analize environment\n const environment = urlParams.env && isProduction ? loadEnvironment(urlParams.env) : undefined;\n if (environment) return;\n\n // 3. Find instance\n const instance = findInstance({ urlParams });\n if (!instance) return;\n\n // 4. Find components\n const components = findComponents();\n if (!components.length) return;\n\n // 5. Render skeletons\n ReactDOM.render(\n <React.StrictMode>\n <Core {...{ components }} skeleton />\n </React.StrictMode>,\n instance.el,\n );\n\n // 6. Analize id to fetch its config\n const config = await fetchConfig(instance);\n if (!config) return;\n window.Mirai.config = config;\n\n // 7. Sentry\n const Sentry = loadSentry(process.env.SENTRY, version);\n window.Mirai.Sentry = Sentry;\n\n // 8. Theming\n theme();\n\n // 9. Check session\n if (session && !(await checkSession(instance.id))) session = undefined;\n if (session && Sentry) Sentry.setUser(session);\n\n // 10. Consolidate store\n const store = consolidateStore({ config, cookies, instance, session, urlParams });\n\n // 11. Render components\n ReactDOM.render(\n <React.StrictMode>\n <MetricsProvider token={process.env.METRICS}>\n <StoreProvider value={store}>\n <Core {...{ components }} />\n </StoreProvider>\n </MetricsProvider>\n </React.StrictMode>,\n instance.el,\n );\n};\n\nwindow.Mirai.core();\n"],"mappings":";;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAYmB;AApBnB;;AAsBAA,MAAM,CAACC,KAAK,GAAG;EACb,GAAGD,MAAM,CAACC,KAAK;EACfC,WAAW,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ;EACjCC,KAAK,EAALA,kBAAK;EACLC,QAAQ,EAAE;IACRC,OAAO,EAAEL,OAAO,CAACC,GAAG,CAACK,eAAe;IACpCC,IAAI,EAAEP,OAAO,CAACC,GAAG,CAACO,YAAY;IAC9BC,UAAU,EAAET,OAAO,CAACC,GAAG,CAACS,kBAAkB;IAC1CC,MAAM,EAAEX,OAAO,CAACC,GAAG,CAACW,cAAc;IAClCC,MAAM,EAAEb,OAAO,CAACC,GAAG,CAACa,cAAc;IAClCC,IAAI,EAAEf,OAAO,CAACC,GAAG,CAACe;EACpB,CAAC;EACDC,OAAO,EAAPA;AACF,CAAC;AAEDpB,MAAM,CAACC,KAAK,CAACoB,IAAI,GAAG,YAAY;EAC9B,MAAMC,YAAY,GAAGnB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY;EAC1D,MAAMkB,aAAa,GAAGpB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa;EAE5DmB,OAAO,CAACC,GAAG,CAAE,GAAEH,YAAY,GAAG,IAAI,GAAGC,aAAa,GAAG,IAAI,GAAG,IAAK,IAAGG,aAAK,KAAIN,gBAAQ,KAAIjB,OAAO,CAACC,GAAG,CAACC,QAAS,GAAE,CAAC;;EAEjH;EACA,MAAMsB,SAAS,GAAG,IAAAC,uBAAc,EAACC,QAAQ,CAACC,MAAM,CAAC;EACjD,MAAMC,OAAO,GAAG,IAAAC,qBAAY,EAAC,CAACC,kBAAW,EAAEC,qBAAc,EAAEC,oBAAa,CAAC,CAAC;EAC1E,IAAIC,OAAO,GAAG,IAAAC,qBAAY,EAACV,SAAS,CAAC;;EAErC;EACA,MAAMzB,WAAW,GAAGyB,SAAS,CAACvB,GAAG,IAAIkB,YAAY,GAAG,IAAAgB,wBAAe,EAACX,SAAS,CAACvB,GAAG,CAAC,GAAGmC,SAAS;EAC9F,IAAIrC,WAAW,EAAE;;EAEjB;EACA,MAAMsC,QAAQ,GAAG,IAAAC,qBAAY,EAAC;IAAEd;EAAU,CAAC,CAAC;EAC5C,IAAI,CAACa,QAAQ,EAAE;;EAEf;EACA,MAAME,UAAU,GAAG,IAAAC,uBAAc,GAAE;EACnC,IAAI,CAACD,UAAU,CAACE,MAAM,EAAE;;EAExB;EACAC,iBAAQ,CAACC,MAAM,eACb,6BAAC,cAAK,CAAC,UAAU,qBACf,6BAAC,UAAI;IAAOJ,UAAU;IAAI,QAAQ;EAAA,EAAG,CACpB,EACnBF,QAAQ,CAACO,EAAE,CACZ;;EAED;EACA,MAAMC,MAAM,GAAG,MAAM,IAAAC,oBAAW,EAACT,QAAQ,CAAC;EAC1C,IAAI,CAACQ,MAAM,EAAE;EACbhD,MAAM,CAACC,KAAK,CAAC+C,MAAM,GAAGA,MAAM;;EAE5B;EACA,MAAME,MAAM,GAAG,IAAAC,mBAAU,EAAChD,OAAO,CAACC,GAAG,CAACgD,MAAM,EAAEhC,gBAAO,CAAC;EACtDpB,MAAM,CAACC,KAAK,CAACiD,MAAM,GAAGA,MAAM;;EAE5B;EACA,IAAAG,cAAK,GAAE;;EAEP;EACA,IAAIjB,OAAO,IAAI,EAAE,MAAM,IAAAkB,qBAAY,EAACd,QAAQ,CAACe,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","names":["window","Mirai","environment","process","env","NODE_ENV","Event","services","booking","SERVICE_BOOKING","club","SERVICE_CLUB","dictionary","SERVICE_DICTIONARY","engine","SERVICE_ENGINE","static","SERVICE_STATIC","user","SERVICE_USER","version","core","isProduction","isDevelopment","console","log","name","urlParams","fetchUrlParams","location","search","cookies","fetchCookies","COOKIE_CART","COOKIE_PESTANA","COOKIE_VALUES","session","fetchSession","loadEnvironment","undefined","instance","findInstance","components","findComponents","length","ReactDOM","render","el","config","fetchConfig","Sentry","loadSentry","SENTRY","theme","checkSession","id","setUser","store","consolidateStore","METRICS"],"sources":["../src/index.js"],"sourcesContent":["/* eslint-disable no-console */\nimport { Event, MetricsProvider, StoreProvider } from '@mirai/data-sources';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { name, version } from '../package.json';\nimport { Core } from './Core';\nimport { COOKIE_CART, COOKIE_PESTANA, COOKIE_VALUES } from './Core.definition';\nimport {\n checkSession,\n consolidateStore,\n fetchConfig,\n fetchCookies,\n fetchSession,\n fetchUrlParams,\n findComponents,\n findInstance,\n loadEnvironment,\n loadSentry,\n theme,\n} from './helpers';\n\nwindow.Mirai = {\n ...window.Mirai,\n environment: process.env.NODE_ENV,\n Event,\n services: {\n booking: process.env.SERVICE_BOOKING,\n club: process.env.SERVICE_CLUB,\n dictionary: process.env.SERVICE_DICTIONARY,\n engine: process.env.SERVICE_ENGINE,\n static: process.env.SERVICE_STATIC,\n user: process.env.SERVICE_USER,\n },\n version,\n};\n\nwindow.Mirai.core = async () => {\n const isProduction = process.env.NODE_ENV === 'production';\n const isDevelopment = process.env.NODE_ENV === 'development';\n\n console.log(`${isProduction ? '🟢' : isDevelopment ? '🟡' : '🔴'} ${name} v${version} [${process.env.NODE_ENV}]`);\n\n // 1. Fetch client-side dataSources\n const urlParams = fetchUrlParams(location.search);\n const cookies = fetchCookies([COOKIE_CART, COOKIE_PESTANA, COOKIE_VALUES]);\n let session = fetchSession(urlParams);\n\n // 2. Analize environment\n const environment = urlParams.env && isProduction ? loadEnvironment(urlParams.env) : undefined;\n if (environment) return;\n\n // 3. Find instance\n const instance = findInstance({ urlParams });\n if (!instance) return;\n\n // 4. Find components\n const components = findComponents();\n if (!components.length) return;\n\n // 5. Render skeletons\n ReactDOM.render(\n <React.StrictMode>\n <Core {...{ components }} skeleton />\n </React.StrictMode>,\n instance.el,\n );\n\n // 6. Analize id to fetch its config\n const config = await fetchConfig(instance);\n if (!config) return;\n window.Mirai.config = config;\n\n // 7. Sentry\n const Sentry = loadSentry(process.env.SENTRY, version);\n window.Mirai.Sentry = Sentry;\n\n // 8. Theming\n theme();\n\n // 9. Check session\n if (session && !(await checkSession(instance.id, config))) session = undefined;\n if (session && Sentry) Sentry.setUser(session);\n\n // 10. Consolidate store\n const store = consolidateStore({ config, cookies, instance, session, urlParams });\n\n // 11. Render components\n ReactDOM.render(\n <React.StrictMode>\n <MetricsProvider token={process.env.METRICS}>\n <StoreProvider value={store}>\n <Core {...{ components }} />\n </StoreProvider>\n </MetricsProvider>\n </React.StrictMode>,\n instance.el,\n );\n};\n\nwindow.Mirai.core();\n"],"mappings":"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"}
|