@ethlete/query 4.16.3 → 4.18.0

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.
@@ -1,9 +1,11 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { isDevMode } from '@angular/core';
3
- import { BehaviorSubject, filter, of, switchMap, takeWhile, tap } from 'rxjs';
2
+ import { assertInInjectionContext, isDevMode, signal } from '@angular/core';
3
+ import { toObservable } from '@angular/core/rxjs-interop';
4
+ import { BehaviorSubject, filter, map, of, switchMap, takeWhile, tap } from 'rxjs';
4
5
  import { transformGql } from '../gql';
5
6
  import { transformMethod } from '../request';
6
7
  import { isSymfonyPagerfantaOutOfRangeError } from '../symfony';
8
+ import { addQueryContainerHandling } from '../utils';
7
9
  export function filterSuccess() {
8
10
  return function (source) {
9
11
  return source.pipe(filter((value) => isQueryStateSuccess(value)));
@@ -121,9 +123,28 @@ export const isQueryCollection = (query) => {
121
123
  }
122
124
  return true;
123
125
  };
126
+ /**
127
+ * @deprecated Use `createQueryCollectionSubject` instead. Will be removed in v5.
128
+ */
124
129
  export const createQueryCollection = (
125
130
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
126
131
  queryMap) => new BehaviorSubject(null);
132
+ export const createQueryCollectionSubject = (
133
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
134
+ queryMap, config) => {
135
+ assertInInjectionContext(createQueryCollectionSubject);
136
+ const subject = new BehaviorSubject(null);
137
+ addQueryContainerHandling(subject.pipe(map((s) => s?.query ?? null)), () => subject.getValue()?.query ?? null, config);
138
+ return subject;
139
+ };
140
+ export const createQueryCollectionSignal = (
141
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
142
+ queryMap, config) => {
143
+ assertInInjectionContext(createQueryCollectionSignal);
144
+ const _signal = signal(null);
145
+ addQueryContainerHandling(toObservable(_signal).pipe(map((s) => s?.query ?? null)), () => _signal()?.query ?? null, config);
146
+ return _signal;
147
+ };
127
148
  export const extractQuery = (v) => (isQuery(v) ? v : v?.query) ?? null;
128
149
  export const getDefaultHeaders = (headers, method) => {
129
150
  if (!headers) {
@@ -229,4 +250,4 @@ export const paginatedEntityValueUpdater = (findFn) => ({ response, rawResponse,
229
250
  rawResponse: newRawResponse,
230
251
  };
231
252
  };
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvcXVlcnkvcXVlcnkudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFZdEMsT0FBTyxFQUFtRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDOUcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBeUJoRSxNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLFVBQ0wsTUFBcUI7UUFFckIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBa0MsQ0FBQztJQUNyRyxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQjtJQUMvQixPQUFPLFVBQXVDLE1BQXFCO1FBQ2pFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQWtCLENBQUM7SUFDaEYsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sVUFBdUMsTUFBcUI7UUFDakUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFD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SUFBSSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDMUYsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUVwRixJQUFJLGFBQWEsS0FBSyxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUNuRCxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxjQUFjLEdBQUc7UUFDckIsR0FBRyxXQUFXO1FBQ2QsS0FBSyxFQUFFO1lBQ0wsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUM7WUFDL0MsTUFBTTtZQUNOLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1NBQ2pEO0tBQ0YsQ0FBQztJQUVGLE1BQU0sV0FBVyxHQUFHO1FBQ2xCLEdBQUcsUUFBUTtRQUNYLEtBQUssRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQztLQUN2RyxDQUFDO0lBRUYsT0FBTztRQUNMLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLFdBQVcsRUFBRSxjQUFjO0tBQzVCLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBhZ2luYXRlZCB9IGZyb20gJ0BldGhsZXRlL3R5cGVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwLCB0YWtlV2hpbGUsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICcuLi9lbnRpdHknO1xuaW1wb3J0IHsgdHJhbnNmb3JtR3FsIH0gZnJvbSAnLi4vZ3FsJztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50IH0gZnJvbSAnLi4vcXVlcnktY2xpZW50JztcbmltcG9ydCB7XG4gIEFueVF1ZXJ5Q3JlYXRvcixcbiAgUXVlcnlBcmdzT2YsXG4gIFF1ZXJ5Q3JlYXRvcixcbiAgUXVlcnlEYXRhT2YsXG4gIFF1ZXJ5UmVzcG9uc2VPZixcbiAgUXVlcnlTdG9yZUlkT2YsXG4gIFF1ZXJ5U3RvcmVPZixcbn0gZnJvbSAnLi4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQgeyBRdWVyeUZvcm0gfSBmcm9tICcuLi9xdWVyeS1mb3JtJztcbmltcG9ydCB7IEh0dHBTdGF0dXNDb2RlLCBNZXRob2QsIFJlcXVlc3RIZWFkZXJzLCBSZXF1ZXN0SGVhZGVyc01ldGhvZE1hcCwgdHJhbnNmb3JtTWV0aG9kIH0gZnJvbSAnLi4vcmVxdWVzdCc7XG5pbXBvcnQgeyBpc1N5bWZvbnlQYWdlcmZhbnRhT3V0T2ZSYW5nZUVycm9yIH0gZnJvbSAnLi4vc3ltZm9ueSc7XG5pbXBvcnQge1xuICBBbnlHcWxRdWVyeUNvbmZpZyxcbiAgQW55UXVlcnksXG4gIEFueVF1ZXJ5Q29sbGVjdGlvbixcbiAgQW55UXVlcnlDb2xsZWN0aW9uRGF0YSxcbiAgQW55UXVlcnlDcmVhdG9yQ29sbGVjdGlvbixcbiAgQW55UmVzdFF1ZXJ5Q29uZmlnLFxuICBCYXNlQXJndW1lbnRzLFxuICBDYW5jZWxsZWQsXG4gIEZhaWx1cmUsXG4gIEdxbFF1ZXJ5Q29uZmlnLFxuICBMb2FkaW5nLFxuICBQcmVwYXJlZCxcbiAgUXVlcnlDb2xsZWN0aW9uT2YsXG4gIFF1ZXJ5U3RhdGUsXG4gIFF1ZXJ5U3RhdGVSZXNwb25zZU9mLFxuICBRdWVyeVN0YXRlVHlwZSxcbiAgUmVzZXRQYWdlT25FcnJvck9wZXJhdG9yQ29uZmlnLFxuICBSb3V0ZVR5cGUsXG4gIFN1Y2Nlc3MsXG59IGZyb20gJy4vcXVlcnkudHlwZXMnO1xuXG50eXBlIE9taXROdWxsPFQ+ID0gVCBleHRlbmRzIG51bGwgPyBuZXZlciA6IFQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJTdWNjZXNzKCkge1xuICByZXR1cm4gZnVuY3Rpb24gPFQgZXh0ZW5kcyBRdWVyeVN0YXRlIHwgbnVsbCwgUmVzcG9uc2UgZXh0ZW5kcyBRdWVyeVN0YXRlUmVzcG9uc2VPZjxPbWl0TnVsbDxUPj4+KFxuICAgIHNvdXJjZTogT2JzZXJ2YWJsZTxUPixcbiAgKSB7XG4gICAgcmV0dXJuIHNvdXJjZS5waXBlKGZpbHRlcigodmFsdWUpID0+IGlzUXVlcnlTdGF0ZVN1Y2Nlc3ModmFsdWUpKSkgYXMgT2JzZXJ2YWJsZTxTdWNjZXNzPFJlc3BvbnNlPj47XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpZ25vcmVBdXRvUmVmcmVzaCgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIDxUIGV4dGVuZHMgUXVlcnlTdGF0ZSB8IG51bGw+KHNvdXJjZTogT2JzZXJ2YWJsZTxUPikge1xuICAgIHJldHVybiBzb3VyY2UucGlwZShmaWx0ZXIoKHZhbHVlKSA9PiAhaXNBdXRvUmVmcmVzaCh2YWx1ZSkpKSBhcyBPYnNlcnZhYmxlPFQ+O1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyRmFpbHVyZSgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIDxUIGV4dGVuZHMgUXVlcnlTdGF0ZSB8IG51bGw+KHNvdXJjZTogT2JzZXJ2YWJsZTxUPikge1xuICAgIHJldHVybiBzb3VyY2UucGlwZShmaWx0ZXIoKHZhbHVlKSA9PiBpc1F1ZXJ5U3RhdGVGYWlsdXJlKHZhbHVlKSkpIGFzIE9ic2VydmFibGU8RmFpbHVyZT47XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJRdWVyeVN0YXRlcyhhbGxvd2VkU3RhdGVzOiBRdWVyeVN0YXRlVHlwZVtdKSB7XG4gIHJldHVybiBmdW5jdGlvbiA8VCBleHRlbmRzIFF1ZXJ5U3RhdGUgfCBudWxsPihzb3VyY2U6IE9ic2VydmFibGU8VD4pIHtcbiAgICByZXR1cm4gc291cmNlLnBpcGUoZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgJiYgYWxsb3dlZFN0YXRlcy5pbmNsdWRlcyh2YWx1ZS50eXBlKSkpIGFzIE9ic2VydmFibGU8VD47XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWtlVW50aWxSZXNwb25zZShjb25maWc/OiB7IGV4Y2x1ZGVOdWxsPzogYm9vbGVhbiB9KSB7XG4gIHJldHVybiBmdW5jdGlvbiA8VCBleHRlbmRzIFF1ZXJ5U3RhdGUgfCBudWxsPihzb3VyY2U6IE9ic2VydmFibGU8VD4pIHtcbiAgICByZXR1cm4gc291cmNlLnBpcGUoXG4gICAgICB0YWtlV2hpbGUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChjb25maWc/LmV4Y2x1ZGVOdWxsICYmIHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGlzUXVlcnlTdGF0ZUxvYWRpbmcodmFsdWUpIHx8IHZhbHVlID09PSBudWxsO1xuICAgICAgfSwgdHJ1ZSksXG4gICAgKTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlck51bGwoKSB7XG4gIHJldHVybiBmdW5jdGlvbiA8VD4oc291cmNlOiBPYnNlcnZhYmxlPFQ+KSB7XG4gICAgcmV0dXJuIHNvdXJjZS5waXBlKGZpbHRlcigodmFsdWUpOiB2YWx1ZSBpcyBPbWl0TnVsbDxUPiA9PiB2YWx1ZSAhPT0gbnVsbCkpO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3dpdGNoUXVlcnlTdGF0ZSgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIDxUIGV4dGVuZHMgQW55UXVlcnkgfCBudWxsLCBEYXRhIGV4dGVuZHMgUXVlcnlEYXRhT2Y8VD4+KHNvdXJjZTogT2JzZXJ2YWJsZTxUPikge1xuICAgIHJldHVybiBzb3VyY2UucGlwZShzd2l0Y2hNYXAoKHZhbHVlKSA9PiB2YWx1ZT8uc3RhdGUkID8/IG9mKG51bGwpKSkgYXMgT2JzZXJ2YWJsZTxRdWVyeVN0YXRlPERhdGE+IHwgbnVsbD47XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzd2l0Y2hRdWVyeUNvbGxlY3Rpb25TdGF0ZSgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIDxUIGV4dGVuZHMgQW55UXVlcnlDb2xsZWN0aW9uIHwgbnVsbCwgRGF0YSBleHRlbmRzIEFueVF1ZXJ5Q29sbGVjdGlvbkRhdGE8T21pdE51bGw8VD4+PihcbiAgICBzb3VyY2U6IE9ic2VydmFibGU8VD4sXG4gICkge1xuICAgIHJldHVybiBzb3VyY2UucGlwZShzd2l0Y2hNYXAoKHZhbHVlKSA9PiB2YWx1ZT8ucXVlcnkuc3RhdGUkID8/IG9mKG51bGwpKSkgYXMgT2JzZXJ2YWJsZTxRdWVyeVN0YXRlPERhdGE+IHwgbnVsbD47XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCByZXNldFBhZ2VPbkVycm9yID1cbiAgPFQgZXh0ZW5kcyBBbnlRdWVyeSB8IG51bGwgfCB1bmRlZmluZWQsIEogZXh0ZW5kcyBRdWVyeUZvcm08YW55Pj4oY29uZmlnOiBSZXNldFBhZ2VPbkVycm9yT3BlcmF0b3JDb25maWc8Sj4pID0+XG4gIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IHtcbiAgICBjb25zdCB7IHF1ZXJ5Rm9ybSwgcGFnZUNvbnRyb2xLZXkgPSAncGFnZScgfSA9IGNvbmZpZztcblxuICAgIGlmIChpc0Rldk1vZGUoKSAmJiAhcXVlcnlGb3JtLmZvcm0uY29udHJvbHNbcGFnZUNvbnRyb2xLZXldKSB7XG4gICAgICBjb25zb2xlLndhcm4oYHJlc2V0UGFnZU9uRXJyb3I6IHF1ZXJ5Rm9ybS5mb3JtLmNvbnRyb2xzW1wiJHtwYWdlQ29udHJvbEtleX1cIl0gaXMgdW5kZWZpbmVkYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNvdXJjZS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChxKSA9PiB7XG4gICAgICAgIGlmICghcSkge1xuICAgICAgICAgIHJldHVybiBvZihxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBxLnN0YXRlJC5waXBlKFxuICAgICAgICAgIHRhcCgoc3RhdGUpID0+IHtcbiAgICAgICAgICAgIGlmICghaXNRdWVyeVN0YXRlRmFpbHVyZShzdGF0ZSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzd2l0Y2ggKHN0YXRlLmVycm9yLnN0YXR1cykge1xuICAgICAgICAgICAgICAvLyBUaGUgcGFnZSBpcyBpbnZhbGlkIChpbiBwcm9kIG1vZGUsIGNvZGUgaXMgNDE2KVxuICAgICAgICAgICAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJhbmdlTm90U2F0aXNmaWFibGU6XG4gICAgICAgICAgICAgICAgcXVlcnlGb3JtLmZvcm0uY29udHJvbHNbcGFnZUNvbnRyb2xLZXldPy5wYXRjaFZhbHVlKDEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgIC8vIFRoZSBwYWdlIG1pZ2h0IGJlIGludmFsaWQgKGluIGRldiBtb2RlLCBjb2RlIGlzIDUwMClcbiAgICAgICAgICAgICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbnRlcm5hbFNlcnZlckVycm9yOlxuICAgICAgICAgICAgICAgIGlmIChpc1N5bWZvbnlQYWdlcmZhbnRhT3V0T2ZSYW5nZUVycm9yKHN0YXRlLmVycm9yLmRldGFpbCkpIHtcbiAgICAgICAgICAgICAgICAgIHF1ZXJ5Rm9ybS5mb3JtLmNvbnRyb2xzW3BhZ2VDb250cm9sS2V5XS5wYXRjaFZhbHVlKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YWtlVW50aWxSZXNwb25zZSgpLFxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgKTtcbiAgfTtcblxuZXhwb3J0IGNvbnN0IGlzUXVlcnlTdGF0ZUxvYWRpbmcgPSAoc3RhdGU6IFF1ZXJ5U3RhdGUgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RhdGUgaXMgTG9hZGluZyA9PlxuICBzdGF0ZT8udHlwZSA9PT0gUXVlcnlTdGF0ZVR5cGUuTG9hZGluZztcblxuZXhwb3J0IGNvbnN0IGlzUXVlcnlTdGF0ZVN1Y2Nlc3MgPSAoc3RhdGU6IFF1ZXJ5U3RhdGUgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RhdGUgaXMgU3VjY2VzcyA9PlxuICBzdGF0ZT8udHlwZSA9PT0gUXVlcnlTdGF0ZVR5cGUuU3VjY2VzcztcblxuZXhwb3J0IGNvbnN0IGlzUXVlcnlTdGF0ZUZhaWx1cmUgPSAoc3RhdGU6IFF1ZXJ5U3RhdGUgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RhdGUgaXMgRmFpbHVyZSA9PlxuICBzdGF0ZT8udHlwZSA9PT0gUXVlcnlTdGF0ZVR5cGUuRmFpbHVyZTtcblxuZXhwb3J0IGNvbnN0IGlzUXVlcnlTdGF0ZUNhbmNlbGxlZCA9IChzdGF0ZTogUXVlcnlTdGF0ZSB8IG51bGwgfCB1bmRlZmluZWQpOiBzdGF0ZSBpcyBDYW5jZWxsZWQgPT5cbiAgc3RhdGU/LnR5cGUgPT09IFF1ZXJ5U3RhdGVUeXBlLkNhbmNlbGxlZDtcblxuZXhwb3J0IGNvbnN0IGlzUXVlcnlTdGF0ZVByZXBhcmVkID0gKHN0YXRlOiBRdWVyeVN0YXRlIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0YXRlIGlzIFByZXBhcmVkID0+XG4gIHN0YXRlPy50eXBlID09PSBRdWVyeVN0YXRlVHlwZS5QcmVwYXJlZDtcblxuZXhwb3J0IGNvbnN0IGlzQXV0b1JlZnJlc2ggPSAoc3RhdGU6IFF1ZXJ5U3RhdGUgfCBudWxsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiA9PiBzdGF0ZT8ubWV0YS50cmlnZ2VyZWRWaWEgPT09ICdhdXRvJztcblxuZXhwb3J0IGNvbnN0IG1lcmdlSGVhZGVycyA9ICguLi5oZWFkZXJzOiBBcnJheTxSZXF1ZXN0SGVhZGVycyB8IG51bGwgfCB1bmRlZmluZWQ+KSA9PiB7XG4gIHJldHVybiBoZWFkZXJzLnJlZHVjZSgoYWNjLCBoZWFkZXJzKSA9PiB7XG4gICAgaWYgKCFoZWFkZXJzKSB7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5hY2MsXG4gICAgICAuLi5oZWFkZXJzLFxuICAgIH07XG4gIH0sIHt9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0dxbFF1ZXJ5Q29uZmlnID0gPFxuICBSZXNwb25zZSxcbiAgQXJndW1lbnRzIGV4dGVuZHMgQmFzZUFyZ3VtZW50cyB8IHVuZGVmaW5lZCxcbiAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPiB8IHVuZGVmaW5lZCxcbiAgU3RvcmUgZXh0ZW5kcyBFbnRpdHlTdG9yZTx1bmtub3duPixcbiAgRGF0YSxcbiAgSWQsXG4+KFxuICBjb25maWc6IHVua25vd24sXG4pOiBjb25maWcgaXMgR3FsUXVlcnlDb25maWc8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFN0b3JlLCBEYXRhLCBJZD4gPT4ge1xuICBpZiAoIWNvbmZpZyB8fCB0eXBlb2YgY29uZmlnICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KGNvbmZpZykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoISgncXVlcnknIGluIGNvbmZpZykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1F1ZXJ5ID0gPFQgZXh0ZW5kcyBBbnlRdWVyeT4ocXVlcnk6IHVua25vd24pOiBxdWVyeSBpcyBUID0+IHtcbiAgaWYgKCFxdWVyeSB8fCB0eXBlb2YgcXVlcnkgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkocXVlcnkpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ3N0YXRlJCcgaW4gcXVlcnkpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuXG5leHBvcnQgY29uc3QgaXNRdWVyeUNvbGxlY3Rpb24gPSA8VCBleHRlbmRzIEFueVF1ZXJ5Q29sbGVjdGlvbj4ocXVlcnk6IHVua25vd24pOiBxdWVyeSBpcyBUID0+IHtcbiAgaWYgKCFxdWVyeSB8fCB0eXBlb2YgcXVlcnkgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkocXVlcnkpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ3F1ZXJ5JyBpbiBxdWVyeSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVRdWVyeUNvbGxlY3Rpb24gPSA8VCBleHRlbmRzIEFueVF1ZXJ5Q3JlYXRvckNvbGxlY3Rpb24sIFIgZXh0ZW5kcyBRdWVyeUNvbGxlY3Rpb25PZjxUPj4oXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgcXVlcnlNYXA6IFQsXG4pID0+IG5ldyBCZWhhdmlvclN1YmplY3Q8UiB8IG51bGw+KG51bGwpO1xuXG5leHBvcnQgY29uc3QgZXh0cmFjdFF1ZXJ5ID0gPFQgZXh0ZW5kcyBBbnlRdWVyeSB8IEFueVF1ZXJ5Q29sbGVjdGlvbiB8IG51bGw+KHY6IFQpID0+XG4gIChpc1F1ZXJ5KHYpID8gdiA6IHY/LnF1ZXJ5KSA/PyBudWxsO1xuXG5leHBvcnQgY29uc3QgZ2V0RGVmYXVsdEhlYWRlcnMgPSAoXG4gIGhlYWRlcnM6IFJlcXVlc3RIZWFkZXJzIHwgUmVxdWVzdEhlYWRlcnNNZXRob2RNYXAgfCBudWxsIHwgdW5kZWZpbmVkLFxuICBtZXRob2Q6IE1ldGhvZCxcbikgPT4ge1xuICBpZiAoIWhlYWRlcnMpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBpZiAobWV0aG9kIGluIGhlYWRlcnMpIHtcbiAgICByZXR1cm4gKGhlYWRlcnNbbWV0aG9kXSA/PyB7fSkgYXMgUmVxdWVzdEhlYWRlcnM7XG4gIH1cblxuICByZXR1cm4gaGVhZGVycyBhcyBSZXF1ZXN0SGVhZGVycztcbn07XG5cbmV4cG9ydCBjb25zdCBjYXN0UXVlcnlDcmVhdG9yVHlwZXMgPSA8XG4gIFFDIGV4dGVuZHMgQW55UXVlcnlDcmVhdG9yLFxuICBBcmd1bWVudHMgZXh0ZW5kcyBRdWVyeUFyZ3NPZjxRQz4sXG4gIFJlc3BvbnNlIGV4dGVuZHMgUXVlcnlSZXNwb25zZU9mPFFDPixcbiAgU3RvcmUgZXh0ZW5kcyBRdWVyeVN0b3JlT2Y8UUM+LFxuICBEYXRhIGV4dGVuZHMgUXVlcnlEYXRhT2Y8UUM+LFxuICBSb3V0ZSBleHRlbmRzIFJvdXRlVHlwZTxBcmd1bWVudHM+LFxuICBJZCBleHRlbmRzIFF1ZXJ5U3RvcmVJZE9mPFFDPixcbiAgT3ZlcnJpZGVBcmd1bWVudHMgZXh0ZW5kcyBCYXNlQXJndW1lbnRzIHwgdW5kZWZpbmVkLFxuICBPdmVycmlkZVJlc3BvbnNlIGV4dGVuZHMgUmVzcG9uc2UgfCB1bmRlZmluZWQsXG4+KGNvbmZpZzoge1xuICBjcmVhdG9yOiBRQztcbiAgYXJncz86IE92ZXJyaWRlQXJndW1lbnRzO1xuICByZXNwb25zZT86IE92ZXJyaWRlUmVzcG9uc2U7XG59KSA9PiB7XG4gIGlmIChjb25maWcuYXJncz8ucGF0aFBhcmFtcykge1xuICAgIGNvbnNvbGUuZXJyb3IoY29uZmlnKTtcblxuICAgIHRocm93IG5ldyBFcnJvcignUGF0aCBwYXJhbXMgY2Fubm90IGJlIG92ZXJyaWRkZW4gaW4gY2FzdFF1ZXJ5Q3JlYXRvclR5cGVzLiBDcmVhdGUgYSBuZXcgcXVlcnkgY3JlYXRvciBpbnN0ZWFkLicpO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZy5jcmVhdG9yIGFzIHVua25vd24gYXMgUXVlcnlDcmVhdG9yPE92ZXJyaWRlQXJndW1lbnRzLCBPdmVycmlkZVJlc3BvbnNlLCBSb3V0ZSwgU3RvcmUsIERhdGEsIElkPjtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21wdXRlUXVlcnlNZXRob2QgPSAoY29uZmlnOiB7IGNvbmZpZzogQW55UmVzdFF1ZXJ5Q29uZmlnIHwgQW55R3FsUXVlcnlDb25maWc7IGNsaWVudDogUXVlcnlDbGllbnQgfSkgPT4ge1xuICBsZXQgbWV0aG9kOiBNZXRob2Q7XG5cbiAgaWYgKGlzR3FsUXVlcnlDb25maWcoY29uZmlnLmNvbmZpZykpIHtcbiAgICBjb25zdCB0cmFuc2ZlclZpYSA9IGNvbmZpZy5jb25maWcudHJhbnNmZXJWaWEgPz8gY29uZmlnLmNsaWVudC5jb25maWcucmVxdWVzdD8uZ3FsPy50cmFuc2ZlclZpYTtcbiAgICBtZXRob2QgPSB0cmFuc2Zvcm1NZXRob2QoeyBtZXRob2Q6IGNvbmZpZy5jb25maWcubWV0aG9kLCB0cmFuc2ZlclZpYSB9KTtcbiAgfSBlbHNlIHtcbiAgICBtZXRob2QgPSB0cmFuc2Zvcm1NZXRob2QoeyBtZXRob2Q6IGNvbmZpZy5jb25maWcubWV0aG9kIH0pO1xuICB9XG5cbiAgcmV0dXJuIG1ldGhvZDtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21wdXRlUXVlcnlCb2R5ID0gKGNvbmZpZzoge1xuICBjb25maWc6IEFueVJlc3RRdWVyeUNvbmZpZyB8IEFueUdxbFF1ZXJ5Q29uZmlnO1xuICBjbGllbnQ6IFF1ZXJ5Q2xpZW50O1xuICBtZXRob2Q6IE1ldGhvZDtcbiAgYXJncz86IEJhc2VBcmd1bWVudHM7XG59KSA9PiB7XG4gIGxldCBib2R5OiB1bmtub3duO1xuXG4gIGlmIChcbiAgICBjb25maWcubWV0aG9kID09PSAnR0VUJyB8fFxuICAgIGNvbmZpZy5tZXRob2QgPT09ICdIRUFEJyB8fFxuICAgIGNvbmZpZy5tZXRob2QgPT09ICdPUFRJT05TJyB8fFxuICAgIChpc0dxbFF1ZXJ5Q29uZmlnKGNvbmZpZy5jb25maWcpICYmXG4gICAgICAoY29uZmlnLmNvbmZpZy50cmFuc2ZlclZpYSA9PT0gJ0dFVCcgfHxcbiAgICAgICAgKGNvbmZpZy5jbGllbnQuY29uZmlnLnJlcXVlc3Q/LmdxbD8udHJhbnNmZXJWaWEgPT09ICdHRVQnICYmICFjb25maWcuY29uZmlnLnRyYW5zZmVyVmlhKSkpXG4gICkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBpZiAoaXNHcWxRdWVyeUNvbmZpZyhjb25maWcuY29uZmlnKSkge1xuICAgIGNvbnN0IHF1ZXJ5VGVtcGxhdGUgPSBjb25maWcuY29uZmlnLnF1ZXJ5O1xuICAgIGNvbnN0IHF1ZXJ5ID0gdHJhbnNmb3JtR3FsKHF1ZXJ5VGVtcGxhdGUpO1xuXG4gICAgYm9keSA9IHF1ZXJ5KGNvbmZpZy5hcmdzPy52YXJpYWJsZXMpO1xuICB9IGVsc2Uge1xuICAgIGJvZHkgPSBjb25maWcuYXJncz8uYm9keTtcbiAgfVxuXG4gIHJldHVybiBib2R5O1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbXB1dGVRdWVyeUF1dGhIZWFkZXIgPSAoY29uZmlnOiB7XG4gIGNvbmZpZzogQW55UmVzdFF1ZXJ5Q29uZmlnIHwgQW55R3FsUXVlcnlDb25maWc7XG4gIGNsaWVudDogUXVlcnlDbGllbnQ7XG59KSA9PiB7XG4gIGxldCBhdXRoSGVhZGVyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCA9IG51bGw7XG5cbiAgaWYgKGNvbmZpZy5jb25maWcuc2VjdXJlKSB7XG4gICAgY29uc3QgaGVhZGVyID0gY29uZmlnLmNsaWVudC5hdXRoUHJvdmlkZXI/LmhlYWRlcjtcblxuICAgIGlmIChoZWFkZXIpIHtcbiAgICAgIGF1dGhIZWFkZXIgPSBoZWFkZXI7XG4gICAgfVxuICB9IGVsc2UgaWYgKGNvbmZpZy5jbGllbnQuYXV0aFByb3ZpZGVyPy5oZWFkZXIpIHtcbiAgICBpZiAoY29uZmlnLmNvbmZpZy5zZWN1cmUgPT09IHVuZGVmaW5lZCB8fCBjb25maWcuY29uZmlnLnNlY3VyZSkge1xuICAgICAgYXV0aEhlYWRlciA9IGNvbmZpZy5jbGllbnQuYXV0aFByb3ZpZGVyLmhlYWRlcjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYXV0aEhlYWRlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21wdXRlUXVlcnlIZWFkZXJzID0gKGNvbmZpZzoge1xuICBjb25maWc6IEFueVJlc3RRdWVyeUNvbmZpZyB8IEFueUdxbFF1ZXJ5Q29uZmlnO1xuICBjbGllbnQ6IFF1ZXJ5Q2xpZW50O1xuICBhcmdzPzogQmFzZUFyZ3VtZW50cztcbn0pID0+IHtcbiAgY29uc3QgYXV0aEhlYWRlciA9IGNvbXB1dGVRdWVyeUF1dGhIZWFkZXIoY29uZmlnKTtcblxuICBjb25zdCBtZXJnZWRIZWFkZXJzID1cbiAgICBtZXJnZUhlYWRlcnMoXG4gICAgICBnZXREZWZhdWx0SGVhZGVycyhjb25maWcuY2xpZW50LmNvbmZpZy5yZXF1ZXN0Py5oZWFkZXJzLCBjb25maWcuY29uZmlnLm1ldGhvZCksXG4gICAgICBhdXRoSGVhZGVyLFxuICAgICAgY29uZmlnLmFyZ3M/LmhlYWRlcnMsXG4gICAgKSB8fCB1bmRlZmluZWQ7XG5cbiAgcmV0dXJuIG1lcmdlZEhlYWRlcnM7XG59O1xuXG5leHBvcnQgY29uc3QgY29tcHV0ZVF1ZXJ5UXVlcnlQYXJhbXMgPSAoY29uZmlnOiB7XG4gIGNvbmZpZzogQW55UmVzdFF1ZXJ5Q29uZmlnIHwgQW55R3FsUXVlcnlDb25maWc7XG4gIGNsaWVudDogUXVlcnlDbGllbnQ7XG4gIGFyZ3M/OiBCYXNlQXJndW1lbnRzO1xufSkgPT4ge1xuICBpZiAoXG4gICAgaXNHcWxRdWVyeUNvbmZpZyhjb25maWcuY29uZmlnKSAmJlxuICAgIChjb25maWcuY29uZmlnLnRyYW5zZmVyVmlhID09PSAnR0VUJyB8fFxuICAgICAgKGNvbmZpZy5jbGllbnQuY29uZmlnLnJlcXVlc3Q/LmdxbD8udHJhbnNmZXJWaWEgPT09ICdHRVQnICYmICFjb25maWcuY29uZmlnLnRyYW5zZmVyVmlhKSlcbiAgKSB7XG4gICAgY29uc3QgcXVlcnlUZW1wbGF0ZSA9IGNvbmZpZy5jb25maWcucXVlcnk7XG4gICAgY29uc3QgcXVlcnkgPSB0cmFuc2Zvcm1HcWwocXVlcnlUZW1wbGF0ZSk7XG5cbiAgICBsZXQgcGFyYW1zID0gcXVlcnkoY29uZmlnLmFyZ3M/LnZhcmlhYmxlcyk7XG5cbiAgICBpZiAoY29uZmlnLmFyZ3M/LnF1ZXJ5UGFyYW1zKSB7XG4gICAgICBwYXJhbXMgPSB7IC4uLnBhcmFtcywgLi4uY29uZmlnLmFyZ3M/LnF1ZXJ5UGFyYW1zIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHJldHVybiBjb25maWcuYXJncz8ucXVlcnlQYXJhbXM7XG59O1xuXG5leHBvcnQgY29uc3QgcGFnaW5hdGVkRW50aXR5VmFsdWVVcGRhdGVyID1cbiAgPFxuICAgIFQgZXh0ZW5kcyBQYWdpbmF0ZWQ8dW5rbm93bj4sXG4gICAgQXJncyBleHRlbmRzIEJhc2VBcmd1bWVudHMsXG4gICAgRW50aXR5LFxuICAgIEogZXh0ZW5kcyBUIGV4dGVuZHMgUGFnaW5hdGVkPGluZmVyIFg+ID8gWCA6IG5ldmVyLFxuICA+KFxuICAgIGZpbmRGbjogKHZhbDogSiwgZW50aXR5OiBFbnRpdHkpID0+IGJvb2xlYW4sXG4gICkgPT5cbiAgKHsgcmVzcG9uc2UsIHJhd1Jlc3BvbnNlLCBlbnRpdHkgfTogeyByYXdSZXNwb25zZTogVDsgcmVzcG9uc2U6IFQ7IGFyZ3M6IEFyZ3M7IGVudGl0eTogRW50aXR5IH0pID0+IHtcbiAgICBjb25zdCBpbmRleE9mRW50aXR5UmF3ID0gcmF3UmVzcG9uc2UuaXRlbXMuZmluZEluZGV4KChpdGVtKSA9PiBmaW5kRm4oaXRlbSBhcyBKLCBlbnRpdHkpKTtcbiAgICBjb25zdCBpbmRleE9mRW50aXR5ID0gcmVzcG9uc2UuaXRlbXMuZmluZEluZGV4KChpdGVtKSA9PiBmaW5kRm4oaXRlbSBhcyBKLCBlbnRpdHkpKTtcblxuICAgIGlmIChpbmRleE9mRW50aXR5ID09PSAtMSB8fCBpbmRleE9mRW50aXR5UmF3ID09PSAtMSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbmV3UmF3UmVzcG9uc2UgPSB7XG4gICAgICAuLi5yYXdSZXNwb25zZSxcbiAgICAgIGl0ZW1zOiBbXG4gICAgICAgIC4uLnJhd1Jlc3BvbnNlLml0ZW1zLnNsaWNlKDAsIGluZGV4T2ZFbnRpdHlSYXcpLFxuICAgICAgICBlbnRpdHksXG4gICAgICAgIC4uLnJhd1Jlc3BvbnNlLml0ZW1zLnNsaWNlKGluZGV4T2ZFbnRpdHlSYXcgKyAxKSxcbiAgICAgIF0sXG4gICAgfTtcblxuICAgIGNvbnN0IG5ld1Jlc3BvbnNlID0ge1xuICAgICAgLi4ucmVzcG9uc2UsXG4gICAgICBpdGVtczogWy4uLnJlc3BvbnNlLml0ZW1zLnNsaWNlKDAsIGluZGV4T2ZFbnRpdHkpLCBlbnRpdHksIC4uLnJlc3BvbnNlLml0ZW1zLnNsaWNlKGluZGV4T2ZFbnRpdHkgKyAxKV0sXG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICByZXNwb25zZTogbmV3UmVzcG9uc2UsXG4gICAgICByYXdSZXNwb25zZTogbmV3UmF3UmVzcG9uc2UsXG4gICAgfTtcbiAgfTtcbiJdfQ==
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvcXVlcnkvcXVlcnkudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFZdEMsT0FBTyxFQUFtRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDOUcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2hFLE9BQU8sRUFBd0IseUJBQXlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUF5QjNFLE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sVUFDTCxNQUFxQjtRQUVyQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFrQyxDQUFDO0lBQ3JHLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCO0lBQy9CLE9BQU8sVUFBdUMsTUFBcUI7UUFDakUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBa0IsQ0FBQztJQUNoRixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxV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Q0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzFGLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFcEYsSUFBSSxhQUFhLEtBQUssQ0FBQyxDQUFDLElBQUksZ0JBQWdCLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDbkQsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE1BQU0sY0FBYyxHQUFHO1FBQ3JCLEdBQUcsV0FBVztRQUNkLEtBQUssRUFBRTtZQUNMLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDO1lBQy9DLE1BQU07WUFDTixHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztTQUNqRDtLQUNGLENBQUM7SUFFRixNQUFNLFdBQVcsR0FBRztRQUNsQixHQUFHLFFBQVE7UUFDWCxLQUFLLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDdkcsQ0FBQztJQUVGLE9BQU87UUFDTCxRQUFRLEVBQUUsV0FBVztRQUNyQixXQUFXLEVBQUUsY0FBYztLQUM1QixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0LCBpc0Rldk1vZGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgUGFnaW5hdGVkIH0gZnJvbSAnQGV0aGxldGUvdHlwZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBmaWx0ZXIsIG1hcCwgb2YsIHN3aXRjaE1hcCwgdGFrZVdoaWxlLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVudGl0eVN0b3JlIH0gZnJvbSAnLi4vZW50aXR5JztcbmltcG9ydCB7IHRyYW5zZm9ybUdxbCB9IGZyb20gJy4uL2dxbCc7XG5pbXBvcnQgeyBRdWVyeUNsaWVudCB9IGZyb20gJy4uL3F1ZXJ5LWNsaWVudCc7XG5pbXBvcnQge1xuICBBbnlRdWVyeUNyZWF0b3IsXG4gIFF1ZXJ5QXJnc09mLFxuICBRdWVyeUNyZWF0b3IsXG4gIFF1ZXJ5RGF0YU9mLFxuICBRdWVyeVJlc3BvbnNlT2YsXG4gIFF1ZXJ5U3RvcmVJZE9mLFxuICBRdWVyeVN0b3JlT2YsXG59IGZyb20gJy4uL3F1ZXJ5LWNyZWF0b3InO1xuaW1wb3J0IHsgUXVlcnlGb3JtIH0gZnJvbSAnLi4vcXVlcnktZm9ybSc7XG5pbXBvcnQgeyBIdHRwU3RhdHVzQ29kZSwgTWV0aG9kLCBSZXF1ZXN0SGVhZGVycywgUmVxdWVzdEhlYWRlcnNNZXRob2RNYXAsIHRyYW5zZm9ybU1ldGhvZCB9IGZyb20gJy4uL3JlcXVlc3QnO1xuaW1wb3J0IHsgaXNTeW1mb255UGFnZXJmYW50YU91dE9mUmFuZ2VFcnJvciB9IGZyb20gJy4uL3N5bWZvbnknO1xuaW1wb3J0IHsgUXVlcnlDb250YWluZXJDb25maWcsIGFkZFF1ZXJ5Q29udGFpbmVySGFuZGxpbmcgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge1xuICBBbnlHcWxRdWVyeUNvbmZpZyxcbiAgQW55UXVlcnksXG4gIEFueVF1ZXJ5Q29sbGVjdGlvbixcbiAgQW55UXVlcnlDb2xsZWN0aW9uRGF0YSxcbiAgQW55UXVlcnlDcmVhdG9yQ29sbGVjdGlvbixcbiAgQW55UmVzdFF1ZXJ5Q29uZmlnLFxuICBCYXNlQXJndW1lbnRzLFxuICBDYW5jZWxsZWQsXG4gIEZhaWx1cmUsXG4gIEdxbFF1ZXJ5Q29uZmlnLFxuICBMb2FkaW5nLFxuICBQcmVwYXJlZCxcbiAgUXVlcnlDb2xsZWN0aW9uT2YsXG4gIFF1ZXJ5U3RhdGUsXG4gIFF1ZXJ5U3RhdGVSZXNwb25zZU9mLFxuICBRdWVyeVN0YXRlVHlwZSxcbiAgUmVzZXRQYWdlT25FcnJvck9wZXJhdG9yQ29uZmlnLFxuICBSb3V0ZVR5cGUsXG4gIFN1Y2Nlc3MsXG59IGZyb20gJy4vcXVlcnkudHlwZXMnO1xuXG50eXBlIE9taXROdWxsPFQ+ID0gVCBleHRlbmRzIG51bGwgPyBuZXZlciA6IFQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJTdWNjZXNzKCkge1xuICByZXR1cm4gZnVuY3Rpb24gPFQgZXh0ZW5kcyBRdWVyeVN0YXRlIHwgbnVsbCwgUmVzcG9uc2UgZXh0ZW5kcyBRdWVyeVN0YXRlUmVzcG9uc2VPZjxPbWl0TnVsbDxUPj4+KFxuICAgIHNvdXJjZTogT2JzZXJ2YWJsZTxUPixcbiAgKSB7XG4gICAgcmV0dXJuIHNvdXJjZS5waXBlKGZpbHRlcigodmFsdWUpID0+IGlzUXVlcnlTdGF0ZVN1Y2Nlc3ModmFsdWUpKSkgYXMgT2JzZXJ2YWJsZTxTdWNjZXNzPFJlc3BvbnNlPj47XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpZ25vcmVBdXRvUmVmcmVzaCgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIDxUIGV4dGVuZHMgUXVlcnlTdGF0ZSB8IG51bGw+KHNvdXJjZTogT2JzZXJ2YWJsZTxUPikge1xuICAgIHJldHVybiBzb3VyY2UucGlwZShmaWx0ZXIoKHZhbHVlKSA9PiAhaXNBdXRvUmVmcmVzaCh2YWx1ZSkpKSBhcyBPYnNlcnZhYmxlPFQ+O1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyRmFpbHVyZSgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIDxUIGV4dGVuZHMgUXVlcnlTdGF0ZSB8IG51bGw+KHNvdXJjZTogT2JzZXJ2YWJsZTxUPikge1xuICAgIHJldHVybiBzb3VyY2UucGlwZShmaWx0ZXIoKHZhbHVlKSA9PiBpc1F1ZXJ5U3RhdGVGYWlsdXJlKHZhbHVlKSkpIGFzIE9ic2VydmFibGU8RmFpbHVyZT47XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJRdWVyeVN0YXRlcyhhbGxvd2VkU3RhdGVzOiBRdWVyeVN0YXRlVHlwZVtdKSB7XG4gIHJldHVybiBmdW5jdGlvbiA8VCBleHRlbmRzIFF1ZXJ5U3RhdGUgfCBudWxsPihzb3VyY2U6IE9ic2VydmFibGU8VD4pIHtcbiAgICByZXR1cm4gc291cmNlLnBpcGUoZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgJiYgYWxsb3dlZFN0YXRlcy5pbmNsdWRlcyh2YWx1ZS50eXBlKSkpIGFzIE9ic2VydmFibGU8VD47XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWtlVW50aWxSZXNwb25zZShjb25maWc/OiB7IGV4Y2x1ZGVOdWxsPzogYm9vbGVhbiB9KSB7XG4gIHJldHVybiBmdW5jdGlvbiA8VCBleHRlbmRzIFF1ZXJ5U3RhdGUgfCBudWxsPihzb3VyY2U6IE9ic2VydmFibGU8VD4pIHtcbiAgICByZXR1cm4gc291cmNlLnBpcGUoXG4gICAgICB0YWtlV2hpbGUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChjb25maWc/LmV4Y2x1ZGVOdWxsICYmIHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGlzUXVlcnlTdGF0ZUxvYWRpbmcodmFsdWUpIHx8IHZhbHVlID09PSBudWxsO1xuICAgICAgfSwgdHJ1ZSksXG4gICAgKTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlck51bGwoKSB7XG4gIHJldHVybiBmdW5jdGlvbiA8VD4oc291cmNlOiBPYnNlcnZhYmxlPFQ+KSB7XG4gICAgcmV0dXJuIHNvdXJjZS5waXBlKGZpbHRlcigodmFsdWUpOiB2YWx1ZSBpcyBPbWl0TnVsbDxUPiA9PiB2YWx1ZSAhPT0gbnVsbCkpO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3dpdGNoUXVlcnlTdGF0ZSgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIDxUIGV4dGVuZHMgQW55UXVlcnkgfCBudWxsLCBEYXRhIGV4dGVuZHMgUXVlcnlEYXRhT2Y8VD4+KHNvdXJjZTogT2JzZXJ2YWJsZTxUPikge1xuICAgIHJldHVybiBzb3VyY2UucGlwZShzd2l0Y2hNYXAoKHZhbHVlKSA9PiB2YWx1ZT8uc3RhdGUkID8/IG9mKG51bGwpKSkgYXMgT2JzZXJ2YWJsZTxRdWVyeVN0YXRlPERhdGE+IHwgbnVsbD47XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzd2l0Y2hRdWVyeUNvbGxlY3Rpb25TdGF0ZSgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIDxUIGV4dGVuZHMgQW55UXVlcnlDb2xsZWN0aW9uIHwgbnVsbCwgRGF0YSBleHRlbmRzIEFueVF1ZXJ5Q29sbGVjdGlvbkRhdGE8T21pdE51bGw8VD4+PihcbiAgICBzb3VyY2U6IE9ic2VydmFibGU8VD4sXG4gICkge1xuICAgIHJldHVybiBzb3VyY2UucGlwZShzd2l0Y2hNYXAoKHZhbHVlKSA9PiB2YWx1ZT8ucXVlcnkuc3RhdGUkID8/IG9mKG51bGwpKSkgYXMgT2JzZXJ2YWJsZTxRdWVyeVN0YXRlPERhdGE+IHwgbnVsbD47XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCByZXNldFBhZ2VPbkVycm9yID1cbiAgPFQgZXh0ZW5kcyBBbnlRdWVyeSB8IG51bGwgfCB1bmRlZmluZWQsIEogZXh0ZW5kcyBRdWVyeUZvcm08YW55Pj4oY29uZmlnOiBSZXNldFBhZ2VPbkVycm9yT3BlcmF0b3JDb25maWc8Sj4pID0+XG4gIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IHtcbiAgICBjb25zdCB7IHF1ZXJ5Rm9ybSwgcGFnZUNvbnRyb2xLZXkgPSAncGFnZScgfSA9IGNvbmZpZztcblxuICAgIGlmIChpc0Rldk1vZGUoKSAmJiAhcXVlcnlGb3JtLmZvcm0uY29udHJvbHNbcGFnZUNvbnRyb2xLZXldKSB7XG4gICAgICBjb25zb2xlLndhcm4oYHJlc2V0UGFnZU9uRXJyb3I6IHF1ZXJ5Rm9ybS5mb3JtLmNvbnRyb2xzW1wiJHtwYWdlQ29udHJvbEtleX1cIl0gaXMgdW5kZWZpbmVkYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNvdXJjZS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChxKSA9PiB7XG4gICAgICAgIGlmICghcSkge1xuICAgICAgICAgIHJldHVybiBvZihxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBxLnN0YXRlJC5waXBlKFxuICAgICAgICAgIHRhcCgoc3RhdGUpID0+IHtcbiAgICAgICAgICAgIGlmICghaXNRdWVyeVN0YXRlRmFpbHVyZShzdGF0ZSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzd2l0Y2ggKHN0YXRlLmVycm9yLnN0YXR1cykge1xuICAgICAgICAgICAgICAvLyBUaGUgcGFnZSBpcyBpbnZhbGlkIChpbiBwcm9kIG1vZGUsIGNvZGUgaXMgNDE2KVxuICAgICAgICAgICAgICBjYXNlIEh0dHBTdGF0dXNDb2RlLlJhbmdlTm90U2F0aXNmaWFibGU6XG4gICAgICAgICAgICAgICAgcXVlcnlGb3JtLmZvcm0uY29udHJvbHNbcGFnZUNvbnRyb2xLZXldPy5wYXRjaFZhbHVlKDEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgIC8vIFRoZSBwYWdlIG1pZ2h0IGJlIGludmFsaWQgKGluIGRldiBtb2RlLCBjb2RlIGlzIDUwMClcbiAgICAgICAgICAgICAgY2FzZSBIdHRwU3RhdHVzQ29kZS5JbnRlcm5hbFNlcnZlckVycm9yOlxuICAgICAgICAgICAgICAgIGlmIChpc1N5bWZvbnlQYWdlcmZhbnRhT3V0T2ZSYW5nZUVycm9yKHN0YXRlLmVycm9yLmRldGFpbCkpIHtcbiAgICAgICAgICAgICAgICAgIHF1ZXJ5Rm9ybS5mb3JtLmNvbnRyb2xzW3BhZ2VDb250cm9sS2V5XS5wYXRjaFZhbHVlKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YWtlVW50aWxSZXNwb25zZSgpLFxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgKTtcbiAgfTtcblxuZXhwb3J0IGNvbnN0IGlzUXVlcnlTdGF0ZUxvYWRpbmcgPSAoc3RhdGU6IFF1ZXJ5U3RhdGUgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RhdGUgaXMgTG9hZGluZyA9PlxuICBzdGF0ZT8udHlwZSA9PT0gUXVlcnlTdGF0ZVR5cGUuTG9hZGluZztcblxuZXhwb3J0IGNvbnN0IGlzUXVlcnlTdGF0ZVN1Y2Nlc3MgPSAoc3RhdGU6IFF1ZXJ5U3RhdGUgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RhdGUgaXMgU3VjY2VzcyA9PlxuICBzdGF0ZT8udHlwZSA9PT0gUXVlcnlTdGF0ZVR5cGUuU3VjY2VzcztcblxuZXhwb3J0IGNvbnN0IGlzUXVlcnlTdGF0ZUZhaWx1cmUgPSAoc3RhdGU6IFF1ZXJ5U3RhdGUgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RhdGUgaXMgRmFpbHVyZSA9PlxuICBzdGF0ZT8udHlwZSA9PT0gUXVlcnlTdGF0ZVR5cGUuRmFpbHVyZTtcblxuZXhwb3J0IGNvbnN0IGlzUXVlcnlTdGF0ZUNhbmNlbGxlZCA9IChzdGF0ZTogUXVlcnlTdGF0ZSB8IG51bGwgfCB1bmRlZmluZWQpOiBzdGF0ZSBpcyBDYW5jZWxsZWQgPT5cbiAgc3RhdGU/LnR5cGUgPT09IFF1ZXJ5U3RhdGVUeXBlLkNhbmNlbGxlZDtcblxuZXhwb3J0IGNvbnN0IGlzUXVlcnlTdGF0ZVByZXBhcmVkID0gKHN0YXRlOiBRdWVyeVN0YXRlIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0YXRlIGlzIFByZXBhcmVkID0+XG4gIHN0YXRlPy50eXBlID09PSBRdWVyeVN0YXRlVHlwZS5QcmVwYXJlZDtcblxuZXhwb3J0IGNvbnN0IGlzQXV0b1JlZnJlc2ggPSAoc3RhdGU6IFF1ZXJ5U3RhdGUgfCBudWxsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiA9PiBzdGF0ZT8ubWV0YS50cmlnZ2VyZWRWaWEgPT09ICdhdXRvJztcblxuZXhwb3J0IGNvbnN0IG1lcmdlSGVhZGVycyA9ICguLi5oZWFkZXJzOiBBcnJheTxSZXF1ZXN0SGVhZGVycyB8IG51bGwgfCB1bmRlZmluZWQ+KSA9PiB7XG4gIHJldHVybiBoZWFkZXJzLnJlZHVjZSgoYWNjLCBoZWFkZXJzKSA9PiB7XG4gICAgaWYgKCFoZWFkZXJzKSB7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5hY2MsXG4gICAgICAuLi5oZWFkZXJzLFxuICAgIH07XG4gIH0sIHt9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0dxbFF1ZXJ5Q29uZmlnID0gPFxuICBSZXNwb25zZSxcbiAgQXJndW1lbnRzIGV4dGVuZHMgQmFzZUFyZ3VtZW50cyB8IHVuZGVmaW5lZCxcbiAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPiB8IHVuZGVmaW5lZCxcbiAgU3RvcmUgZXh0ZW5kcyBFbnRpdHlTdG9yZTx1bmtub3duPixcbiAgRGF0YSxcbiAgSWQsXG4+KFxuICBjb25maWc6IHVua25vd24sXG4pOiBjb25maWcgaXMgR3FsUXVlcnlDb25maWc8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFN0b3JlLCBEYXRhLCBJZD4gPT4ge1xuICBpZiAoIWNvbmZpZyB8fCB0eXBlb2YgY29uZmlnICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KGNvbmZpZykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoISgncXVlcnknIGluIGNvbmZpZykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1F1ZXJ5ID0gPFQgZXh0ZW5kcyBBbnlRdWVyeT4ocXVlcnk6IHVua25vd24pOiBxdWVyeSBpcyBUID0+IHtcbiAgaWYgKCFxdWVyeSB8fCB0eXBlb2YgcXVlcnkgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkocXVlcnkpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ3N0YXRlJCcgaW4gcXVlcnkpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuXG5leHBvcnQgY29uc3QgaXNRdWVyeUNvbGxlY3Rpb24gPSA8VCBleHRlbmRzIEFueVF1ZXJ5Q29sbGVjdGlvbj4ocXVlcnk6IHVua25vd24pOiBxdWVyeSBpcyBUID0+IHtcbiAgaWYgKCFxdWVyeSB8fCB0eXBlb2YgcXVlcnkgIT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkocXVlcnkpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ3F1ZXJ5JyBpbiBxdWVyeSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIGBjcmVhdGVRdWVyeUNvbGxlY3Rpb25TdWJqZWN0YCBpbnN0ZWFkLiBXaWxsIGJlIHJlbW92ZWQgaW4gdjUuXG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVRdWVyeUNvbGxlY3Rpb24gPSA8VCBleHRlbmRzIEFueVF1ZXJ5Q3JlYXRvckNvbGxlY3Rpb24sIFIgZXh0ZW5kcyBRdWVyeUNvbGxlY3Rpb25PZjxUPj4oXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgcXVlcnlNYXA6IFQsXG4pID0+IG5ldyBCZWhhdmlvclN1YmplY3Q8UiB8IG51bGw+KG51bGwpO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUXVlcnlDb2xsZWN0aW9uU3ViamVjdCA9IDxUIGV4dGVuZHMgQW55UXVlcnlDcmVhdG9yQ29sbGVjdGlvbiwgUiBleHRlbmRzIFF1ZXJ5Q29sbGVjdGlvbk9mPFQ+PihcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBxdWVyeU1hcDogVCxcbiAgY29uZmlnPzogUXVlcnlDb250YWluZXJDb25maWcsXG4pID0+IHtcbiAgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KGNyZWF0ZVF1ZXJ5Q29sbGVjdGlvblN1YmplY3QpO1xuXG4gIGNvbnN0IHN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFIgfCBudWxsPihudWxsKTtcblxuICBhZGRRdWVyeUNvbnRhaW5lckhhbmRsaW5nKFxuICAgIHN1YmplY3QucGlwZShtYXAoKHMpID0+IHM/LnF1ZXJ5ID8/IG51bGwpKSxcbiAgICAoKSA9PiBzdWJqZWN0LmdldFZhbHVlKCk/LnF1ZXJ5ID8/IG51bGwsXG4gICAgY29uZmlnLFxuICApO1xuXG4gIHJldHVybiBzdWJqZWN0O1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVF1ZXJ5Q29sbGVjdGlvblNpZ25hbCA9IDxUIGV4dGVuZHMgQW55UXVlcnlDcmVhdG9yQ29sbGVjdGlvbiwgUiBleHRlbmRzIFF1ZXJ5Q29sbGVjdGlvbk9mPFQ+PihcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBxdWVyeU1hcDogVCxcbiAgY29uZmlnPzogUXVlcnlDb250YWluZXJDb25maWcsXG4pID0+IHtcbiAgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KGNyZWF0ZVF1ZXJ5Q29sbGVjdGlvblNpZ25hbCk7XG5cbiAgY29uc3QgX3NpZ25hbCA9IHNpZ25hbDxSIHwgbnVsbD4obnVsbCk7XG5cbiAgYWRkUXVlcnlDb250YWluZXJIYW5kbGluZyhcbiAgICB0b09ic2VydmFibGUoX3NpZ25hbCkucGlwZShtYXAoKHMpID0+IHM/LnF1ZXJ5ID8/IG51bGwpKSxcbiAgICAoKSA9PiBfc2lnbmFsKCk/LnF1ZXJ5ID8/IG51bGwsXG4gICAgY29uZmlnLFxuICApO1xuXG4gIHJldHVybiBfc2lnbmFsO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4dHJhY3RRdWVyeSA9IDxUIGV4dGVuZHMgQW55UXVlcnkgfCBBbnlRdWVyeUNvbGxlY3Rpb24gfCBudWxsPih2OiBUKSA9PlxuICAoaXNRdWVyeSh2KSA/IHYgOiB2Py5xdWVyeSkgPz8gbnVsbDtcblxuZXhwb3J0IGNvbnN0IGdldERlZmF1bHRIZWFkZXJzID0gKFxuICBoZWFkZXJzOiBSZXF1ZXN0SGVhZGVycyB8IFJlcXVlc3RIZWFkZXJzTWV0aG9kTWFwIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgbWV0aG9kOiBNZXRob2QsXG4pID0+IHtcbiAgaWYgKCFoZWFkZXJzKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgaWYgKG1ldGhvZCBpbiBoZWFkZXJzKSB7XG4gICAgcmV0dXJuIChoZWFkZXJzW21ldGhvZF0gPz8ge30pIGFzIFJlcXVlc3RIZWFkZXJzO1xuICB9XG5cbiAgcmV0dXJuIGhlYWRlcnMgYXMgUmVxdWVzdEhlYWRlcnM7XG59O1xuXG5leHBvcnQgY29uc3QgY2FzdFF1ZXJ5Q3JlYXRvclR5cGVzID0gPFxuICBRQyBleHRlbmRzIEFueVF1ZXJ5Q3JlYXRvcixcbiAgQXJndW1lbnRzIGV4dGVuZHMgUXVlcnlBcmdzT2Y8UUM+LFxuICBSZXNwb25zZSBleHRlbmRzIFF1ZXJ5UmVzcG9uc2VPZjxRQz4sXG4gIFN0b3JlIGV4dGVuZHMgUXVlcnlTdG9yZU9mPFFDPixcbiAgRGF0YSBleHRlbmRzIFF1ZXJ5RGF0YU9mPFFDPixcbiAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPixcbiAgSWQgZXh0ZW5kcyBRdWVyeVN0b3JlSWRPZjxRQz4sXG4gIE92ZXJyaWRlQXJndW1lbnRzIGV4dGVuZHMgQmFzZUFyZ3VtZW50cyB8IHVuZGVmaW5lZCxcbiAgT3ZlcnJpZGVSZXNwb25zZSBleHRlbmRzIFJlc3BvbnNlIHwgdW5kZWZpbmVkLFxuPihjb25maWc6IHtcbiAgY3JlYXRvcjogUUM7XG4gIGFyZ3M/OiBPdmVycmlkZUFyZ3VtZW50cztcbiAgcmVzcG9uc2U/OiBPdmVycmlkZVJlc3BvbnNlO1xufSkgPT4ge1xuICBpZiAoY29uZmlnLmFyZ3M/LnBhdGhQYXJhbXMpIHtcbiAgICBjb25zb2xlLmVycm9yKGNvbmZpZyk7XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1BhdGggcGFyYW1zIGNhbm5vdCBiZSBvdmVycmlkZGVuIGluIGNhc3RRdWVyeUNyZWF0b3JUeXBlcy4gQ3JlYXRlIGEgbmV3IHF1ZXJ5IGNyZWF0b3IgaW5zdGVhZC4nKTtcbiAgfVxuXG4gIHJldHVybiBjb25maWcuY3JlYXRvciBhcyB1bmtub3duIGFzIFF1ZXJ5Q3JlYXRvcjxPdmVycmlkZUFyZ3VtZW50cywgT3ZlcnJpZGVSZXNwb25zZSwgUm91dGUsIFN0b3JlLCBEYXRhLCBJZD47XG59O1xuXG5leHBvcnQgY29uc3QgY29tcHV0ZVF1ZXJ5TWV0aG9kID0gKGNvbmZpZzogeyBjb25maWc6IEFueVJlc3RRdWVyeUNvbmZpZyB8IEFueUdxbFF1ZXJ5Q29uZmlnOyBjbGllbnQ6IFF1ZXJ5Q2xpZW50IH0pID0+IHtcbiAgbGV0IG1ldGhvZDogTWV0aG9kO1xuXG4gIGlmIChpc0dxbFF1ZXJ5Q29uZmlnKGNvbmZpZy5jb25maWcpKSB7XG4gICAgY29uc3QgdHJhbnNmZXJWaWEgPSBjb25maWcuY29uZmlnLnRyYW5zZmVyVmlhID8/IGNvbmZpZy5jbGllbnQuY29uZmlnLnJlcXVlc3Q/LmdxbD8udHJhbnNmZXJWaWE7XG4gICAgbWV0aG9kID0gdHJhbnNmb3JtTWV0aG9kKHsgbWV0aG9kOiBjb25maWcuY29uZmlnLm1ldGhvZCwgdHJhbnNmZXJWaWEgfSk7XG4gIH0gZWxzZSB7XG4gICAgbWV0aG9kID0gdHJhbnNmb3JtTWV0aG9kKHsgbWV0aG9kOiBjb25maWcuY29uZmlnLm1ldGhvZCB9KTtcbiAgfVxuXG4gIHJldHVybiBtZXRob2Q7XG59O1xuXG5leHBvcnQgY29uc3QgY29tcHV0ZVF1ZXJ5Qm9keSA9IChjb25maWc6IHtcbiAgY29uZmlnOiBBbnlSZXN0UXVlcnlDb25maWcgfCBBbnlHcWxRdWVyeUNvbmZpZztcbiAgY2xpZW50OiBRdWVyeUNsaWVudDtcbiAgbWV0aG9kOiBNZXRob2Q7XG4gIGFyZ3M/OiBCYXNlQXJndW1lbnRzO1xufSkgPT4ge1xuICBsZXQgYm9keTogdW5rbm93bjtcblxuICBpZiAoXG4gICAgY29uZmlnLm1ldGhvZCA9PT0gJ0dFVCcgfHxcbiAgICBjb25maWcubWV0aG9kID09PSAnSEVBRCcgfHxcbiAgICBjb25maWcubWV0aG9kID09PSAnT1BUSU9OUycgfHxcbiAgICAoaXNHcWxRdWVyeUNvbmZpZyhjb25maWcuY29uZmlnKSAmJlxuICAgICAgKGNvbmZpZy5jb25maWcudHJhbnNmZXJWaWEgPT09ICdHRVQnIHx8XG4gICAgICAgIChjb25maWcuY2xpZW50LmNvbmZpZy5yZXF1ZXN0Py5ncWw/LnRyYW5zZmVyVmlhID09PSAnR0VUJyAmJiAhY29uZmlnLmNvbmZpZy50cmFuc2ZlclZpYSkpKVxuICApIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgaWYgKGlzR3FsUXVlcnlDb25maWcoY29uZmlnLmNvbmZpZykpIHtcbiAgICBjb25zdCBxdWVyeVRlbXBsYXRlID0gY29uZmlnLmNvbmZpZy5xdWVyeTtcbiAgICBjb25zdCBxdWVyeSA9IHRyYW5zZm9ybUdxbChxdWVyeVRlbXBsYXRlKTtcblxuICAgIGJvZHkgPSBxdWVyeShjb25maWcuYXJncz8udmFyaWFibGVzKTtcbiAgfSBlbHNlIHtcbiAgICBib2R5ID0gY29uZmlnLmFyZ3M/LmJvZHk7XG4gIH1cblxuICByZXR1cm4gYm9keTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21wdXRlUXVlcnlBdXRoSGVhZGVyID0gKGNvbmZpZzoge1xuICBjb25maWc6IEFueVJlc3RRdWVyeUNvbmZpZyB8IEFueUdxbFF1ZXJ5Q29uZmlnO1xuICBjbGllbnQ6IFF1ZXJ5Q2xpZW50O1xufSkgPT4ge1xuICBsZXQgYXV0aEhlYWRlcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IG51bGwgPSBudWxsO1xuXG4gIGlmIChjb25maWcuY29uZmlnLnNlY3VyZSkge1xuICAgIGNvbnN0IGhlYWRlciA9IGNvbmZpZy5jbGllbnQuYXV0aFByb3ZpZGVyPy5oZWFkZXI7XG5cbiAgICBpZiAoaGVhZGVyKSB7XG4gICAgICBhdXRoSGVhZGVyID0gaGVhZGVyO1xuICAgIH1cbiAgfSBlbHNlIGlmIChjb25maWcuY2xpZW50LmF1dGhQcm92aWRlcj8uaGVhZGVyKSB7XG4gICAgaWYgKGNvbmZpZy5jb25maWcuc2VjdXJlID09PSB1bmRlZmluZWQgfHwgY29uZmlnLmNvbmZpZy5zZWN1cmUpIHtcbiAgICAgIGF1dGhIZWFkZXIgPSBjb25maWcuY2xpZW50LmF1dGhQcm92aWRlci5oZWFkZXI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGF1dGhIZWFkZXI7XG59O1xuXG5leHBvcnQgY29uc3QgY29tcHV0ZVF1ZXJ5SGVhZGVycyA9IChjb25maWc6IHtcbiAgY29uZmlnOiBBbnlSZXN0UXVlcnlDb25maWcgfCBBbnlHcWxRdWVyeUNvbmZpZztcbiAgY2xpZW50OiBRdWVyeUNsaWVudDtcbiAgYXJncz86IEJhc2VBcmd1bWVudHM7XG59KSA9PiB7XG4gIGNvbnN0IGF1dGhIZWFkZXIgPSBjb21wdXRlUXVlcnlBdXRoSGVhZGVyKGNvbmZpZyk7XG5cbiAgY29uc3QgbWVyZ2VkSGVhZGVycyA9XG4gICAgbWVyZ2VIZWFkZXJzKFxuICAgICAgZ2V0RGVmYXVsdEhlYWRlcnMoY29uZmlnLmNsaWVudC5jb25maWcucmVxdWVzdD8uaGVhZGVycywgY29uZmlnLmNvbmZpZy5tZXRob2QpLFxuICAgICAgYXV0aEhlYWRlcixcbiAgICAgIGNvbmZpZy5hcmdzPy5oZWFkZXJzLFxuICAgICkgfHwgdW5kZWZpbmVkO1xuXG4gIHJldHVybiBtZXJnZWRIZWFkZXJzO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbXB1dGVRdWVyeVF1ZXJ5UGFyYW1zID0gKGNvbmZpZzoge1xuICBjb25maWc6IEFueVJlc3RRdWVyeUNvbmZpZyB8IEFueUdxbFF1ZXJ5Q29uZmlnO1xuICBjbGllbnQ6IFF1ZXJ5Q2xpZW50O1xuICBhcmdzPzogQmFzZUFyZ3VtZW50cztcbn0pID0+IHtcbiAgaWYgKFxuICAgIGlzR3FsUXVlcnlDb25maWcoY29uZmlnLmNvbmZpZykgJiZcbiAgICAoY29uZmlnLmNvbmZpZy50cmFuc2ZlclZpYSA9PT0gJ0dFVCcgfHxcbiAgICAgIChjb25maWcuY2xpZW50LmNvbmZpZy5yZXF1ZXN0Py5ncWw/LnRyYW5zZmVyVmlhID09PSAnR0VUJyAmJiAhY29uZmlnLmNvbmZpZy50cmFuc2ZlclZpYSkpXG4gICkge1xuICAgIGNvbnN0IHF1ZXJ5VGVtcGxhdGUgPSBjb25maWcuY29uZmlnLnF1ZXJ5O1xuICAgIGNvbnN0IHF1ZXJ5ID0gdHJhbnNmb3JtR3FsKHF1ZXJ5VGVtcGxhdGUpO1xuXG4gICAgbGV0IHBhcmFtcyA9IHF1ZXJ5KGNvbmZpZy5hcmdzPy52YXJpYWJsZXMpO1xuXG4gICAgaWYgKGNvbmZpZy5hcmdzPy5xdWVyeVBhcmFtcykge1xuICAgICAgcGFyYW1zID0geyAuLi5wYXJhbXMsIC4uLmNvbmZpZy5hcmdzPy5xdWVyeVBhcmFtcyB9O1xuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICByZXR1cm4gY29uZmlnLmFyZ3M/LnF1ZXJ5UGFyYW1zO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhZ2luYXRlZEVudGl0eVZhbHVlVXBkYXRlciA9XG4gIDxcbiAgICBUIGV4dGVuZHMgUGFnaW5hdGVkPHVua25vd24+LFxuICAgIEFyZ3MgZXh0ZW5kcyBCYXNlQXJndW1lbnRzLFxuICAgIEVudGl0eSxcbiAgICBKIGV4dGVuZHMgVCBleHRlbmRzIFBhZ2luYXRlZDxpbmZlciBYPiA/IFggOiBuZXZlcixcbiAgPihcbiAgICBmaW5kRm46ICh2YWw6IEosIGVudGl0eTogRW50aXR5KSA9PiBib29sZWFuLFxuICApID0+XG4gICh7IHJlc3BvbnNlLCByYXdSZXNwb25zZSwgZW50aXR5IH06IHsgcmF3UmVzcG9uc2U6IFQ7IHJlc3BvbnNlOiBUOyBhcmdzOiBBcmdzOyBlbnRpdHk6IEVudGl0eSB9KSA9PiB7XG4gICAgY29uc3QgaW5kZXhPZkVudGl0eVJhdyA9IHJhd1Jlc3BvbnNlLml0ZW1zLmZpbmRJbmRleCgoaXRlbSkgPT4gZmluZEZuKGl0ZW0gYXMgSiwgZW50aXR5KSk7XG4gICAgY29uc3QgaW5kZXhPZkVudGl0eSA9IHJlc3BvbnNlLml0ZW1zLmZpbmRJbmRleCgoaXRlbSkgPT4gZmluZEZuKGl0ZW0gYXMgSiwgZW50aXR5KSk7XG5cbiAgICBpZiAoaW5kZXhPZkVudGl0eSA9PT0gLTEgfHwgaW5kZXhPZkVudGl0eVJhdyA9PT0gLTEpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld1Jhd1Jlc3BvbnNlID0ge1xuICAgICAgLi4ucmF3UmVzcG9uc2UsXG4gICAgICBpdGVtczogW1xuICAgICAgICAuLi5yYXdSZXNwb25zZS5pdGVtcy5zbGljZSgwLCBpbmRleE9mRW50aXR5UmF3KSxcbiAgICAgICAgZW50aXR5LFxuICAgICAgICAuLi5yYXdSZXNwb25zZS5pdGVtcy5zbGljZShpbmRleE9mRW50aXR5UmF3ICsgMSksXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBjb25zdCBuZXdSZXNwb25zZSA9IHtcbiAgICAgIC4uLnJlc3BvbnNlLFxuICAgICAgaXRlbXM6IFsuLi5yZXNwb25zZS5pdGVtcy5zbGljZSgwLCBpbmRleE9mRW50aXR5KSwgZW50aXR5LCAuLi5yZXNwb25zZS5pdGVtcy5zbGljZShpbmRleE9mRW50aXR5ICsgMSldLFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgcmVzcG9uc2U6IG5ld1Jlc3BvbnNlLFxuICAgICAgcmF3UmVzcG9uc2U6IG5ld1Jhd1Jlc3BvbnNlLFxuICAgIH07XG4gIH07XG4iXX0=
@@ -45,7 +45,7 @@ export class QueryClient {
45
45
  this.fetch = (queryConfig) => new QueryCreator(queryConfig, this, this._store);
46
46
  this.setAuthProvider = (authProvider) => {
47
47
  if (this.authProvider) {
48
- throw new Error('The auth provider is already set. Please call clearAuthProvider() first.');
48
+ this.authProvider?.cleanUp();
49
49
  }
50
50
  this._authProvider$.next(authProvider);
51
51
  };
@@ -66,6 +66,9 @@ export class QueryClient {
66
66
  this.authProvider?.cleanUp();
67
67
  this._authProvider$.next(null);
68
68
  };
69
+ this._updateBaseRoute = (route) => {
70
+ this._clientConfig.baseRoute = route;
71
+ };
69
72
  this._store = new QueryStore({
70
73
  enableChangeLogging: _clientConfig.logging?.queryStateChanges,
71
74
  enableGarbageCollectorLogging: _clientConfig.logging?.queryStateGarbageCollector,
@@ -74,4 +77,4 @@ export class QueryClient {
74
77
  });
75
78
  }
76
79
  }
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL3F1ZXJ5LWNsaWVudC9xdWVyeS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVd2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTVDLE1BQU0sT0FBTyxXQUFXO0lBTXRCLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFDeEcsQ0FBQztJQUNELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsWUFBWSxFQUFFLElBQUksSUFBSSxDQUFDO0lBQ2hILENBQUM7SUFHRCxZQUFvQixhQUFnQztRQUFoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFGbkMsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBc0IsSUFBSSxDQUFDLENBQUM7UUFXakYsUUFBRyxHQUFHLENBUUosV0FBa0YsRUFDbEYsRUFBRSxDQUNGLElBQUksQ0FBQyxLQUFLLENBQThDO1lBQ3RELEdBQUcsV0FBVztZQUNkLE1BQU0sRUFBRSxLQUFLO1NBQ2QsQ0FBQyxDQUFDO1FBRUwsU0FBSSxHQUFHLENBUUwsV0FBa0YsRUFDbEYsRUFBRSxDQUNGLElBQUksQ0FBQyxLQUFLLENB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XG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tICcuLi9hdXRoJztcbmltcG9ydCB7IEVudGl0eVN0b3JlIH0gZnJvbSAnLi4vZW50aXR5JztcbmltcG9ydCB7XG4gIEJhc2VBcmd1bWVudHMsXG4gIEdxbFF1ZXJ5Q29uZmlnLFxuICBHcWxRdWVyeUNvbmZpZ1dpdGhvdXRNZXRob2QsXG4gIFF1ZXJ5Q29uZmlnV2l0aG91dE1ldGhvZCxcbiAgUmVzdFF1ZXJ5Q29uZmlnLFxuICBSb3V0ZVR5cGUsXG59IGZyb20gJy4uL3F1ZXJ5JztcbmltcG9ydCB7IFF1ZXJ5Q3JlYXRvciB9IGZyb20gJy4uL3F1ZXJ5LWNyZWF0b3InO1xuaW1wb3J0IHsgUXVlcnlTdG9yZSB9IGZyb20gJy4uL3F1ZXJ5LXN0b3JlJztcbmltcG9ydCB7IFJlcXVlc3RIZWFkZXJzLCBSZXF1ZXN0SGVhZGVyc01ldGhvZE1hcCB9IGZyb20gJy4uL3JlcXVlc3QnO1xuaW1wb3J0IHsgUXVlcnlDbGllbnRDb25maWcgfSBmcm9tICcuL3F1ZXJ5LWNsaWVudC50eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBRdWVyeUNsaWVudCB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHJlYWRvbmx5IF9zdG9yZTogUXVlcnlTdG9yZTtcblxuICBnZXQgY29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnRDb25maWc7XG4gIH1cblxuICBnZXQgYXV0aFByb3ZpZGVyKCkge1xuICAgIHJldHVybiB0aGlzLl9hdXRoUHJvdmlkZXIkLmdldFZhbHVlKCkgPz8gdGhpcy5fY2xpZW50Q29uZmlnLnBhcmVudD8uX2F1dGhQcm92aWRlciQuZ2V0VmFsdWUoKSA/PyBudWxsO1xuICB9XG4gIGdldCBhdXRoUHJvdmlkZXIkKCkge1xuICAgIHJldHVybiB0aGlzLl9hdXRoUHJvdmlkZXIkLmFzT2JzZXJ2YWJsZSgpID8/IHRoaXMuX2NsaWVudENvbmZpZy5wYXJlbnQ/Ll9hdXRoUHJvdmlkZXIkLmFzT2JzZXJ2YWJsZSgpID8/IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBfYXV0aFByb3ZpZGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXV0aFByb3ZpZGVyIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2xpZW50Q29uZmlnOiBRdWVyeUNsaWVudENvbmZpZykge1xuICAgIHRoaXMuX3N0b3JlID0gbmV3IFF1ZXJ5U3RvcmUoe1xuICAgICAgZW5hYmxlQ2hhbmdlTG9nZ2luZzogX2NsaWVudENvbmZpZy5sb2dnaW5nPy5xdWVyeVN0YXRlQ2hhbmdlcyxcbiAgICAgIGVuYWJsZUdhcmJhZ2VDb2xsZWN0b3JMb2dnaW5nOiBfY2xpZW50Q29uZmlnLmxvZ2dpbmc/LnF1ZXJ5U3RhdGVHYXJiYWdlQ29sbGVjdG9yLFxuICAgICAgYXV0b1JlZnJlc2hRdWVyaWVzT25XaW5kb3dGb2N1czogX2NsaWVudENvbmZpZy5yZXF1ZXN0Py5hdXRvUmVmcmVzaFF1ZXJpZXNPbldpbmRvd0ZvY3VzID8/IHRydWUsXG4gICAgICBlbmFibGVTbWFydFBvbGxpbmc6IF9jbGllbnRDb25maWcucmVxdWVzdD8uZW5hYmxlU21hcnRQb2xsaW5nID8/IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgPSA8XG4gICAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPixcbiAgICBSZXNwb25zZSxcbiAgICBJZCxcbiAgICBEYXRhID0gUmVzcG9uc2UsXG4gICAgQXJndW1lbnRzIGV4dGVuZHMgQmFzZUFyZ3VtZW50cyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBTdG9yZSBleHRlbmRzIEVudGl0eVN0b3JlPHVua25vd24+ID0gRW50aXR5U3RvcmU8dW5rbm93bj4sXG4gID4oXG4gICAgcXVlcnlDb25maWc6IFF1ZXJ5Q29uZmlnV2l0aG91dE1ldGhvZDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgU3RvcmUsIERhdGEsIElkPixcbiAgKSA9PlxuICAgIHRoaXMuZmV0Y2g8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIElkLCBTdG9yZSwgRGF0YT4oe1xuICAgICAgLi4ucXVlcnlDb25maWcsXG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgIH0pO1xuXG4gIHBvc3QgPSA8XG4gICAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPixcbiAgICBSZXNwb25zZSxcbiAgICBJZCxcbiAgICBEYXRhID0gUmVzcG9uc2UsXG4gICAgQXJndW1lbnRzIGV4dGVuZHMgQmFzZUFyZ3VtZW50cyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBTdG9yZSBleHRlbmRzIEVudGl0eVN0b3JlPHVua25vd24+ID0gRW50aXR5U3RvcmU8dW5rbm93bj4sXG4gID4oXG4gICAgcXVlcnlDb25maWc6IFF1ZXJ5Q29uZmlnV2l0aG91dE1ldGhvZDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgU3RvcmUsIERhdGEsIElkPixcbiAgKSA9PlxuICAgIHRoaXMuZmV0Y2g8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIElkLCBTdG9yZSwgRGF0YT4oe1xuICAgICAgLi4ucXVlcnlDb25maWcsXG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICB9KTtcblxuICBwdXQgPSA8XG4gICAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPixcbiAgICBSZXNwb25zZSxcbiAgICBJZCxcbiAgICBEYXRhID0gUmVzcG9uc2UsXG4gICAgQXJndW1lbnRzIGV4dGVuZHMgQmFzZUFyZ3VtZW50cyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBTdG9yZSBleHRlbmRzIEVudGl0eVN0b3JlPHVua25vd24+ID0gRW50aXR5U3RvcmU8dW5rbm93bj4sXG4gID4oXG4gICAgcXVlcnlDb25maWc6IFF1ZXJ5Q29uZmlnV2l0aG91dE1ldGhvZDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgU3RvcmUsIERhdGEsIElkPixcbiAgKSA9PlxuICAgIHRoaXMuZmV0Y2g8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIElkLCBTdG9yZSwgRGF0YT4oe1xuICAgICAgLi4ucXVlcnlDb25maWcsXG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgIH0pO1xuXG4gIHBhdGNoID0gPFxuICAgIFJvdXRlIGV4dGVuZHMgUm91dGVUeXBlPEFyZ3VtZW50cz4sXG4gICAgUmVzcG9uc2UsXG4gICAgSWQsXG4gICAgRGF0YSA9IFJlc3BvbnNlLFxuICAgIEFyZ3VtZW50cyBleHRlbmRzIEJhc2VBcmd1bWVudHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gICAgU3RvcmUgZXh0ZW5kcyBFbnRpdHlTdG9yZTx1bmtub3duPiA9IEVudGl0eVN0b3JlPHVua25vd24+LFxuICA+KFxuICAgIHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZ1dpdGhvdXRNZXRob2Q8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFN0b3JlLCBEYXRhLCBJZD4sXG4gICkgPT5cbiAgICB0aGlzLmZldGNoPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBJZCwgU3RvcmUsIERhdGE+KHtcbiAgICAgIC4uLnF1ZXJ5Q29uZmlnLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgIH0pO1xuXG4gIGRlbGV0ZSA9IDxcbiAgICBSb3V0ZSBleHRlbmRzIFJvdXRlVHlwZTxBcmd1bWVudHM+LFxuICAgIFJlc3BvbnNlLFxuICAgIElkLFxuICAgIERhdGEgPSBSZXNwb25zZSxcbiAgICBBcmd1bWVudHMgZXh0ZW5kcyBCYXNlQXJndW1lbnRzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIFN0b3JlIGV4dGVuZHMgRW50aXR5U3RvcmU8dW5rbm93bj4gPSBFbnRpdHlTdG9yZTx1bmtub3duPixcbiAgPihcbiAgICBxdWVyeUNvbmZpZzogUXVlcnlDb25maWdXaXRob3V0TWV0aG9kPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBTdG9yZSwgRGF0YSwgSWQ+LFxuICApID0+XG4gICAgdGhpcy5mZXRjaDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgSWQsIFN0b3JlLCBEYXRhPih7XG4gICAgICAuLi5xdWVyeUNvbmZpZyxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgfSk7XG5cbiAgZ3FsUXVlcnkgPSA8XG4gICAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPixcbiAgICBSZXNwb25zZSxcbiAgICBJZCxcbiAgICBEYXRhID0gUmVzcG9uc2UsXG4gICAgQXJndW1lbnRzIGV4dGVuZHMgQmFzZUFyZ3VtZW50cyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBTdG9yZSBleHRlbmRzIEVudGl0eVN0b3JlPHVua25vd24+ID0gRW50aXR5U3RvcmU8dW5rbm93bj4sXG4gID4oXG4gICAgcXVlcnlDb25maWc6IEdxbFF1ZXJ5Q29uZmlnV2l0aG91dE1ldGhvZDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgU3RvcmUsIERhdGEsIElkPixcbiAgKSA9PlxuICAgIHRoaXMuZmV0Y2g8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIElkLCBTdG9yZSwgRGF0YT4oe1xuICAgICAgLi4ucXVlcnlDb25maWcsXG4gICAgICBtZXRob2Q6ICdHUUxfUVVFUlknLFxuICAgIH0pO1xuXG4gIGdxbE11dGF0ZSA9IDxcbiAgICBSb3V0ZSBleHRlbmRzIFJvdXRlVHlwZTxBcmd1bWVudHM+LFxuICAgIFJlc3BvbnNlLFxuICAgIElkLFxuICAgIERhdGEgPSBSZXNwb25zZSxcbiAgICBBcmd1bWVudHMgZXh0ZW5kcyBCYXNlQXJndW1lbnRzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIFN0b3JlIGV4dGVuZHMgRW50aXR5U3RvcmU8dW5rbm93bj4gPSBFbnRpdHlTdG9yZTx1bmtub3duPixcbiAgPihcbiAgICBxdWVyeUNvbmZpZzogR3FsUXVlcnlDb25maWdXaXRob3V0TWV0aG9kPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBTdG9yZSwgRGF0YSwgSWQ+LFxuICApID0+XG4gICAgdGhpcy5mZXRjaDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgSWQsIFN0b3JlLCBEYXRhPih7XG4gICAgICAuLi5xdWVyeUNvbmZpZyxcbiAgICAgIG1ldGhvZDogJ0dRTF9NVVRBVEUnLFxuICAgIH0pO1xuXG4gIGZldGNoID0gPFxuICAgIFJvdXRlIGV4dGVuZHMgUm91dGVUeXBlPEFyZ3VtZW50cz4sXG4gICAgUmVzcG9uc2UsXG4gICAgQXJndW1lbnRzIGV4dGVuZHMgQmFzZUFyZ3VtZW50cyB8IHVuZGVmaW5lZCxcbiAgICBJZCxcbiAgICBTdG9yZSBleHRlbmRzIEVudGl0eVN0b3JlPHVua25vd24+ID0gRW50aXR5U3RvcmU8dW5rbm93bj4sXG4gICAgRGF0YSA9IFJlc3BvbnNlLFxuICA+KFxuICAgIHF1ZXJ5Q29uZmlnOlxuICAgICAgfCBSZXN0UXVlcnlDb25maWc8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFN0b3JlLCBEYXRhLCBJZD5cbiAgICAgIHwgR3FsUXVlcnlDb25maWc8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFN0b3JlLCBEYXRhLCBJZD4sXG4gICkgPT4gbmV3IFF1ZXJ5Q3JlYXRvcjxBcmd1bWVudHMsIFJlc3BvbnNlLCBSb3V0ZSwgU3RvcmUsIERhdGEsIElkPihxdWVyeUNvbmZpZywgdGhpcywgdGhpcy5fc3RvcmUpO1xuXG4gIHNldEF1dGhQcm92aWRlciA9IChhdXRoUHJvdmlkZXI6IEF1dGhQcm92aWRlcikgPT4ge1xuICAgIGlmICh0aGlzLmF1dGhQcm92aWRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgYXV0aCBwcm92aWRlciBpcyBhbHJlYWR5IHNldC4gUGxlYXNlIGNhbGwgY2xlYXJBdXRoUHJvdmlkZXIoKSBmaXJzdC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9hdXRoUHJvdmlkZXIkLm5leHQoYXV0aFByb3ZpZGVyKTtcbiAgfTtcblxuICBzZXREZWZhdWx0SGVhZGVycyA9IChjb25maWc6IHtcbiAgICBoZWFkZXJzOiBSZXF1ZXN0SGVhZGVycyB8IFJlcXVlc3RIZWFkZXJzTWV0aG9kTWFwIHwgbnVsbDtcbiAgICByZWZyZXNoUXVlcmllc0luVXNlPzogYm9vbGVhbjtcbiAgfSkgPT4ge1xuICAgIGlmICghdGhpcy5fY2xpZW50Q29uZmlnLnJlcXVlc3QpIHtcbiAgICAgIHRoaXMuX2NsaWVudENvbmZpZy5yZXF1ZXN0ID0ge1xuICAgICAgICBoZWFkZXJzOiBjb25maWcuaGVhZGVycyA/PyB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9jbGllbnRDb25maWcucmVxdWVzdC5oZWFkZXJzID0gY29uZmlnLmhlYWRlcnMgPz8gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChjb25maWcucmVmcmVzaFF1ZXJpZXNJblVzZSkge1xuICAgICAgdGhpcy5fc3RvcmUucmVmcmVzaFF1ZXJpZXNJblVzZSh7IHB1cmdlVW51c2VkOiB0cnVlLCBpZ25vcmVDYWNoZVZhbGlkaXR5OiB0cnVlIH0pO1xuICAgIH1cbiAgfTtcblxuICBjbGVhckF1dGhQcm92aWRlciA9ICgpID0+IHtcbiAgICB0aGlzLmF1dGhQcm92aWRlcj8uY2xlYW5VcCgpO1xuICAgIHRoaXMuX2F1dGhQcm92aWRlciQubmV4dChudWxsKTtcbiAgfTtcbn1cbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL3F1ZXJ5LWNsaWVudC9xdWVyeS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVd2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTVDLE1BQU0sT0FBTyxXQUFXO0lBTXRCLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFDeEcsQ0FBQztJQUNELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsWUFBWSxFQUFFLElBQUksSUFBSSxDQUFDO0lBQ2hILENBQUM7SUFHRCxZQUFvQixhQUFnQztRQUFoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFGbkMsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBc0IsSUFBSSxDQUFDLENBQUM7UUFXakYsUUFBRyxHQUFHLENBUUosV0FBa0YsRUFDbEYsRUFBRSxDQUNGLElBQUksQ0FBQyxLQUFLLENBQThDO1lBQ3RELEdBQUcsV0FBVztZQUNkLE1BQU0sRUFBRSxLQUFLO1NBQ2QsQ0FBQyxDQUFDO1FBRUwsU0FBSSxHQUFHLENBUUwsV0FBa0YsRUFDbEYsRUFBRSxDQUNGLElBQUksQ0FBQyxLQUFLLENB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LElBQUk7U0FDdEUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQXlKRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aFByb3ZpZGVyIH0gZnJvbSAnLi4vYXV0aCc7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJy4uL2VudGl0eSc7XG5pbXBvcnQge1xuICBCYXNlQXJndW1lbnRzLFxuICBHcWxRdWVyeUNvbmZpZyxcbiAgR3FsUXVlcnlDb25maWdXaXRob3V0TWV0aG9kLFxuICBRdWVyeUNvbmZpZ1dpdGhvdXRNZXRob2QsXG4gIFJlc3RRdWVyeUNvbmZpZyxcbiAgUm91dGVUeXBlLFxufSBmcm9tICcuLi9xdWVyeSc7XG5pbXBvcnQgeyBRdWVyeUNyZWF0b3IgfSBmcm9tICcuLi9xdWVyeS1jcmVhdG9yJztcbmltcG9ydCB7IFF1ZXJ5U3RvcmUgfSBmcm9tICcuLi9xdWVyeS1zdG9yZSc7XG5pbXBvcnQgeyBSZXF1ZXN0SGVhZGVycywgUmVxdWVzdEhlYWRlcnNNZXRob2RNYXAgfSBmcm9tICcuLi9yZXF1ZXN0JztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50Q29uZmlnIH0gZnJvbSAnLi9xdWVyeS1jbGllbnQudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgUXVlcnlDbGllbnQge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICByZWFkb25seSBfc3RvcmU6IFF1ZXJ5U3RvcmU7XG5cbiAgZ2V0IGNvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50Q29uZmlnO1xuICB9XG5cbiAgZ2V0IGF1dGhQcm92aWRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aFByb3ZpZGVyJC5nZXRWYWx1ZSgpID8/IHRoaXMuX2NsaWVudENvbmZpZy5wYXJlbnQ/Ll9hdXRoUHJvdmlkZXIkLmdldFZhbHVlKCkgPz8gbnVsbDtcbiAgfVxuICBnZXQgYXV0aFByb3ZpZGVyJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aFByb3ZpZGVyJC5hc09ic2VydmFibGUoKSA/PyB0aGlzLl9jbGllbnRDb25maWcucGFyZW50Py5fYXV0aFByb3ZpZGVyJC5hc09ic2VydmFibGUoKSA/PyBudWxsO1xuICB9XG4gIHByaXZhdGUgcmVhZG9ubHkgX2F1dGhQcm92aWRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEF1dGhQcm92aWRlciB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NsaWVudENvbmZpZzogUXVlcnlDbGllbnRDb25maWcpIHtcbiAgICB0aGlzLl9zdG9yZSA9IG5ldyBRdWVyeVN0b3JlKHtcbiAgICAgIGVuYWJsZUNoYW5nZUxvZ2dpbmc6IF9jbGllbnRDb25maWcubG9nZ2luZz8ucXVlcnlTdGF0ZUNoYW5nZXMsXG4gICAgICBlbmFibGVHYXJiYWdlQ29sbGVjdG9yTG9nZ2luZzogX2NsaWVudENvbmZpZy5sb2dnaW5nPy5xdWVyeVN0YXRlR2FyYmFnZUNvbGxlY3RvcixcbiAgICAgIGF1dG9SZWZyZXNoUXVlcmllc09uV2luZG93Rm9jdXM6IF9jbGllbnRDb25maWcucmVxdWVzdD8uYXV0b1JlZnJlc2hRdWVyaWVzT25XaW5kb3dGb2N1cyA/PyB0cnVlLFxuICAgICAgZW5hYmxlU21hcnRQb2xsaW5nOiBfY2xpZW50Q29uZmlnLnJlcXVlc3Q/LmVuYWJsZVNtYXJ0UG9sbGluZyA/PyB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0ID0gPFxuICAgIFJvdXRlIGV4dGVuZHMgUm91dGVUeXBlPEFyZ3VtZW50cz4sXG4gICAgUmVzcG9uc2UsXG4gICAgSWQsXG4gICAgRGF0YSA9IFJlc3BvbnNlLFxuICAgIEFyZ3VtZW50cyBleHRlbmRzIEJhc2VBcmd1bWVudHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gICAgU3RvcmUgZXh0ZW5kcyBFbnRpdHlTdG9yZTx1bmtub3duPiA9IEVudGl0eVN0b3JlPHVua25vd24+LFxuICA+KFxuICAgIHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZ1dpdGhvdXRNZXRob2Q8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFN0b3JlLCBEYXRhLCBJZD4sXG4gICkgPT5cbiAgICB0aGlzLmZldGNoPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBJZCwgU3RvcmUsIERhdGE+KHtcbiAgICAgIC4uLnF1ZXJ5Q29uZmlnLFxuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICB9KTtcblxuICBwb3N0ID0gPFxuICAgIFJvdXRlIGV4dGVuZHMgUm91dGVUeXBlPEFyZ3VtZW50cz4sXG4gICAgUmVzcG9uc2UsXG4gICAgSWQsXG4gICAgRGF0YSA9IFJlc3BvbnNlLFxuICAgIEFyZ3VtZW50cyBleHRlbmRzIEJhc2VBcmd1bWVudHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gICAgU3RvcmUgZXh0ZW5kcyBFbnRpdHlTdG9yZTx1bmtub3duPiA9IEVudGl0eVN0b3JlPHVua25vd24+LFxuICA+KFxuICAgIHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZ1dpdGhvdXRNZXRob2Q8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFN0b3JlLCBEYXRhLCBJZD4sXG4gICkgPT5cbiAgICB0aGlzLmZldGNoPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBJZCwgU3RvcmUsIERhdGE+KHtcbiAgICAgIC4uLnF1ZXJ5Q29uZmlnLFxuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgfSk7XG5cbiAgcHV0ID0gPFxuICAgIFJvdXRlIGV4dGVuZHMgUm91dGVUeXBlPEFyZ3VtZW50cz4sXG4gICAgUmVzcG9uc2UsXG4gICAgSWQsXG4gICAgRGF0YSA9IFJlc3BvbnNlLFxuICAgIEFyZ3VtZW50cyBleHRlbmRzIEJhc2VBcmd1bWVudHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gICAgU3RvcmUgZXh0ZW5kcyBFbnRpdHlTdG9yZTx1bmtub3duPiA9IEVudGl0eVN0b3JlPHVua25vd24+LFxuICA+KFxuICAgIHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZ1dpdGhvdXRNZXRob2Q8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFN0b3JlLCBEYXRhLCBJZD4sXG4gICkgPT5cbiAgICB0aGlzLmZldGNoPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBJZCwgU3RvcmUsIERhdGE+KHtcbiAgICAgIC4uLnF1ZXJ5Q29uZmlnLFxuICAgICAgbWV0aG9kOiAnUFVUJyxcbiAgICB9KTtcblxuICBwYXRjaCA9IDxcbiAgICBSb3V0ZSBleHRlbmRzIFJvdXRlVHlwZTxBcmd1bWVudHM+LFxuICAgIFJlc3BvbnNlLFxuICAgIElkLFxuICAgIERhdGEgPSBSZXNwb25zZSxcbiAgICBBcmd1bWVudHMgZXh0ZW5kcyBCYXNlQXJndW1lbnRzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIFN0b3JlIGV4dGVuZHMgRW50aXR5U3RvcmU8dW5rbm93bj4gPSBFbnRpdHlTdG9yZTx1bmtub3duPixcbiAgPihcbiAgICBxdWVyeUNvbmZpZzogUXVlcnlDb25maWdXaXRob3V0TWV0aG9kPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBTdG9yZSwgRGF0YSwgSWQ+LFxuICApID0+XG4gICAgdGhpcy5mZXRjaDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgSWQsIFN0b3JlLCBEYXRhPih7XG4gICAgICAuLi5xdWVyeUNvbmZpZyxcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICB9KTtcblxuICBkZWxldGUgPSA8XG4gICAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPixcbiAgICBSZXNwb25zZSxcbiAgICBJZCxcbiAgICBEYXRhID0gUmVzcG9uc2UsXG4gICAgQXJndW1lbnRzIGV4dGVuZHMgQmFzZUFyZ3VtZW50cyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBTdG9yZSBleHRlbmRzIEVudGl0eVN0b3JlPHVua25vd24+ID0gRW50aXR5U3RvcmU8dW5rbm93bj4sXG4gID4oXG4gICAgcXVlcnlDb25maWc6IFF1ZXJ5Q29uZmlnV2l0aG91dE1ldGhvZDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgU3RvcmUsIERhdGEsIElkPixcbiAgKSA9PlxuICAgIHRoaXMuZmV0Y2g8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIElkLCBTdG9yZSwgRGF0YT4oe1xuICAgICAgLi4ucXVlcnlDb25maWcsXG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgIH0pO1xuXG4gIGdxbFF1ZXJ5ID0gPFxuICAgIFJvdXRlIGV4dGVuZHMgUm91dGVUeXBlPEFyZ3VtZW50cz4sXG4gICAgUmVzcG9uc2UsXG4gICAgSWQsXG4gICAgRGF0YSA9IFJlc3BvbnNlLFxuICAgIEFyZ3VtZW50cyBleHRlbmRzIEJhc2VBcmd1bWVudHMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gICAgU3RvcmUgZXh0ZW5kcyBFbnRpdHlTdG9yZTx1bmtub3duPiA9IEVudGl0eVN0b3JlPHVua25vd24+LFxuICA+KFxuICAgIHF1ZXJ5Q29uZmlnOiBHcWxRdWVyeUNvbmZpZ1dpdGhvdXRNZXRob2Q8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFN0b3JlLCBEYXRhLCBJZD4sXG4gICkgPT5cbiAgICB0aGlzLmZldGNoPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBJZCwgU3RvcmUsIERhdGE+KHtcbiAgICAgIC4uLnF1ZXJ5Q29uZmlnLFxuICAgICAgbWV0aG9kOiAnR1FMX1FVRVJZJyxcbiAgICB9KTtcblxuICBncWxNdXRhdGUgPSA8XG4gICAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPixcbiAgICBSZXNwb25zZSxcbiAgICBJZCxcbiAgICBEYXRhID0gUmVzcG9uc2UsXG4gICAgQXJndW1lbnRzIGV4dGVuZHMgQmFzZUFyZ3VtZW50cyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBTdG9yZSBleHRlbmRzIEVudGl0eVN0b3JlPHVua25vd24+ID0gRW50aXR5U3RvcmU8dW5rbm93bj4sXG4gID4oXG4gICAgcXVlcnlDb25maWc6IEdxbFF1ZXJ5Q29uZmlnV2l0aG91dE1ldGhvZDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgU3RvcmUsIERhdGEsIElkPixcbiAgKSA9PlxuICAgIHRoaXMuZmV0Y2g8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIElkLCBTdG9yZSwgRGF0YT4oe1xuICAgICAgLi4ucXVlcnlDb25maWcsXG4gICAgICBtZXRob2Q6ICdHUUxfTVVUQVRFJyxcbiAgICB9KTtcblxuICBmZXRjaCA9IDxcbiAgICBSb3V0ZSBleHRlbmRzIFJvdXRlVHlwZTxBcmd1bWVudHM+LFxuICAgIFJlc3BvbnNlLFxuICAgIEFyZ3VtZW50cyBleHRlbmRzIEJhc2VBcmd1bWVudHMgfCB1bmRlZmluZWQsXG4gICAgSWQsXG4gICAgU3RvcmUgZXh0ZW5kcyBFbnRpdHlTdG9yZTx1bmtub3duPiA9IEVudGl0eVN0b3JlPHVua25vd24+LFxuICAgIERhdGEgPSBSZXNwb25zZSxcbiAgPihcbiAgICBxdWVyeUNvbmZpZzpcbiAgICAgIHwgUmVzdFF1ZXJ5Q29uZmlnPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBTdG9yZSwgRGF0YSwgSWQ+XG4gICAgICB8IEdxbFF1ZXJ5Q29uZmlnPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBTdG9yZSwgRGF0YSwgSWQ+LFxuICApID0+IG5ldyBRdWVyeUNyZWF0b3I8QXJndW1lbnRzLCBSZXNwb25zZSwgUm91dGUsIFN0b3JlLCBEYXRhLCBJZD4ocXVlcnlDb25maWcsIHRoaXMsIHRoaXMuX3N0b3JlKTtcblxuICBzZXRBdXRoUHJvdmlkZXIgPSAoYXV0aFByb3ZpZGVyOiBBdXRoUHJvdmlkZXIpID0+IHtcbiAgICBpZiAodGhpcy5hdXRoUHJvdmlkZXIpIHtcbiAgICAgIHRoaXMuYXV0aFByb3ZpZGVyPy5jbGVhblVwKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fYXV0aFByb3ZpZGVyJC5uZXh0KGF1dGhQcm92aWRlcik7XG4gIH07XG5cbiAgc2V0RGVmYXVsdEhlYWRlcnMgPSAoY29uZmlnOiB7XG4gICAgaGVhZGVyczogUmVxdWVzdEhlYWRlcnMgfCBSZXF1ZXN0SGVhZGVyc01ldGhvZE1hcCB8IG51bGw7XG4gICAgcmVmcmVzaFF1ZXJpZXNJblVzZT86IGJvb2xlYW47XG4gIH0pID0+IHtcbiAgICBpZiAoIXRoaXMuX2NsaWVudENvbmZpZy5yZXF1ZXN0KSB7XG4gICAgICB0aGlzLl9jbGllbnRDb25maWcucmVxdWVzdCA9IHtcbiAgICAgICAgaGVhZGVyczogY29uZmlnLmhlYWRlcnMgPz8gdW5kZWZpbmVkLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fY2xpZW50Q29uZmlnLnJlcXVlc3QuaGVhZGVycyA9IGNvbmZpZy5oZWFkZXJzID8/IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLnJlZnJlc2hRdWVyaWVzSW5Vc2UpIHtcbiAgICAgIHRoaXMuX3N0b3JlLnJlZnJlc2hRdWVyaWVzSW5Vc2UoeyBwdXJnZVVudXNlZDogdHJ1ZSwgaWdub3JlQ2FjaGVWYWxpZGl0eTogdHJ1ZSB9KTtcbiAgICB9XG4gIH07XG5cbiAgY2xlYXJBdXRoUHJvdmlkZXIgPSAoKSA9PiB7XG4gICAgdGhpcy5hdXRoUHJvdmlkZXI/LmNsZWFuVXAoKTtcbiAgICB0aGlzLl9hdXRoUHJvdmlkZXIkLm5leHQobnVsbCk7XG4gIH07XG5cbiAgX3VwZGF0ZUJhc2VSb3V0ZSA9IChyb3V0ZTogc3RyaW5nKSA9PiB7XG4gICAgdGhpcy5fY2xpZW50Q29uZmlnLmJhc2VSb3V0ZSA9IHJvdXRlO1xuICB9O1xufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import * as i1$1 from '@ethlete/core';
2
2
  import { createDestroy, getCookie, setCookie, deleteCookie, nextFrame, DelayableDirective, RouterStateService, clone, equal, ET_PROPERTY_REMOVED } from '@ethlete/core';
3
- import { Observable, takeUntil, startWith, pairwise, tap, BehaviorSubject, Subject, fromEvent, timer, take, filter, takeWhile, switchMap, of, shareReplay, ReplaySubject, interval, skip, map, combineLatest, withLatestFrom, debounceTime, merge } from 'rxjs';
3
+ import { Observable, takeUntil, startWith, pairwise, tap, BehaviorSubject, Subject, fromEvent, timer, take, filter, takeWhile, switchMap, of, map, shareReplay, ReplaySubject, interval, skip, combineLatest, withLatestFrom, debounceTime, merge } from 'rxjs';
4
4
  import * as i0 from '@angular/core';
5
5
  import { assertInInjectionContext, inject, Injector, signal, isDevMode, Pipe, InjectionToken, ChangeDetectorRef, computed, effect, Component, ChangeDetectionStrategy, ViewEncapsulation, TemplateRef, ViewContainerRef, ErrorHandler, Directive, Input, ElementRef, NgZone } from '@angular/core';
6
6
  import { toSignal, toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
@@ -817,7 +817,7 @@ class QueryClient {
817
817
  this.fetch = (queryConfig) => new QueryCreator(queryConfig, this, this._store);
818
818
  this.setAuthProvider = (authProvider) => {
819
819
  if (this.authProvider) {
820
- throw new Error('The auth provider is already set. Please call clearAuthProvider() first.');
820
+ this.authProvider?.cleanUp();
821
821
  }
822
822
  this._authProvider$.next(authProvider);
823
823
  };
@@ -838,6 +838,9 @@ class QueryClient {
838
838
  this.authProvider?.cleanUp();
839
839
  this._authProvider$.next(null);
840
840
  };
841
+ this._updateBaseRoute = (route) => {
842
+ this._clientConfig.baseRoute = route;
843
+ };
841
844
  this._store = new QueryStore({
842
845
  enableChangeLogging: _clientConfig.logging?.queryStateChanges,
843
846
  enableGarbageCollectorLogging: _clientConfig.logging?.queryStateGarbageCollector,
@@ -1002,9 +1005,28 @@ const isQueryCollection = (query) => {
1002
1005
  }
1003
1006
  return true;
1004
1007
  };
1008
+ /**
1009
+ * @deprecated Use `createQueryCollectionSubject` instead. Will be removed in v5.
1010
+ */
1005
1011
  const createQueryCollection = (
1006
1012
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1007
1013
  queryMap) => new BehaviorSubject(null);
1014
+ const createQueryCollectionSubject = (
1015
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1016
+ queryMap, config) => {
1017
+ assertInInjectionContext(createQueryCollectionSubject);
1018
+ const subject = new BehaviorSubject(null);
1019
+ addQueryContainerHandling(subject.pipe(map((s) => s?.query ?? null)), () => subject.getValue()?.query ?? null, config);
1020
+ return subject;
1021
+ };
1022
+ const createQueryCollectionSignal = (
1023
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
1024
+ queryMap, config) => {
1025
+ assertInInjectionContext(createQueryCollectionSignal);
1026
+ const _signal = signal(null);
1027
+ addQueryContainerHandling(toObservable(_signal).pipe(map((s) => s?.query ?? null)), () => _signal()?.query ?? null, config);
1028
+ return _signal;
1029
+ };
1008
1030
  const extractQuery = (v) => (isQuery(v) ? v : v?.query) ?? null;
1009
1031
  const getDefaultHeaders = (headers, method) => {
1010
1032
  if (!headers) {
@@ -2937,5 +2959,5 @@ class QueryForm {
2937
2959
  * Generated bundle index. Do not edit.
2938
2960
  */
2939
2961
 
2940
- export { BasicAuthProvider, BearerAuthProvider, CustomHeaderAuthProvider, EntityStore, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, QUERY_CLIENT_DEVTOOLS_TOKEN, Query, QueryClient, QueryCreator, QueryDevtoolsComponent, QueryDirective, QueryError, QueryField, QueryForm, QueryShortNamePipe, QueryStore, addQueryContainerHandling, buildErrorMessage, buildGqlCacheKey, buildQueryString, buildRoute, buildTimestampFromSeconds, castQueryCreatorTypes, computeQueryAuthHeader, computeQueryBody, computeQueryHeaders, computeQueryMethod, computeQueryQueryParams, createInfinityQueryConfig, createQueryCollection, decryptBearer, deepFreeze, def, detectContentTypeHeader, extractExpiresInSeconds, extractQuery, filterFailure, filterNull, filterQueryStates, filterSuccess, forEachHeader, getDefaultHeaders, getResponseUrl, gql, hasHeader, ignoreAutoRefresh, insertFrom, invalidBaseRouteError, invalidBodyError, invalidRouteError, isAutoRefresh, isBasicAuthProvider, isBearerAuthProvider, isClassValidatorError, isCustomHeaderAuthProvider, isEmptyString, isGqlQueryConfig, isNaN$1 as isNaN, isQuery, isQueryCollection, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, isSymfonyError, isSymfonyFormViolationListError, isSymfonyPagerfantaOutOfRangeError, mapToPaginated, mergeHeaders, paginatedEntityValueUpdater, parseAllXhrResponseHeaders, pathParamsMissingInRouteFunctionError, provideQueryClientForDevtools, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, removeFrom, request, resetPageOnError, serializeBody, shouldCacheQuery, shouldRetryRequest, skipPaginationPageParamCalculator, switchQueryCollectionState, switchQueryState, takeUntilResponse, toQuerySignal, toQuerySubject, transformGql, transformMethod, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray };
2962
+ export { BasicAuthProvider, BearerAuthProvider, CustomHeaderAuthProvider, EntityStore, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, QUERY_CLIENT_DEVTOOLS_TOKEN, Query, QueryClient, QueryCreator, QueryDevtoolsComponent, QueryDirective, QueryError, QueryField, QueryForm, QueryShortNamePipe, QueryStore, addQueryContainerHandling, buildErrorMessage, buildGqlCacheKey, buildQueryString, buildRoute, buildTimestampFromSeconds, castQueryCreatorTypes, computeQueryAuthHeader, computeQueryBody, computeQueryHeaders, computeQueryMethod, computeQueryQueryParams, createInfinityQueryConfig, createQueryCollection, createQueryCollectionSignal, createQueryCollectionSubject, decryptBearer, deepFreeze, def, detectContentTypeHeader, extractExpiresInSeconds, extractQuery, filterFailure, filterNull, filterQueryStates, filterSuccess, forEachHeader, getDefaultHeaders, getResponseUrl, gql, hasHeader, ignoreAutoRefresh, insertFrom, invalidBaseRouteError, invalidBodyError, invalidRouteError, isAutoRefresh, isBasicAuthProvider, isBearerAuthProvider, isClassValidatorError, isCustomHeaderAuthProvider, isEmptyString, isGqlQueryConfig, isNaN$1 as isNaN, isQuery, isQueryCollection, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, isSymfonyError, isSymfonyFormViolationListError, isSymfonyPagerfantaOutOfRangeError, mapToPaginated, mergeHeaders, paginatedEntityValueUpdater, parseAllXhrResponseHeaders, pathParamsMissingInRouteFunctionError, provideQueryClientForDevtools, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, removeFrom, request, resetPageOnError, serializeBody, shouldCacheQuery, shouldRetryRequest, skipPaginationPageParamCalculator, switchQueryCollectionState, switchQueryState, takeUntilResponse, toQuerySignal, toQuerySubject, transformGql, transformMethod, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray };
2941
2963
  //# sourceMappingURL=ethlete-query.mjs.map