@asgardeo/auth-spa 0.3.8 → 0.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/asgardeo-spa.production.esm.js +13 -13
- package/dist/asgardeo-spa.production.esm.js.map +1 -1
- package/dist/asgardeo-spa.production.js +13 -13
- package/dist/asgardeo-spa.production.js.map +1 -1
- package/dist/asgardeo-spa.production.min.js +1 -1
- package/dist/asgardeo-spa.production.min.js.map +1 -1
- package/dist/polyfilled/asgardeo-spa.production.esm.js +42 -40
- package/dist/polyfilled/asgardeo-spa.production.esm.js.map +1 -1
- package/dist/polyfilled/asgardeo-spa.production.js +42 -40
- package/dist/polyfilled/asgardeo-spa.production.js.map +1 -1
- package/dist/polyfilled/asgardeo-spa.production.min.js +1 -1
- package/dist/polyfilled/asgardeo-spa.production.min.js.map +1 -1
- package/dist/src/client.d.ts +21 -16
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +29 -3
- package/dist/src/client.js.map +1 -1
- package/dist/src/clients/main-thread-client.d.ts +3 -2
- package/dist/src/clients/main-thread-client.d.ts.map +1 -1
- package/dist/src/clients/main-thread-client.js +83 -385
- package/dist/src/clients/main-thread-client.js.map +1 -1
- package/dist/src/clients/web-worker-client.d.ts +3 -2
- package/dist/src/clients/web-worker-client.d.ts.map +1 -1
- package/dist/src/clients/web-worker-client.js +98 -138
- package/dist/src/clients/web-worker-client.js.map +1 -1
- package/dist/src/helpers/authentication-helper.d.ts +50 -0
- package/dist/src/helpers/authentication-helper.d.ts.map +1 -0
- package/dist/src/helpers/authentication-helper.js +482 -0
- package/dist/src/helpers/authentication-helper.js.map +1 -0
- package/dist/src/helpers/index.d.ts +1 -0
- package/dist/src/helpers/index.d.ts.map +1 -1
- package/dist/src/helpers/index.js +1 -0
- package/dist/src/helpers/index.js.map +1 -1
- package/dist/src/public-api.d.ts +3 -0
- package/dist/src/public-api.d.ts.map +1 -1
- package/dist/src/public-api.js +5 -0
- package/dist/src/public-api.js.map +1 -1
- package/dist/src/worker/index.d.ts +1 -1
- package/dist/src/worker/index.d.ts.map +1 -1
- package/dist/src/worker/index.js +1 -1
- package/dist/src/worker/index.js.map +1 -1
- package/dist/src/worker/worker-core.d.ts +3 -2
- package/dist/src/worker/worker-core.d.ts.map +1 -1
- package/dist/src/worker/worker-core.js +23 -202
- package/dist/src/worker/worker-core.js.map +1 -1
- package/dist/src/worker/worker-receiver.d.ts +22 -0
- package/dist/src/worker/worker-receiver.d.ts.map +1 -0
- package/dist/src/worker/worker-receiver.js +233 -0
- package/dist/src/worker/worker-receiver.js.map +1 -0
- package/dist/src/{worker/client.worker.d.ts → worker.d.ts} +2 -2
- package/dist/src/worker.d.ts.map +1 -0
- package/dist/src/worker.js +24 -0
- package/dist/src/worker.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/client.ts +65 -19
- package/src/clients/main-thread-client.ts +137 -486
- package/src/clients/web-worker-client.ts +128 -169
- package/src/helpers/authentication-helper.ts +661 -0
- package/src/helpers/index.ts +1 -0
- package/src/public-api.ts +7 -0
- package/src/worker/index.ts +1 -1
- package/src/worker/worker-core.ts +48 -261
- package/src/worker/worker-receiver.ts +297 -0
- package/src/worker.ts +30 -0
- package/dist/src/worker/client.worker.d.ts.map +0 -1
- package/dist/src/worker/client.worker.js +0 -232
- package/dist/src/worker/client.worker.js.map +0 -1
- package/src/worker/client.worker.ts +0 -286
|
@@ -24,8 +24,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
24
24
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
25
25
|
});
|
|
26
26
|
};
|
|
27
|
-
import { AUTHORIZATION_CODE, AsgardeoAuthClient,
|
|
28
|
-
import {
|
|
27
|
+
import { AUTHORIZATION_CODE, AsgardeoAuthClient, AuthenticationUtils, ResponseMode, SESSION_STATE, STATE } from "@asgardeo/auth-js";
|
|
28
|
+
import { SILENT_SIGN_IN_STATE, Storage } from "../constants";
|
|
29
29
|
import { SPAHelper, SessionManagementHelper } from "../helpers";
|
|
30
30
|
import { HttpClient } from "../http-client";
|
|
31
31
|
import { LocalStore, MemoryStore, SessionStore } from "../stores";
|
|
@@ -43,7 +43,7 @@ const initiateStore = (store) => {
|
|
|
43
43
|
return new SessionStore();
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
|
-
export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
46
|
+
export const MainThreadClient = (config, getAuthHelper) => __awaiter(void 0, void 0, void 0, function* () {
|
|
47
47
|
var _a;
|
|
48
48
|
const _store = initiateStore(config.storage);
|
|
49
49
|
const _cryptoUtils = new SPACryptoUtils();
|
|
@@ -54,279 +54,98 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
|
|
|
54
54
|
const _sessionManagementHelper = yield SessionManagementHelper(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
55
55
|
return _authenticationClient.signOut();
|
|
56
56
|
}), (_a = config.storage) !== null && _a !== void 0 ? _a : Storage.SessionStorage, (sessionState) => _dataLayer.setSessionDataParameter(SESSION_STATE, sessionState !== null && sessionState !== void 0 ? sessionState : ""));
|
|
57
|
+
const _authenticationHelper = getAuthHelper(_authenticationClient, _spaHelper);
|
|
57
58
|
let _getSignOutURLFromSessionStorage = false;
|
|
58
59
|
const _httpClient = HttpClient.getInstance();
|
|
59
60
|
let _isHttpHandlerEnabled = true;
|
|
60
61
|
let _httpErrorCallback;
|
|
61
62
|
let _httpFinishCallback;
|
|
62
|
-
|
|
63
|
-
const requestConfig = Object.assign({ attachToken: true }, request);
|
|
64
|
-
if (requestConfig.attachToken) {
|
|
65
|
-
request.headers = Object.assign(Object.assign({}, request.headers), { Authorization: `Bearer ${yield _authenticationClient.getAccessToken()}` });
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
(_httpClient === null || _httpClient === void 0 ? void 0 : _httpClient.init) && (yield _httpClient.init(true, attachToken));
|
|
63
|
+
(_httpClient === null || _httpClient === void 0 ? void 0 : _httpClient.init) && (yield _httpClient.init(true, _authenticationHelper.attachToken));
|
|
69
64
|
const setHttpRequestStartCallback = (callback) => {
|
|
70
|
-
(_httpClient
|
|
65
|
+
_authenticationHelper.setHttpRequestStartCallback(_httpClient, callback);
|
|
71
66
|
};
|
|
72
67
|
const setHttpRequestSuccessCallback = (callback) => {
|
|
73
|
-
(_httpClient
|
|
68
|
+
_authenticationHelper.setHttpRequestSuccessCallback(_httpClient, callback);
|
|
74
69
|
};
|
|
75
70
|
const setHttpRequestFinishCallback = (callback) => {
|
|
76
|
-
(_httpClient
|
|
71
|
+
_authenticationHelper.setHttpRequestFinishCallback(_httpClient, callback);
|
|
77
72
|
_httpFinishCallback = callback;
|
|
78
73
|
};
|
|
79
74
|
const setHttpRequestErrorCallback = (callback) => {
|
|
80
75
|
_httpErrorCallback = callback;
|
|
81
76
|
};
|
|
82
77
|
const httpRequest = (requestConfig) => __awaiter(void 0, void 0, void 0, function* () {
|
|
83
|
-
|
|
84
|
-
let matches = false;
|
|
85
|
-
const config = yield _dataLayer.getConfigData();
|
|
86
|
-
for (const baseUrl of [...((_b = (yield (config === null || config === void 0 ? void 0 : config.resourceServerURLs))) !== null && _b !== void 0 ? _b : []), config.baseUrl]) {
|
|
87
|
-
if (baseUrl && ((_c = requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.url) === null || _c === void 0 ? void 0 : _c.startsWith(baseUrl))) {
|
|
88
|
-
matches = true;
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
if (matches) {
|
|
93
|
-
return _httpClient
|
|
94
|
-
.request(requestConfig)
|
|
95
|
-
.then((response) => {
|
|
96
|
-
return Promise.resolve(response);
|
|
97
|
-
})
|
|
98
|
-
.catch((error) => __awaiter(void 0, void 0, void 0, function* () {
|
|
99
|
-
var _d, _e, _f;
|
|
100
|
-
if (((_d = error === null || error === void 0 ? void 0 : error.response) === null || _d === void 0 ? void 0 : _d.status) === 401 || !(error === null || error === void 0 ? void 0 : error.response)) {
|
|
101
|
-
// Try to refresh the token
|
|
102
|
-
let refreshTokenResponse;
|
|
103
|
-
try {
|
|
104
|
-
refreshTokenResponse = yield refreshAccessToken();
|
|
105
|
-
}
|
|
106
|
-
catch (refreshError) {
|
|
107
|
-
if (_isHttpHandlerEnabled) {
|
|
108
|
-
if (typeof _httpErrorCallback === "function") {
|
|
109
|
-
yield _httpErrorCallback(Object.assign(Object.assign({}, error), { code: ACCESS_TOKEN_INVALID }));
|
|
110
|
-
}
|
|
111
|
-
if (typeof _httpFinishCallback === "function") {
|
|
112
|
-
_httpFinishCallback();
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
throw new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-HR-SE01", (_e = refreshError === null || refreshError === void 0 ? void 0 : refreshError.name) !== null && _e !== void 0 ? _e : "Refresh token request failed.", (_f = refreshError === null || refreshError === void 0 ? void 0 : refreshError.message) !== null && _f !== void 0 ? _f : "An error occurred while trying to refresh the " +
|
|
116
|
-
"access token following a 401 response from the server.");
|
|
117
|
-
}
|
|
118
|
-
// Retry the request after refreshing the token
|
|
119
|
-
if (refreshTokenResponse) {
|
|
120
|
-
try {
|
|
121
|
-
const httpResponse = yield _httpClient.request(requestConfig);
|
|
122
|
-
return Promise.resolve(httpResponse);
|
|
123
|
-
}
|
|
124
|
-
catch (error) {
|
|
125
|
-
if (_isHttpHandlerEnabled) {
|
|
126
|
-
if (typeof _httpErrorCallback === "function") {
|
|
127
|
-
yield _httpErrorCallback(error);
|
|
128
|
-
}
|
|
129
|
-
if (typeof _httpFinishCallback === "function") {
|
|
130
|
-
_httpFinishCallback();
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
return Promise.reject(error);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
if (_isHttpHandlerEnabled) {
|
|
138
|
-
if (typeof _httpErrorCallback === "function") {
|
|
139
|
-
yield _httpErrorCallback(error);
|
|
140
|
-
}
|
|
141
|
-
if (typeof _httpFinishCallback === "function") {
|
|
142
|
-
_httpFinishCallback();
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
return Promise.reject(error);
|
|
146
|
-
}));
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
throw new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-HR-IV02", "Request to the provided endpoint is prohibited.", "Requests can only be sent to resource servers specified by the `resourceServerURLs`" +
|
|
150
|
-
" attribute while initializing the SDK. The specified endpoint in this request " +
|
|
151
|
-
"cannot be found among the `resourceServerURLs`");
|
|
152
|
-
}
|
|
78
|
+
return yield _authenticationHelper.httpRequest(_httpClient, requestConfig, _isHttpHandlerEnabled, _httpErrorCallback, _httpFinishCallback);
|
|
153
79
|
});
|
|
154
80
|
const httpRequestAll = (requestConfigs) => __awaiter(void 0, void 0, void 0, function* () {
|
|
155
|
-
|
|
156
|
-
let matches = true;
|
|
157
|
-
const config = yield _dataLayer.getConfigData();
|
|
158
|
-
for (const requestConfig of requestConfigs) {
|
|
159
|
-
let urlMatches = false;
|
|
160
|
-
for (const baseUrl of [
|
|
161
|
-
...((_h = (_g = (yield config)) === null || _g === void 0 ? void 0 : _g.resourceServerURLs) !== null && _h !== void 0 ? _h : []),
|
|
162
|
-
config.baseUrl
|
|
163
|
-
]) {
|
|
164
|
-
if (baseUrl && ((_j = requestConfig.url) === null || _j === void 0 ? void 0 : _j.startsWith(baseUrl))) {
|
|
165
|
-
urlMatches = true;
|
|
166
|
-
break;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
if (!urlMatches) {
|
|
170
|
-
matches = false;
|
|
171
|
-
break;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
const requests = [];
|
|
175
|
-
if (matches) {
|
|
176
|
-
requestConfigs.forEach((request) => {
|
|
177
|
-
requests.push(_httpClient.request(request));
|
|
178
|
-
});
|
|
179
|
-
return ((_httpClient === null || _httpClient === void 0 ? void 0 : _httpClient.all) &&
|
|
180
|
-
_httpClient
|
|
181
|
-
.all(requests)
|
|
182
|
-
.then((responses) => {
|
|
183
|
-
return Promise.resolve(responses);
|
|
184
|
-
})
|
|
185
|
-
.catch((error) => __awaiter(void 0, void 0, void 0, function* () {
|
|
186
|
-
var _k, _l, _m;
|
|
187
|
-
if (((_k = error === null || error === void 0 ? void 0 : error.response) === null || _k === void 0 ? void 0 : _k.status) === 401 || !(error === null || error === void 0 ? void 0 : error.response)) {
|
|
188
|
-
let refreshTokenResponse;
|
|
189
|
-
try {
|
|
190
|
-
refreshTokenResponse = yield _authenticationClient.refreshAccessToken();
|
|
191
|
-
}
|
|
192
|
-
catch (refreshError) {
|
|
193
|
-
if (_isHttpHandlerEnabled) {
|
|
194
|
-
if (typeof _httpErrorCallback === "function") {
|
|
195
|
-
yield _httpErrorCallback(Object.assign(Object.assign({}, error), { code: ACCESS_TOKEN_INVALID }));
|
|
196
|
-
}
|
|
197
|
-
if (typeof _httpFinishCallback === "function") {
|
|
198
|
-
_httpFinishCallback();
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
throw new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-HRA-SE01", (_l = refreshError === null || refreshError === void 0 ? void 0 : refreshError.name) !== null && _l !== void 0 ? _l : "Refresh token request failed.", (_m = refreshError === null || refreshError === void 0 ? void 0 : refreshError.message) !== null && _m !== void 0 ? _m : "An error occurred while trying to refresh the " +
|
|
202
|
-
"access token following a 401 response from the server.");
|
|
203
|
-
}
|
|
204
|
-
if (refreshTokenResponse) {
|
|
205
|
-
return (_httpClient.all &&
|
|
206
|
-
_httpClient
|
|
207
|
-
.all(requests)
|
|
208
|
-
.then((response) => {
|
|
209
|
-
return Promise.resolve(response);
|
|
210
|
-
})
|
|
211
|
-
.catch((error) => __awaiter(void 0, void 0, void 0, function* () {
|
|
212
|
-
if (_isHttpHandlerEnabled) {
|
|
213
|
-
if (typeof _httpErrorCallback === "function") {
|
|
214
|
-
yield _httpErrorCallback(error);
|
|
215
|
-
}
|
|
216
|
-
if (typeof _httpFinishCallback === "function") {
|
|
217
|
-
_httpFinishCallback();
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
return Promise.reject(error);
|
|
221
|
-
})));
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
if (_isHttpHandlerEnabled) {
|
|
225
|
-
if (typeof _httpErrorCallback === "function") {
|
|
226
|
-
yield _httpErrorCallback(error);
|
|
227
|
-
}
|
|
228
|
-
if (typeof _httpFinishCallback === "function") {
|
|
229
|
-
_httpFinishCallback();
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
return Promise.reject(error);
|
|
233
|
-
})));
|
|
234
|
-
}
|
|
235
|
-
else {
|
|
236
|
-
throw new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-HRA-IV02", "Request to the provided endpoint is prohibited.", "Requests can only be sent to resource servers specified by the `resourceServerURLs`" +
|
|
237
|
-
" attribute while initializing the SDK. The specified endpoint in this request " +
|
|
238
|
-
"cannot be found among the `resourceServerURLs`");
|
|
239
|
-
}
|
|
81
|
+
return yield _authenticationHelper.httpRequestAll(requestConfigs, _httpClient, _isHttpHandlerEnabled, _httpErrorCallback, _httpFinishCallback);
|
|
240
82
|
});
|
|
241
83
|
const getHttpClient = () => {
|
|
242
84
|
return _httpClient;
|
|
243
85
|
};
|
|
244
86
|
const enableHttpHandler = () => {
|
|
245
|
-
(_httpClient
|
|
87
|
+
_authenticationHelper.enableHttpHandler(_httpClient);
|
|
246
88
|
_isHttpHandlerEnabled = true;
|
|
247
89
|
return true;
|
|
248
90
|
};
|
|
249
91
|
const disableHttpHandler = () => {
|
|
250
|
-
(_httpClient
|
|
92
|
+
_authenticationHelper.disableHttpHandler(_httpClient);
|
|
251
93
|
_isHttpHandlerEnabled = false;
|
|
252
94
|
return true;
|
|
253
95
|
};
|
|
254
96
|
const checkSession = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
255
|
-
var _o, _p, _q;
|
|
256
97
|
const oidcEndpoints = yield _authenticationClient.getOIDCServiceEndpoints();
|
|
257
98
|
const config = yield _dataLayer.getConfigData();
|
|
258
|
-
|
|
99
|
+
_authenticationHelper.initializeSessionManger(config, oidcEndpoints, () => __awaiter(void 0, void 0, void 0, function* () { return (yield _authenticationClient.getBasicUserInfo()).sessionState; }), (params) => __awaiter(void 0, void 0, void 0, function* () { return _authenticationClient.getAuthorizationURL(params); }), _sessionManagementHelper);
|
|
259
100
|
});
|
|
260
|
-
const
|
|
261
|
-
|
|
262
|
-
const config = yield _dataLayer.getConfigData();
|
|
263
|
-
const shouldStopContinue = yield _sessionManagementHelper.receivePromptNoneResponse((sessionState) => __awaiter(void 0, void 0, void 0, function* () {
|
|
101
|
+
const shouldStopAuthn = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
102
|
+
return yield _sessionManagementHelper.receivePromptNoneResponse((sessionState) => __awaiter(void 0, void 0, void 0, function* () {
|
|
264
103
|
yield _dataLayer.setSessionDataParameter(SESSION_STATE, sessionState !== null && sessionState !== void 0 ? sessionState : "");
|
|
265
104
|
return;
|
|
266
105
|
}));
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
sub: "",
|
|
274
|
-
tenantDomain: "",
|
|
275
|
-
username: ""
|
|
276
|
-
});
|
|
277
|
-
}
|
|
278
|
-
if (yield _authenticationClient.isAuthenticated()) {
|
|
279
|
-
_spaHelper.clearRefreshTokenTimeout();
|
|
280
|
-
_spaHelper.refreshAccessTokenAutomatically();
|
|
281
|
-
// Enable OIDC Sessions Management only if it is set to true in the config.
|
|
282
|
-
if (config.enableOIDCSessionManagement) {
|
|
283
|
-
checkSession();
|
|
284
|
-
}
|
|
285
|
-
return Promise.resolve(yield _authenticationClient.getBasicUserInfo());
|
|
286
|
-
}
|
|
287
|
-
let resolvedAuthorizationCode;
|
|
288
|
-
let resolvedSessionState;
|
|
289
|
-
let resolvedState;
|
|
290
|
-
if ((config === null || config === void 0 ? void 0 : config.responseMode) === ResponseMode.formPost && authorizationCode) {
|
|
291
|
-
resolvedAuthorizationCode = authorizationCode;
|
|
292
|
-
resolvedSessionState = sessionState !== null && sessionState !== void 0 ? sessionState : "";
|
|
293
|
-
resolvedState = state !== null && state !== void 0 ? state : "";
|
|
106
|
+
});
|
|
107
|
+
const signIn = (signInConfig, authorizationCode, sessionState, state) => __awaiter(void 0, void 0, void 0, function* () {
|
|
108
|
+
var _b, _c, _d;
|
|
109
|
+
const basicUserInfo = yield _authenticationHelper.handleSignIn(shouldStopAuthn, checkSession);
|
|
110
|
+
if (basicUserInfo) {
|
|
111
|
+
return basicUserInfo;
|
|
294
112
|
}
|
|
295
113
|
else {
|
|
296
|
-
resolvedAuthorizationCode
|
|
297
|
-
resolvedSessionState
|
|
298
|
-
resolvedState
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
}
|
|
304
|
-
const error = new URL(window.location.href).searchParams.get(ERROR);
|
|
305
|
-
const errorDescription = new URL(window.location.href).searchParams.get(ERROR_DESCRIPTION);
|
|
306
|
-
if (error) {
|
|
307
|
-
const url = new URL(window.location.href);
|
|
308
|
-
url.searchParams.delete(ERROR);
|
|
309
|
-
url.searchParams.delete(ERROR_DESCRIPTION);
|
|
310
|
-
history.pushState(null, document.title, url.toString());
|
|
311
|
-
throw new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-SI-SE01", error, errorDescription !== null && errorDescription !== void 0 ? errorDescription : "");
|
|
312
|
-
}
|
|
313
|
-
return _authenticationClient.getAuthorizationURL(signInConfig).then((url) => __awaiter(void 0, void 0, void 0, function* () {
|
|
314
|
-
if (config.storage === Storage.BrowserMemory && config.enablePKCE) {
|
|
315
|
-
const pkceKey = AuthenticationUtils.extractPKCEKeyFromStateParam(resolvedState);
|
|
316
|
-
SPAUtils.setPKCE(pkceKey, (yield _authenticationClient.getPKCECode(resolvedState)));
|
|
114
|
+
let resolvedAuthorizationCode;
|
|
115
|
+
let resolvedSessionState;
|
|
116
|
+
let resolvedState;
|
|
117
|
+
if ((config === null || config === void 0 ? void 0 : config.responseMode) === ResponseMode.formPost && authorizationCode) {
|
|
118
|
+
resolvedAuthorizationCode = authorizationCode;
|
|
119
|
+
resolvedSessionState = sessionState !== null && sessionState !== void 0 ? sessionState : "";
|
|
120
|
+
resolvedState = state !== null && state !== void 0 ? state : "";
|
|
317
121
|
}
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
122
|
+
else {
|
|
123
|
+
resolvedAuthorizationCode = (_b = new URL(window.location.href).searchParams.get(AUTHORIZATION_CODE)) !== null && _b !== void 0 ? _b : "";
|
|
124
|
+
resolvedSessionState = (_c = new URL(window.location.href).searchParams.get(SESSION_STATE)) !== null && _c !== void 0 ? _c : "";
|
|
125
|
+
resolvedState = (_d = new URL(window.location.href).searchParams.get(STATE)) !== null && _d !== void 0 ? _d : "";
|
|
126
|
+
SPAUtils.removeAuthorizationCode();
|
|
127
|
+
}
|
|
128
|
+
if (resolvedAuthorizationCode && resolvedState) {
|
|
129
|
+
return requestAccessToken(resolvedAuthorizationCode, resolvedSessionState, resolvedState);
|
|
130
|
+
}
|
|
131
|
+
return _authenticationClient.getAuthorizationURL(signInConfig).then((url) => __awaiter(void 0, void 0, void 0, function* () {
|
|
132
|
+
if (config.storage === Storage.BrowserMemory && config.enablePKCE) {
|
|
133
|
+
const pkceKey = AuthenticationUtils.extractPKCEKeyFromStateParam(resolvedState);
|
|
134
|
+
SPAUtils.setPKCE(pkceKey, (yield _authenticationClient.getPKCECode(resolvedState)));
|
|
135
|
+
}
|
|
136
|
+
location.href = url;
|
|
137
|
+
yield SPAUtils.waitTillPageRedirect();
|
|
138
|
+
return Promise.resolve({
|
|
139
|
+
allowedScopes: "",
|
|
140
|
+
displayName: "",
|
|
141
|
+
email: "",
|
|
142
|
+
sessionState: "",
|
|
143
|
+
sub: "",
|
|
144
|
+
tenantDomain: "",
|
|
145
|
+
username: ""
|
|
146
|
+
});
|
|
147
|
+
}));
|
|
148
|
+
}
|
|
330
149
|
});
|
|
331
150
|
const signOut = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
332
151
|
if ((yield _authenticationClient.isAuthenticated()) && !_getSignOutURLFromSessionStorage) {
|
|
@@ -342,60 +161,17 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
|
|
|
342
161
|
yield SPAUtils.waitTillPageRedirect();
|
|
343
162
|
return true;
|
|
344
163
|
});
|
|
345
|
-
const
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
let matches = false;
|
|
349
|
-
// If the config does not contains a token endpoint, default token endpoint will be used.
|
|
350
|
-
if (config === null || config === void 0 ? void 0 : config.tokenEndpoint) {
|
|
351
|
-
useDefaultEndpoint = false;
|
|
352
|
-
for (const baseUrl of [
|
|
353
|
-
...((_v = (_u = (yield _dataLayer.getConfigData())) === null || _u === void 0 ? void 0 : _u.resourceServerURLs) !== null && _v !== void 0 ? _v : []),
|
|
354
|
-
config.baseUrl
|
|
355
|
-
]) {
|
|
356
|
-
if (baseUrl && ((_w = config.tokenEndpoint) === null || _w === void 0 ? void 0 : _w.startsWith(baseUrl))) {
|
|
357
|
-
matches = true;
|
|
358
|
-
break;
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
if (config.shouldReplayAfterRefresh) {
|
|
363
|
-
_dataLayer.setTemporaryDataParameter(CUSTOM_GRANT_CONFIG, JSON.stringify(config));
|
|
364
|
-
}
|
|
365
|
-
if (useDefaultEndpoint || matches) {
|
|
366
|
-
return _authenticationClient
|
|
367
|
-
.requestCustomGrant(config)
|
|
368
|
-
.then((response) => __awaiter(void 0, void 0, void 0, function* () {
|
|
369
|
-
if (config.preventSignOutURLUpdate) {
|
|
370
|
-
_getSignOutURLFromSessionStorage = true;
|
|
371
|
-
}
|
|
372
|
-
if (config.returnsSession) {
|
|
373
|
-
_spaHelper.refreshAccessTokenAutomatically();
|
|
374
|
-
return _authenticationClient.getBasicUserInfo();
|
|
375
|
-
}
|
|
376
|
-
else {
|
|
377
|
-
return response;
|
|
378
|
-
}
|
|
379
|
-
}))
|
|
380
|
-
.catch((error) => {
|
|
381
|
-
return Promise.reject(error);
|
|
382
|
-
});
|
|
383
|
-
}
|
|
384
|
-
else {
|
|
385
|
-
return Promise.reject(new AsgardeoAuthException("SPA-MAIN_THREAD_CLIENT-RCG-IV01", "Request to the provided endpoint is prohibited.", "Requests can only be sent to resource servers specified by the `resourceServerURLs`" +
|
|
386
|
-
" attribute while initializing the SDK. The specified token endpoint in this request " +
|
|
387
|
-
"cannot be found among the `resourceServerURLs`"));
|
|
164
|
+
const enableRetrievingSignOutURLFromSession = (config) => {
|
|
165
|
+
if (config.preventSignOutURLUpdate) {
|
|
166
|
+
_getSignOutURLFromSessionStorage = true;
|
|
388
167
|
}
|
|
168
|
+
};
|
|
169
|
+
const requestCustomGrant = (config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
170
|
+
return yield _authenticationHelper.requestCustomGrant(config, enableRetrievingSignOutURLFromSession);
|
|
389
171
|
});
|
|
390
172
|
const refreshAccessToken = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
391
173
|
try {
|
|
392
|
-
yield
|
|
393
|
-
const customGrantConfig = yield getCustomGrantConfigData();
|
|
394
|
-
if (customGrantConfig) {
|
|
395
|
-
yield requestCustomGrant(customGrantConfig);
|
|
396
|
-
}
|
|
397
|
-
_spaHelper.refreshAccessTokenAutomatically();
|
|
398
|
-
return _authenticationClient.getBasicUserInfo();
|
|
174
|
+
return yield _authenticationHelper.refreshAccessToken(enableRetrievingSignOutURLFromSession);
|
|
399
175
|
}
|
|
400
176
|
catch (error) {
|
|
401
177
|
return Promise.reject(error);
|
|
@@ -412,30 +188,23 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
|
|
|
412
188
|
.catch((error) => Promise.reject(error));
|
|
413
189
|
};
|
|
414
190
|
const requestAccessToken = (resolvedAuthorizationCode, resolvedSessionState, resolvedState) => __awaiter(void 0, void 0, void 0, function* () {
|
|
191
|
+
return yield _authenticationHelper.requestAccessToken(resolvedAuthorizationCode, resolvedSessionState, checkSession, undefined, resolvedState);
|
|
192
|
+
});
|
|
193
|
+
const constructSilentSignInUrl = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
415
194
|
const config = yield _dataLayer.getConfigData();
|
|
195
|
+
const urlString = yield _authenticationClient.getAuthorizationURL({
|
|
196
|
+
prompt: "none",
|
|
197
|
+
state: SILENT_SIGN_IN_STATE
|
|
198
|
+
});
|
|
199
|
+
// Replace form_post with query
|
|
200
|
+
const urlObject = new URL(urlString);
|
|
201
|
+
urlObject.searchParams.set("response_mode", "query");
|
|
202
|
+
const url = urlObject.toString();
|
|
416
203
|
if (config.storage === Storage.BrowserMemory && config.enablePKCE) {
|
|
417
|
-
const
|
|
418
|
-
|
|
204
|
+
const state = urlObject.searchParams.get(STATE);
|
|
205
|
+
SPAUtils.setPKCE(AuthenticationUtils.extractPKCEKeyFromStateParam(state !== null && state !== void 0 ? state : ""), (yield _authenticationClient.getPKCECode(state !== null && state !== void 0 ? state : "")));
|
|
419
206
|
}
|
|
420
|
-
return
|
|
421
|
-
.requestAccessToken(resolvedAuthorizationCode, resolvedSessionState, resolvedState)
|
|
422
|
-
.then(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
423
|
-
// Disable this temporarily
|
|
424
|
-
/* if (config.storage === Storage.BrowserMemory) {
|
|
425
|
-
SPAUtils.setSignOutURL(await _authenticationClient.getSignOutURL());
|
|
426
|
-
} */
|
|
427
|
-
SPAUtils.setSignOutURL(yield _authenticationClient.getSignOutURL());
|
|
428
|
-
_spaHelper.clearRefreshTokenTimeout();
|
|
429
|
-
_spaHelper.refreshAccessTokenAutomatically();
|
|
430
|
-
// Enable OIDC Sessions Management only if it is set to true in the config.
|
|
431
|
-
if (config.enableOIDCSessionManagement) {
|
|
432
|
-
checkSession();
|
|
433
|
-
}
|
|
434
|
-
return _authenticationClient.getBasicUserInfo();
|
|
435
|
-
}))
|
|
436
|
-
.catch((error) => {
|
|
437
|
-
return Promise.reject(error);
|
|
438
|
-
});
|
|
207
|
+
return url;
|
|
439
208
|
});
|
|
440
209
|
/**
|
|
441
210
|
* This method checks if there is an active user session in the server by sending a prompt none request.
|
|
@@ -445,87 +214,25 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
|
|
|
445
214
|
* if the user is signed in or with `false` if there is no active user session in the server.
|
|
446
215
|
*/
|
|
447
216
|
const trySignInSilently = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
448
|
-
|
|
449
|
-
const config = yield _dataLayer.getConfigData();
|
|
450
|
-
if (SPAUtils.isInitializedSilentSignIn()) {
|
|
451
|
-
yield _sessionManagementHelper.receivePromptNoneResponse();
|
|
452
|
-
return Promise.resolve({
|
|
453
|
-
allowedScopes: "",
|
|
454
|
-
displayName: "",
|
|
455
|
-
email: "",
|
|
456
|
-
sessionState: "",
|
|
457
|
-
sub: "",
|
|
458
|
-
tenantDomain: "",
|
|
459
|
-
username: ""
|
|
460
|
-
});
|
|
461
|
-
}
|
|
462
|
-
const rpIFrame = document.getElementById(RP_IFRAME);
|
|
463
|
-
const promptNoneIFrame = (_x = rpIFrame === null || rpIFrame === void 0 ? void 0 : rpIFrame.contentDocument) === null || _x === void 0 ? void 0 : _x.getElementById(PROMPT_NONE_IFRAME);
|
|
464
|
-
try {
|
|
465
|
-
const urlString = yield _authenticationClient.getAuthorizationURL({
|
|
466
|
-
prompt: "none",
|
|
467
|
-
state: SILENT_SIGN_IN_STATE
|
|
468
|
-
});
|
|
469
|
-
// Replace form_post with query
|
|
470
|
-
const urlObject = new URL(urlString);
|
|
471
|
-
urlObject.searchParams.set("response_mode", "query");
|
|
472
|
-
const url = urlObject.toString();
|
|
473
|
-
if (config.storage === Storage.BrowserMemory && config.enablePKCE) {
|
|
474
|
-
const state = urlObject.searchParams.get(STATE);
|
|
475
|
-
SPAUtils.setPKCE(AuthenticationUtils.extractPKCEKeyFromStateParam(state !== null && state !== void 0 ? state : ""), (yield _authenticationClient.getPKCECode(state !== null && state !== void 0 ? state : "")));
|
|
476
|
-
}
|
|
477
|
-
promptNoneIFrame.src = url;
|
|
478
|
-
}
|
|
479
|
-
catch (error) {
|
|
480
|
-
return Promise.reject(error);
|
|
481
|
-
}
|
|
482
|
-
return new Promise((resolve, reject) => {
|
|
483
|
-
const timer = setTimeout(() => {
|
|
484
|
-
resolve(false);
|
|
485
|
-
}, 10000);
|
|
486
|
-
const listenToPromptNoneIFrame = (e) => __awaiter(void 0, void 0, void 0, function* () {
|
|
487
|
-
var _a, _b, _c;
|
|
488
|
-
const data = e.data;
|
|
489
|
-
if ((data === null || data === void 0 ? void 0 : data.type) == CHECK_SESSION_SIGNED_OUT) {
|
|
490
|
-
window.removeEventListener("message", listenToPromptNoneIFrame);
|
|
491
|
-
clearTimeout(timer);
|
|
492
|
-
resolve(false);
|
|
493
|
-
}
|
|
494
|
-
if ((data === null || data === void 0 ? void 0 : data.type) == CHECK_SESSION_SIGNED_IN && ((_a = data === null || data === void 0 ? void 0 : data.data) === null || _a === void 0 ? void 0 : _a.code)) {
|
|
495
|
-
requestAccessToken(data.data.code, (_b = data === null || data === void 0 ? void 0 : data.data) === null || _b === void 0 ? void 0 : _b.sessionState, (_c = data === null || data === void 0 ? void 0 : data.data) === null || _c === void 0 ? void 0 : _c.state)
|
|
496
|
-
.then((response) => {
|
|
497
|
-
window.removeEventListener("message", listenToPromptNoneIFrame);
|
|
498
|
-
resolve(response);
|
|
499
|
-
})
|
|
500
|
-
.catch((error) => {
|
|
501
|
-
window.removeEventListener("message", listenToPromptNoneIFrame);
|
|
502
|
-
reject(error);
|
|
503
|
-
})
|
|
504
|
-
.finally(() => {
|
|
505
|
-
clearTimeout(timer);
|
|
506
|
-
});
|
|
507
|
-
}
|
|
508
|
-
});
|
|
509
|
-
window.addEventListener("message", listenToPromptNoneIFrame);
|
|
510
|
-
});
|
|
217
|
+
return yield _authenticationHelper.trySignInSilently(constructSilentSignInUrl, requestAccessToken, _sessionManagementHelper);
|
|
511
218
|
});
|
|
512
219
|
const getBasicUserInfo = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
513
|
-
return
|
|
220
|
+
return _authenticationHelper.getBasicUserInfo();
|
|
514
221
|
});
|
|
515
222
|
const getDecodedIDToken = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
516
|
-
return
|
|
223
|
+
return _authenticationHelper.getDecodedIDToken();
|
|
517
224
|
});
|
|
518
225
|
const getIDToken = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
519
|
-
return
|
|
226
|
+
return _authenticationHelper.getIDToken();
|
|
520
227
|
});
|
|
521
228
|
const getOIDCServiceEndpoints = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
522
|
-
return
|
|
229
|
+
return _authenticationHelper.getOIDCServiceEndpoints();
|
|
523
230
|
});
|
|
524
231
|
const getAccessToken = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
525
|
-
return
|
|
232
|
+
return _authenticationHelper.getAccessToken();
|
|
526
233
|
});
|
|
527
234
|
const isAuthenticated = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
528
|
-
return
|
|
235
|
+
return _authenticationHelper.isAuthenticated();
|
|
529
236
|
});
|
|
530
237
|
const updateConfig = (newConfig) => __awaiter(void 0, void 0, void 0, function* () {
|
|
531
238
|
const existingConfig = yield _dataLayer.getConfigData();
|
|
@@ -544,15 +251,6 @@ export const MainThreadClient = (config) => __awaiter(void 0, void 0, void 0, fu
|
|
|
544
251
|
checkSession();
|
|
545
252
|
}
|
|
546
253
|
});
|
|
547
|
-
const getCustomGrantConfigData = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
548
|
-
const configString = yield _dataLayer.getTemporaryDataParameter(CUSTOM_GRANT_CONFIG);
|
|
549
|
-
if (configString) {
|
|
550
|
-
return JSON.parse(configString);
|
|
551
|
-
}
|
|
552
|
-
else {
|
|
553
|
-
return null;
|
|
554
|
-
}
|
|
555
|
-
});
|
|
556
254
|
return {
|
|
557
255
|
disableHttpHandler,
|
|
558
256
|
enableHttpHandler,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main-thread-client.js","sourceRoot":"","sources":["../../../src/clients/main-thread-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;AAEH,OAAO,EACH,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EAErB,mBAAmB,EAOnB,YAAY,EACZ,aAAa,EACb,KAAK,EAGR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACH,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,EACL,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACpB,OAAO,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,UAAU,EAAsB,MAAM,gBAAgB,CAAC;AAWhE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,aAAa,GAAG,CAAC,KAA0B,EAAS,EAAE;IACxD,QAAQ,KAAK,EAAE;QACX,KAAK,OAAO,CAAC,YAAY;YACrB,OAAO,IAAI,UAAU,EAAE,CAAC;QAC5B,KAAK,OAAO,CAAC,cAAc;YACvB,OAAO,IAAI,YAAY,EAAE,CAAC;QAC9B,KAAK,OAAO,CAAC,aAAa;YACtB,OAAO,IAAI,WAAW,EAAE,CAAC;QAC7B;YACI,OAAO,IAAI,YAAY,EAAE,CAAC;KACjC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,MAAgD,EACd,EAAE;;IACpC,MAAM,MAAM,GAAU,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,YAAY,GAAmB,IAAI,cAAc,EAAE,CAAC;IAC1D,MAAM,qBAAqB,GAAG,IAAI,kBAAkB,CAAyB,MAAM,EAAE,YAAY,CAAC,CAAC;IACnG,MAAM,qBAAqB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE/C,MAAM,UAAU,GAAG,IAAI,SAAS,CAAyB,qBAAqB,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,qBAAqB,CAAC,YAAY,EAAE,CAAC;IACxD,MAAM,wBAAwB,GAAG,MAAM,uBAAuB,CAC1D,GAAS,EAAE;QACP,OAAO,qBAAqB,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC,CAAA,EACD,MAAA,MAAM,CAAC,OAAO,mCAAI,OAAO,CAAC,cAAc,EACxC,CAAC,YAAoB,EAAE,EAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,aAAa,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAClG,CAAC;IAEF,IAAI,gCAAgC,GAAY,KAAK,CAAC;IAEtD,MAAM,WAAW,GAAuB,UAAU,CAAC,WAAW,EAAE,CAAC;IACjE,IAAI,qBAAqB,GAAY,IAAI,CAAC;IAC1C,IAAI,kBAA8D,CAAC;IACnE,IAAI,mBAA+B,CAAC;IAEpC,MAAM,WAAW,GAAG,CAAO,OAA0B,EAAiB,EAAE;QACpE,MAAM,aAAa,mBAAK,WAAW,EAAE,IAAI,IAAK,OAAO,CAAE,CAAC;QACxD,IAAI,aAAa,CAAC,WAAW,EAAE;YAC3B,OAAO,CAAC,OAAO,mCACR,OAAO,CAAC,OAAO,KAClB,aAAa,EAAE,UAAW,MAAM,qBAAqB,CAAC,cAAc,EAAG,EAAE,GAC5E,CAAC;SACL;IACL,CAAC,CAAA,CAAC;IAEF,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,KAAI,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAEjE,MAAM,2BAA2B,GAAG,CAAC,QAAoB,EAAQ,EAAE;QAC/D,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,2BAA2B,KAAI,WAAW,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC,CAAC;IAEF,MAAM,6BAA6B,GAAG,CAAC,QAA0C,EAAQ,EAAE;QACvF,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,6BAA6B,KAAI,WAAW,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;IACtG,CAAC,CAAC;IAEF,MAAM,4BAA4B,GAAG,CAAC,QAAoB,EAAQ,EAAE;QAChE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,4BAA4B,KAAI,WAAW,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAChG,mBAAmB,GAAG,QAAQ,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,2BAA2B,GAAG,CAAC,QAAoD,EAAQ,EAAE;QAC/F,kBAAkB,GAAG,QAAQ,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAO,aAAgC,EAAyB,EAAE;;QAClF,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;QAEhD,KAAK,MAAM,OAAO,IAAI,CAAE,GAAG,CAAC,MAAA,CAAC,MAAM,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,kBAAkB,CAAA,CAAC,mCAAI,EAAE,CAAC,EAAG,MAAc,CAAC,OAAO,CAAE,EAAE;YAC9F,IAAI,OAAO,KAAI,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG,0CAAE,UAAU,CAAC,OAAO,CAAC,CAAA,EAAE;gBACpD,OAAO,GAAG,IAAI,CAAC;gBAEf,MAAM;aACT;SACJ;QAED,IAAI,OAAO,EAAE;YACT,OAAO,WAAW;iBACb,OAAO,CAAC,aAAa,CAAC;iBACtB,IAAI,CAAC,CAAC,QAAsB,EAAE,EAAE;gBAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC,CAAC;iBACD,KAAK,CAAC,CAAO,KAAgB,EAAE,EAAE;;gBAC9B,IAAI,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,MAAM,MAAK,GAAG,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAA,EAAE;oBACrD,2BAA2B;oBAC3B,IAAI,oBAAoB,CAAC;oBACzB,IAAI;wBACA,oBAAoB,GAAG,MAAM,kBAAkB,EAAE,CAAC;qBACrD;oBAAC,OAAO,YAAiB,EAAE;wBACxB,IAAI,qBAAqB,EAAE;4BACvB,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE;gCAC1C,MAAM,kBAAkB,iCAAM,KAAK,KAAE,IAAI,EAAE,oBAAoB,IAAG,CAAC;6BACtE;4BACD,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;gCAC3C,mBAAmB,EAAE,CAAC;6BACzB;yBACJ;wBAED,MAAM,IAAI,qBAAqB,CAC3B,gCAAgC,EAChC,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,mCAAI,+BAA+B,EACrD,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,mCACrB,gDAAgD;4BAChD,wDAAwD,CAC3D,CAAC;qBACL;oBAED,+CAA+C;oBAC/C,IAAI,oBAAoB,EAAE;wBACtB,IAAI;4BACA,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;4BAC9D,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;yBACxC;wBAAC,OAAO,KAAU,EAAE;4BACjB,IAAI,qBAAqB,EAAE;gCACvB,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE;oCAC1C,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;iCACnC;gCACD,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;oCAC3C,mBAAmB,EAAE,CAAC;iCACzB;6BACJ;4BAED,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;yBAChC;qBACJ;iBACJ;gBAED,IAAI,qBAAqB,EAAE;oBACvB,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE;wBAC1C,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;qBACnC;oBACD,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;wBAC3C,mBAAmB,EAAE,CAAC;qBACzB;iBACJ;gBAED,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC,CAAA,CAAC,CAAC;SACV;aAAM;YACH,MAAM,IAAI,qBAAqB,CAC3B,gCAAgC,EAChC,iDAAiD,EACjD,qFAAqF;gBACrF,gFAAgF;gBAChF,gDAAgD,CACnD,CAAC;SACL;IACL,CAAC,CAAA,CAAC;IAEF,MAAM,cAAc,GAAG,CAAO,cAAmC,EAAuC,EAAE;;QACtG,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;QAEhD,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;YACxC,IAAI,UAAU,GAAG,KAAK,CAAC;YAEvB,KAAK,MAAM,OAAO,IAAI;gBAClB,GAAG,CAAC,MAAA,MAAA,CAAC,MAAM,MAAM,CAAC,0CAAE,kBAAkB,mCAAI,EAAE,CAAC;gBAC5C,MAAc,CAAC,OAAO;aAC1B,EAAE;gBACC,IAAI,OAAO,KAAI,MAAA,aAAa,CAAC,GAAG,0CAAE,UAAU,CAAC,OAAO,CAAC,CAAA,EAAE;oBACnD,UAAU,GAAG,IAAI,CAAC;oBAElB,MAAM;iBACT;aACJ;YAED,IAAI,CAAC,UAAU,EAAE;gBACb,OAAO,GAAG,KAAK,CAAC;gBAEhB,MAAM;aACT;SACJ;QAED,MAAM,QAAQ,GAAiC,EAAE,CAAC;QAElD,IAAI,OAAO,EAAE;YACT,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC/B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YAEH,OAAO,CACH,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG;gBAChB,WAAW;qBACN,GAAG,CAAC,QAAQ,CAAC;qBACb,IAAI,CAAC,CAAC,SAAyB,EAAE,EAAE;oBAChC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACtC,CAAC,CAAC;qBACD,KAAK,CAAC,CAAO,KAAgB,EAAE,EAAE;;oBAC9B,IAAI,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,MAAM,MAAK,GAAG,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAA,EAAE;wBACrD,IAAI,oBAAmC,CAAC;wBACxC,IAAI;4BACA,oBAAoB,GAAG,MAAM,qBAAqB,CAAC,kBAAkB,EAAE,CAAC;yBAC3E;wBAAC,OAAO,YAAiB,EAAE;4BACxB,IAAI,qBAAqB,EAAE;gCACvB,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE;oCAC1C,MAAM,kBAAkB,iCAAM,KAAK,KAAE,IAAI,EAAE,oBAAoB,IAAG,CAAC;iCACtE;gCACD,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;oCAC3C,mBAAmB,EAAE,CAAC;iCACzB;6BACJ;4BAED,MAAM,IAAI,qBAAqB,CAC3B,iCAAiC,EACjC,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,mCAAI,+BAA+B,EACrD,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,mCACrB,gDAAgD;gCAChD,wDAAwD,CAC3D,CAAC;yBACL;wBAED,IAAI,oBAAoB,EAAE;4BACtB,OAAO,CACH,WAAW,CAAC,GAAG;gCACf,WAAW;qCACN,GAAG,CAAC,QAAQ,CAAC;qCACb,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;oCACf,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gCACrC,CAAC,CAAC;qCACD,KAAK,CAAC,CAAO,KAAK,EAAE,EAAE;oCACnB,IAAI,qBAAqB,EAAE;wCACvB,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE;4CAC1C,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;yCACnC;wCACD,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;4CAC3C,mBAAmB,EAAE,CAAC;yCACzB;qCACJ;oCAED,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gCACjC,CAAC,CAAA,CAAC,CACT,CAAC;yBACL;qBACJ;oBAED,IAAI,qBAAqB,EAAE;wBACvB,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE;4BAC1C,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;yBACnC;wBACD,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE;4BAC3C,mBAAmB,EAAE,CAAC;yBACzB;qBACJ;oBAED,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC,CAAA,CAAC,CACT,CAAC;SACL;aAAM;YACH,MAAM,IAAI,qBAAqB,CAC3B,iCAAiC,EACjC,iDAAiD,EACjD,qFAAqF;gBACrF,gFAAgF;gBAChF,gDAAgD,CACnD,CAAC;SACL;IACL,CAAC,CAAA,CAAC;IAEF,MAAM,aAAa,GAAG,GAAuB,EAAE;QAC3C,OAAO,WAAW,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAY,EAAE;QACpC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,KAAI,WAAW,CAAC,aAAa,EAAE,CAAC;QAC1D,qBAAqB,GAAG,IAAI,CAAC;QAE7B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAY,EAAE;QACrC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,KAAI,WAAW,CAAC,cAAc,EAAE,CAAC;QAC5D,qBAAqB,GAAG,KAAK,CAAC;QAE9B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAwB,EAAE;;QAC3C,MAAM,aAAa,GAAkB,MAAM,qBAAqB,CAAC,uBAAuB,EAAE,CAAC;QAC3F,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;QAEhD,wBAAwB,CAAC,UAAU,CAC/B,MAAM,CAAC,QAAQ,EACf,MAAA,aAAa,CAAC,kBAAkB,mCAAI,EAAE,EACtC,GAAS,EAAE,kDAAC,OAAA,CAAC,MAAM,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,CAAC,YAAY,CAAA,GAAA,EACzE,MAAA,MAAM,CAAC,oBAAoB,mCAAI,CAAC,EAChC,MAAA,MAAM,CAAC,sBAAsB,mCAAI,GAAG,EACpC,MAAM,CAAC,iBAAiB,EACxB,CAAO,MAAyB,EAAmB,EAAE,kDAAC,OAAA,qBAAqB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA,GAAA,CAC1G,CAAC;IACN,CAAC,CAAA,CAAC;IAEF,MAAM,MAAM,GAAG,CACX,YAA+B,EAC/B,iBAA0B,EAC1B,YAAqB,EACrB,KAAc,EACQ,EAAE;;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;QAEhD,MAAM,kBAAkB,GAAY,MAAM,wBAAwB,CAAC,yBAAyB,CACxF,CAAO,YAA2B,EAAE,EAAE;YAClC,MAAM,UAAU,CAAC,uBAAuB,CAAC,aAAa,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAAC;YAC5E,OAAO;QACX,CAAC,CAAA,CACJ,CAAC;QAEF,IAAI,kBAAkB,EAAE;YACpB,OAAO,OAAO,CAAC,OAAO,CAAC;gBACnB,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,EAAE;gBACf,KAAK,EAAE,EAAE;gBACT,YAAY,EAAE,EAAE;gBAChB,GAAG,EAAE,EAAE;gBACP,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,EAAE;aACf,CAAC,CAAC;SACN;QAED,IAAI,MAAM,qBAAqB,CAAC,eAAe,EAAE,EAAE;YAC/C,UAAU,CAAC,wBAAwB,EAAE,CAAC;YACtC,UAAU,CAAC,+BAA+B,EAAE,CAAC;YAE7C,2EAA2E;YAC3E,IAAI,MAAM,CAAC,2BAA2B,EAAE;gBACpC,YAAY,EAAE,CAAC;aAClB;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,CAAC;SAC1E;QAED,IAAI,yBAAiC,CAAC;QACtC,IAAI,oBAA4B,CAAC;QACjC,IAAI,aAAqB,CAAC;QAE1B,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,MAAK,YAAY,CAAC,QAAQ,IAAI,iBAAiB,EAAE;YACrE,yBAAyB,GAAG,iBAAiB,CAAC;YAC9C,oBAAoB,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC;YAC1C,aAAa,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;SAC/B;aAAM;YACH,yBAAyB,GAAG,MAAA,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,mCAAI,EAAE,CAAC;YACrG,oBAAoB,GAAG,MAAA,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,mCAAI,EAAE,CAAC;YAC3F,aAAa,GAAG,MAAA,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC;YAE5E,QAAQ,CAAC,uBAAuB,EAAE,CAAC;SACtC;QAED,IAAI,yBAAyB,IAAI,aAAa,EAAE;YAC5C,OAAO,kBAAkB,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,aAAa,CAAC,CAAC;SAC7F;QAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE3F,IAAI,KAAK,EAAE;YACP,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAE3C,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAExD,MAAM,IAAI,qBAAqB,CAAC,gCAAgC,EAAE,KAAK,EAAE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,CAAC,CAAC;SACpG;QAED,OAAO,qBAAqB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAO,GAAW,EAAE,EAAE;YACtF,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,EAAE;gBAC/D,MAAM,OAAO,GAAW,mBAAmB,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;gBAExF,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAW,CAAC,CAAC;aACjG;YAED,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;YAEpB,MAAM,QAAQ,CAAC,oBAAoB,EAAE,CAAC;YAEtC,OAAO,OAAO,CAAC,OAAO,CAAC;gBACnB,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,EAAE;gBACf,KAAK,EAAE,EAAE;gBACT,YAAY,EAAE,EAAE;gBAChB,GAAG,EAAE,EAAE;gBACP,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,EAAE;aACf,CAAC,CAAC;QACP,CAAC,CAAA,CAAC,CAAC;IACP,CAAC,CAAA,CAAC;IAEF,MAAM,OAAO,GAAG,GAA2B,EAAE;QACzC,IAAI,CAAC,MAAM,qBAAqB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,gCAAgC,EAAE;YACtF,QAAQ,CAAC,IAAI,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,CAAC;SACzD;aAAM;YACH,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,UAAU,CAAC,0BAA0B,EAAE,CAAC;YAC9C,MAAM,UAAU,CAAC,mBAAmB,EAAE,CAAC;YACvC,MAAM,UAAU,CAAC,iBAAiB,EAAE,CAAC;SACxC;QAED,UAAU,CAAC,wBAAwB,EAAE,CAAC;QAEtC,MAAM,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAEtC,OAAO,IAAI,CAAC;IAChB,CAAC,CAAA,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAO,MAA4B,EAA0C,EAAE;;QACtG,IAAI,kBAAkB,GAAG,IAAI,CAAC;QAC9B,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,yFAAyF;QACzF,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,EAAE;YACvB,kBAAkB,GAAG,KAAK,CAAC;YAE3B,KAAK,MAAM,OAAO,IAAI;gBAClB,GAAG,CAAC,MAAA,MAAA,CAAC,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC,0CAAE,kBAAkB,mCAAI,EAAE,CAAC;gBAChE,MAAc,CAAC,OAAO;aAC1B,EAAE;gBACC,IAAI,OAAO,KAAI,MAAA,MAAM,CAAC,aAAa,0CAAE,UAAU,CAAC,OAAO,CAAC,CAAA,EAAE;oBACtD,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM;iBACT;aACJ;SACJ;QACD,IAAI,MAAM,CAAC,wBAAwB,EAAE;YACjC,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;SACrF;QACD,IAAI,kBAAkB,IAAI,OAAO,EAAE;YAC/B,OAAO,qBAAqB;iBACvB,kBAAkB,CAAC,MAAM,CAAC;iBAC1B,IAAI,CAAC,CAAO,QAAuC,EAAE,EAAE;gBACpD,IAAI,MAAM,CAAC,uBAAuB,EAAE;oBAChC,gCAAgC,GAAG,IAAI,CAAC;iBAC3C;gBAED,IAAI,MAAM,CAAC,cAAc,EAAE;oBACvB,UAAU,CAAC,+BAA+B,EAAE,CAAC;oBAE7C,OAAO,qBAAqB,CAAC,gBAAgB,EAAE,CAAC;iBACnD;qBAAM;oBACH,OAAO,QAAyB,CAAC;iBACpC;YACL,CAAC,CAAA,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACb,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;SACV;aAAM;YACH,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,qBAAqB,CACrB,iCAAiC,EACjC,iDAAiD,EACjD,qFAAqF;gBACrF,sFAAsF;gBACtF,gDAAgD,CACnD,CACJ,CAAC;SACL;IACL,CAAC,CAAA,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAiC,EAAE;QAC1D,IAAI;YACA,MAAM,qBAAqB,CAAC,kBAAkB,EAAE,CAAC;YACjD,MAAM,iBAAiB,GAAG,MAAM,wBAAwB,EAAE,CAAC;YAC3D,IAAI,iBAAiB,EAAE;gBACnB,MAAM,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;aAC/C;YACD,UAAU,CAAC,+BAA+B,EAAE,CAAC;YAE7C,OAAO,qBAAqB,CAAC,gBAAgB,EAAE,CAAC;SACnD;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAChC;IACL,CAAC,CAAA,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAqB,EAAE;QAC7C,OAAO,qBAAqB;aACvB,iBAAiB,EAAE;aACnB,IAAI,CAAC,GAAG,EAAE;YACP,wBAAwB,CAAC,KAAK,EAAE,CAAC;YACjC,UAAU,CAAC,wBAAwB,EAAE,CAAC;YAEtC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CACvB,yBAAiC,EACjC,oBAA4B,EAC5B,aAAqB,EACC,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;QAEhD,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,EAAE;YAC/D,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC,CAAC;YAE/F,MAAM,qBAAqB,CAAC,WAAW,CACnC,mBAAmB,CAAC,4BAA4B,CAAC,aAAa,CAAC,EAC/D,IAAI,CACP,CAAC;SACL;QAED,OAAO,qBAAqB;aACvB,kBAAkB,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,aAAa,CAAC;aAClF,IAAI,CAAC,GAAS,EAAE;YACb,2BAA2B;YAC3B;;gBAEI;YACJ,QAAQ,CAAC,aAAa,CAAC,MAAM,qBAAqB,CAAC,aAAa,EAAE,CAAC,CAAC;YAEpE,UAAU,CAAC,wBAAwB,EAAE,CAAC;YACtC,UAAU,CAAC,+BAA+B,EAAE,CAAC;YAE7C,2EAA2E;YAC3E,IAAI,MAAM,CAAC,2BAA2B,EAAE;gBACpC,YAAY,EAAE,CAAC;aAClB;YAED,OAAO,qBAAqB,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC,CAAA,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACX,CAAC,CAAA,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,iBAAiB,GAAG,GAA2C,EAAE;;QACnE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;QAEhD,IAAI,QAAQ,CAAC,yBAAyB,EAAE,EAAE;YACtC,MAAM,wBAAwB,CAAC,yBAAyB,EAAE,CAAC;YAE3D,OAAO,OAAO,CAAC,OAAO,CAAC;gBACnB,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,EAAE;gBACf,KAAK,EAAE,EAAE;gBACT,YAAY,EAAE,EAAE;gBAChB,GAAG,EAAE,EAAE;gBACP,YAAY,EAAE,EAAE;gBAChB,QAAQ,EAAE,EAAE;aACf,CAAC,CAAC;SACN;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAsB,CAAC;QAEzE,MAAM,gBAAgB,GAAsB,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,0CAAE,cAAc,CACjF,kBAAkB,CACA,CAAC;QAEvB,IAAI;YACA,MAAM,SAAS,GAAW,MAAM,qBAAqB,CAAC,mBAAmB,CAAC;gBACtE,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,oBAAoB;aAC9B,CAAC,CAAC;YAEH,+BAA+B;YAC/B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;YACrC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,GAAG,GAAW,SAAS,CAAC,QAAQ,EAAE,CAAC;YAEzC,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,EAAE;gBAC/D,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAEhD,QAAQ,CAAC,OAAO,CACZ,mBAAmB,CAAC,4BAA4B,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,EAC7D,CAAC,MAAM,qBAAqB,CAAC,WAAW,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAW,CACnE,CAAC;aACL;YAED,gBAAgB,CAAC,GAAG,GAAG,GAAG,CAAC;SAC9B;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAChC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,EAAE,KAAK,CAAC,CAAC;YAEV,MAAM,wBAAwB,GAAG,CAAO,CAAe,EAAE,EAAE;;gBACvD,MAAM,IAAI,GAAsC,CAAC,CAAC,IAAI,CAAC;gBAEvD,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,wBAAwB,EAAE;oBACxC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;oBAChE,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,OAAO,CAAC,KAAK,CAAC,CAAC;iBAClB;gBAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,uBAAuB,KAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,IAAI,CAAA,EAAE;oBAC3D,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,YAAY,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,KAAK,CAAC;yBAC1E,IAAI,CAAC,CAAC,QAAuB,EAAE,EAAE;wBAC9B,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;wBAChE,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACtB,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;wBACb,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;wBAChE,MAAM,CAAC,KAAK,CAAC,CAAC;oBAClB,CAAC,CAAC;yBACD,OAAO,CAAC,GAAG,EAAE;wBACV,YAAY,CAAC,KAAK,CAAC,CAAC;oBACxB,CAAC,CAAC,CAAC;iBACV;YACL,CAAC,CAAA,CAAC;YAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACP,CAAC,CAAA,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAiC,EAAE;QACxD,OAAO,qBAAqB,CAAC,gBAAgB,EAAE,CAAC;IACpD,CAAC,CAAA,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAyC,EAAE;QACjE,OAAO,qBAAqB,CAAC,iBAAiB,EAAE,CAAC;IACrD,CAAC,CAAA,CAAC;IAEF,MAAM,UAAU,GAAG,GAA0B,EAAE;QAC3C,OAAO,qBAAqB,CAAC,UAAU,EAAE,CAAC;IAC9C,CAAC,CAAA,CAAC;IAEF,MAAM,uBAAuB,GAAG,GAAiC,EAAE;QAC/D,OAAO,qBAAqB,CAAC,uBAAuB,EAAE,CAAC;IAC3D,CAAC,CAAA,CAAC;IAEF,MAAM,cAAc,GAAG,GAA0B,EAAE;QAC/C,OAAO,qBAAqB,CAAC,cAAc,EAAE,CAAC;IAClD,CAAC,CAAA,CAAC;IAEF,MAAM,eAAe,GAAG,GAA2B,EAAE;QACjD,OAAO,qBAAqB,CAAC,eAAe,EAAE,CAAC;IACnD,CAAC,CAAA,CAAC;IAEF,MAAM,YAAY,GAAG,CAAO,SAA4D,EAAiB,EAAE;QACvG,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC;QACxD,MAAM,6BAA6B,GAAY,CAAC,CAC5C,cAAc;YACd,cAAc,CAAC,SAAS;YACxB,cAAc,CAAC,SAAS,CAAC,kBAAkB;YAC3C,SAAS;YACT,SAAS,CAAC,SAAS;YACnB,SAAS,CAAC,SAAS,CAAC,kBAAkB;YACtC,cAAc,CAAC,SAAS,CAAC,kBAAkB,KAAK,SAAS,CAAC,SAAS,CAAC,kBAAkB,CACzF,CAAC;QACF,MAAM,MAAM,mCAAQ,cAAc,GAAK,SAAS,CAAE,CAAC;QACnD,MAAM,qBAAqB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAEjD,uEAAuE;QACvE,IAAI,MAAM,CAAC,2BAA2B,IAAI,6BAA6B,EAAE;YACrE,wBAAwB,CAAC,KAAK,EAAE,CAAC;YAEjC,YAAY,EAAE,CAAC;SAClB;IACL,CAAC,CAAA,CAAC;IAEF,MAAM,wBAAwB,GAAG,GAA8D,EAAE;QAC7F,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;QACrF,IAAI,YAAY,EAAE;YACd,OAAO,IAAI,CAAC,KAAK,CAAC,YAAsB,CAAC,CAAC;SAC7C;aAAM;YACH,OAAO,IAAI,CAAC;SACf;IACL,CAAC,CAAA,CAAC;IAEF,OAAO;QACH,kBAAkB;QAClB,iBAAiB;QACjB,cAAc;QACd,gBAAgB;QAChB,iBAAiB;QACjB,aAAa;QACb,UAAU;QACV,uBAAuB;QACvB,WAAW;QACX,cAAc;QACd,eAAe;QACf,kBAAkB;QAClB,kBAAkB;QAClB,iBAAiB;QACjB,2BAA2B;QAC3B,4BAA4B;QAC5B,2BAA2B;QAC3B,6BAA6B;QAC7B,MAAM;QACN,OAAO;QACP,iBAAiB;QACjB,YAAY;KACf,CAAC;AACN,CAAC,CAAA,CAAC"}
|
|
1
|
+
{"version":3,"file":"main-thread-client.js","sourceRoot":"","sources":["../../../src/clients/main-thread-client.ts"],"names":[],"mappings":"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"}
|