@dereekb/rxjs 9.6.5 → 9.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/package.json +2 -2
- package/src/lib/loading/loading.state.d.ts +0 -12
- package/src/lib/loading/loading.state.js +1 -21
- package/src/lib/loading/loading.state.js.map +1 -1
- package/src/lib/loading/loading.state.rxjs.d.ts +12 -1
- package/src/lib/loading/loading.state.rxjs.js +20 -1
- package/src/lib/loading/loading.state.rxjs.js.map +1 -1
- package/src/lib/rxjs/index.d.ts +1 -0
- package/src/lib/rxjs/index.js +1 -0
- package/src/lib/rxjs/index.js.map +1 -1
- package/src/lib/rxjs/key.d.ts +8 -0
- package/src/lib/rxjs/key.js +29 -0
- package/src/lib/rxjs/key.js.map +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [9.7.2](https://github.com/dereekb/dbx-components/compare/v9.7.1-dev...v9.7.2) (2022-09-06)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [9.7.1](https://github.com/dereekb/dbx-components/compare/v9.7.0-dev...v9.7.1) (2022-09-06)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# [9.7.0](https://github.com/dereekb/dbx-components/compare/v9.6.5-dev...v9.7.0) (2022-09-05)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
5
17
|
## [9.6.5](https://github.com/dereekb/dbx-components/compare/v9.6.4-dev...v9.6.5) (2022-09-04)
|
|
6
18
|
|
|
7
19
|
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/rxjs",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.7.2",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"typings": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {},
|
|
8
8
|
"peerDependencies": {
|
|
9
9
|
"rxjs": "^7.5.0",
|
|
10
|
-
"@dereekb/util": "9.
|
|
10
|
+
"@dereekb/util": "9.7.2",
|
|
11
11
|
"lodash.isequal": "^4.5.0",
|
|
12
12
|
"make-error": "^1.3.0",
|
|
13
13
|
"ts-essentials": "^9.1.2",
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
1
|
import { Maybe, ReadableError, ReadableDataError, Page, FilteredPage, PageNumber, MapFunction, ErrorInput } from '@dereekb/util';
|
|
3
2
|
/**
|
|
4
3
|
* A value/error pair used in loading situations.
|
|
@@ -114,17 +113,6 @@ export declare function loadingStateHasValue(state: Maybe<LoadingState>): boolea
|
|
|
114
113
|
* @returns
|
|
115
114
|
*/
|
|
116
115
|
export declare function loadingStateHasError(state: Maybe<LoadingState>): boolean;
|
|
117
|
-
/**
|
|
118
|
-
* Wraps an observable output and maps the value to a LoadingState.
|
|
119
|
-
*
|
|
120
|
-
* If firstOnly is provided, it will only take the first value the observable returns.
|
|
121
|
-
*/
|
|
122
|
-
export declare function loadingStateFromObs<T>(obs: Observable<T>, firstOnly?: boolean): Observable<LoadingState<T>>;
|
|
123
|
-
/**
|
|
124
|
-
* Convenience function for creating a pipe that merges the two input observables.
|
|
125
|
-
*/
|
|
126
|
-
export declare function combineLoadingStates<A, B>(obsA: Observable<LoadingState<A>>, obsB: Observable<LoadingState<B>>): Observable<LoadingState<A & B>>;
|
|
127
|
-
export declare function combineLoadingStates<A extends object, B extends object, C>(obsA: Observable<LoadingState<A>>, obsB: Observable<LoadingState<B>>, mergeFn?: (a: A, b: B) => C): Observable<LoadingState<C>>;
|
|
128
116
|
/**
|
|
129
117
|
* Merges the input loading states.
|
|
130
118
|
*
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mapLoadingStateValueFunction = exports.mapLoadingStateResults = exports.mapMultipleLoadingStateResults = exports.updatedStateForSetError = exports.updatedStateForSetValue = exports.updatedStateForSetLoading = exports.mergeLoadingStates = exports.
|
|
4
|
-
const rxjs_1 = require("rxjs");
|
|
3
|
+
exports.mapLoadingStateValueFunction = exports.mapLoadingStateResults = exports.mapMultipleLoadingStateResults = exports.updatedStateForSetError = exports.updatedStateForSetValue = exports.updatedStateForSetLoading = exports.mergeLoadingStates = exports.loadingStateHasError = exports.loadingStateHasValue = exports.loadingStateHasFinishedLoading = exports.isErrorLoadingState = exports.isSuccessLoadingState = exports.loadingStateIsLoading = exports.loadingStateIsIdle = exports.allLoadingStatesHaveFinishedLoading = exports.unknownLoadingStatesIsLoading = exports.errorPageResult = exports.errorResult = exports.successPageResult = exports.successResult = exports.beginLoading = exports.idleLoadingState = exports.loadingStateType = exports.LoadingStateType = void 0;
|
|
5
4
|
const util_1 = require("@dereekb/util");
|
|
6
|
-
const timeout_1 = require("../rxjs/timeout");
|
|
7
5
|
// MARK: Utility
|
|
8
6
|
/**
|
|
9
7
|
* Describes a LoadingState's current state type.
|
|
@@ -170,24 +168,6 @@ function loadingStateHasError(state) {
|
|
|
170
168
|
}
|
|
171
169
|
}
|
|
172
170
|
exports.loadingStateHasError = loadingStateHasError;
|
|
173
|
-
/**
|
|
174
|
-
* Wraps an observable output and maps the value to a LoadingState.
|
|
175
|
-
*
|
|
176
|
-
* If firstOnly is provided, it will only take the first value the observable returns.
|
|
177
|
-
*/
|
|
178
|
-
function loadingStateFromObs(obs, firstOnly) {
|
|
179
|
-
if (firstOnly) {
|
|
180
|
-
obs = obs.pipe((0, rxjs_1.first)());
|
|
181
|
-
}
|
|
182
|
-
return obs.pipe((0, rxjs_1.map)((value) => ({ loading: false, value, error: undefined })), (0, rxjs_1.catchError)((error) => (0, rxjs_1.of)({ loading: false, error })), (0, timeout_1.timeoutStartWith)({ loading: true }, 50), (0, rxjs_1.shareReplay)(1));
|
|
183
|
-
}
|
|
184
|
-
exports.loadingStateFromObs = loadingStateFromObs;
|
|
185
|
-
function combineLoadingStates(obsA, obsB, inputMergeFn) {
|
|
186
|
-
return (0, rxjs_1.combineLatest)([obsA, obsB]).pipe((0, rxjs_1.distinctUntilChanged)((x, y) => (x === null || x === void 0 ? void 0 : x[0]) === (y === null || y === void 0 ? void 0 : y[0]) && (x === null || x === void 0 ? void 0 : x[1]) === (y === null || y === void 0 ? void 0 : y[1])), // Prevent remerging the same values!
|
|
187
|
-
(0, rxjs_1.map)(([a, b]) => mergeLoadingStates(a, b, inputMergeFn)), (0, rxjs_1.shareReplay)(1) // Share the result.
|
|
188
|
-
);
|
|
189
|
-
}
|
|
190
|
-
exports.combineLoadingStates = combineLoadingStates;
|
|
191
171
|
function mergeLoadingStates(a, b, inputMergeFn) {
|
|
192
172
|
var _a, _b;
|
|
193
173
|
const mergeFn = inputMergeFn !== null && inputMergeFn !== void 0 ? inputMergeFn : ((a, b) => (Object.assign(Object.assign({}, a), b)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.state.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"loading.state.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { Maybe } from '@dereekb/util';
|
|
2
|
-
import { MonoTypeOperatorFunction, OperatorFunction } from 'rxjs';
|
|
2
|
+
import { MonoTypeOperatorFunction, OperatorFunction, Observable } from 'rxjs';
|
|
3
3
|
import { LoadingState, PageLoadingState } from './loading.state';
|
|
4
|
+
/**
|
|
5
|
+
* Wraps an observable output and maps the value to a LoadingState.
|
|
6
|
+
*
|
|
7
|
+
* If firstOnly is provided, it will only take the first value the observable returns.
|
|
8
|
+
*/
|
|
9
|
+
export declare function loadingStateFromObs<T>(obs: Observable<T>, firstOnly?: boolean): Observable<LoadingState<T>>;
|
|
10
|
+
/**
|
|
11
|
+
* Convenience function for creating a pipe that merges the two input observables.
|
|
12
|
+
*/
|
|
13
|
+
export declare function combineLoadingStates<A, B>(obsA: Observable<LoadingState<A>>, obsB: Observable<LoadingState<B>>): Observable<LoadingState<A & B>>;
|
|
14
|
+
export declare function combineLoadingStates<A extends object, B extends object, C>(obsA: Observable<LoadingState<A>>, obsB: Observable<LoadingState<B>>, mergeFn?: (a: A, b: B) => C): Observable<LoadingState<C>>;
|
|
4
15
|
/**
|
|
5
16
|
* Merges startWith() with beginLoading().
|
|
6
17
|
*
|
|
@@ -1,8 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.tapOnLoadingStateSuccess = exports.valueFromLoadingState = exports.startWithBeginLoading = void 0;
|
|
3
|
+
exports.tapOnLoadingStateSuccess = exports.valueFromLoadingState = exports.startWithBeginLoading = exports.combineLoadingStates = exports.loadingStateFromObs = void 0;
|
|
4
4
|
const rxjs_1 = require("rxjs");
|
|
5
|
+
const rxjs_2 = require("../rxjs");
|
|
5
6
|
const loading_state_1 = require("./loading.state");
|
|
7
|
+
/**
|
|
8
|
+
* Wraps an observable output and maps the value to a LoadingState.
|
|
9
|
+
*
|
|
10
|
+
* If firstOnly is provided, it will only take the first value the observable returns.
|
|
11
|
+
*/
|
|
12
|
+
function loadingStateFromObs(obs, firstOnly) {
|
|
13
|
+
if (firstOnly) {
|
|
14
|
+
obs = obs.pipe((0, rxjs_1.first)());
|
|
15
|
+
}
|
|
16
|
+
return obs.pipe((0, rxjs_1.map)((value) => ({ loading: false, value, error: undefined })), (0, rxjs_1.catchError)((error) => (0, rxjs_1.of)({ loading: false, error })), (0, rxjs_2.timeoutStartWith)({ loading: true }, 50), (0, rxjs_1.shareReplay)(1));
|
|
17
|
+
}
|
|
18
|
+
exports.loadingStateFromObs = loadingStateFromObs;
|
|
19
|
+
function combineLoadingStates(obsA, obsB, inputMergeFn) {
|
|
20
|
+
return (0, rxjs_1.combineLatest)([obsA, obsB]).pipe((0, rxjs_1.distinctUntilChanged)((x, y) => (x === null || x === void 0 ? void 0 : x[0]) === (y === null || y === void 0 ? void 0 : y[0]) && (x === null || x === void 0 ? void 0 : x[1]) === (y === null || y === void 0 ? void 0 : y[1])), // Prevent remerging the same values!
|
|
21
|
+
(0, rxjs_1.map)(([a, b]) => (0, loading_state_1.mergeLoadingStates)(a, b, inputMergeFn)), (0, rxjs_1.shareReplay)(1) // Share the result.
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
exports.combineLoadingStates = combineLoadingStates;
|
|
6
25
|
function startWithBeginLoading(state) {
|
|
7
26
|
return (0, rxjs_1.startWith)((0, loading_state_1.beginLoading)(state));
|
|
8
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.state.rxjs.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.rxjs.ts"],"names":[],"mappings":";;;AACA,+
|
|
1
|
+
{"version":3,"file":"loading.state.rxjs.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/loading/loading.state.rxjs.ts"],"names":[],"mappings":";;;AACA,+BAAoL;AACpL,kCAA2C;AAC3C,mDAA0J;AAE1J;;;;GAIG;AACH,SAAgB,mBAAmB,CAAI,GAAkB,EAAE,SAAmB;IAC5E,IAAI,SAAS,EAAE;QACb,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAA,YAAK,GAAE,CAAC,CAAC;KACzB;IAED,OAAO,GAAG,CAAC,IAAI,CACb,IAAA,UAAG,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,EAC7D,IAAA,iBAAU,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,SAAE,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EACpD,IAAA,uBAAgB,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EACvC,IAAA,kBAAW,EAAC,CAAC,CAAC,CACf,CAAC;AACJ,CAAC;AAXD,kDAWC;AAOD,SAAgB,oBAAoB,CAAwC,IAAiC,EAAE,IAAiC,EAAE,YAAgC;IAChL,OAAO,IAAA,oBAAa,EAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CACrC,IAAA,2BAAoB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,CAAC,CAAC,OAAK,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,CAAC,CAAC,CAAA,IAAI,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,CAAC,CAAC,OAAK,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,CAAC,CAAC,CAAA,CAAC,EAAE,qCAAqC;IAC7G,IAAA,UAAG,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kCAAkB,EAAC,CAAC,EAAE,CAAC,EAAE,YAAiC,CAAC,CAAC,EAC5E,IAAA,kBAAW,EAAC,CAAC,CAAC,CAAC,oBAAoB;KACpC,CAAC;AACJ,CAAC;AAND,oDAMC;AAYD,SAAgB,qBAAqB,CAAyC,KAAkB;IAC9F,OAAO,IAAA,gBAAS,EAAI,IAAA,4BAAY,EAAC,KAAK,CAAiB,CAAC,CAAC;AAC3D,CAAC;AAFD,sDAEC;AAED;;GAEG;AACH,SAAgB,qBAAqB;IACnC,OAAO,CAAC,GAAkB,EAAE,EAAE;QAC5B,OAAO,GAAG,CAAC,IAAI,CACb,IAAA,aAAM,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,8CAA8B,EAAC,CAAC,CAAC,CAAC,EAChD,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CACpB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAPD,sDAOC;AAUD,SAAgB,wBAAwB,CAAyC,EAAsB;IACrG,OAAO,IAAA,UAAG,EAAC,CAAC,KAAQ,EAAE,EAAE;QACtB,IAAI,IAAA,qCAAqB,EAAC,KAAK,CAAC,EAAE;YAChC,EAAE,CAAC,KAAK,CAAC,CAAC;SACX;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAND,4DAMC"}
|
package/src/lib/rxjs/index.d.ts
CHANGED
package/src/lib/rxjs/index.js
CHANGED
|
@@ -7,6 +7,7 @@ tslib_1.__exportStar(require("./delta"), exports);
|
|
|
7
7
|
tslib_1.__exportStar(require("./timeout"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./factory"), exports);
|
|
9
9
|
tslib_1.__exportStar(require("./getter"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./key"), exports);
|
|
10
11
|
tslib_1.__exportStar(require("./lifecycle"), exports);
|
|
11
12
|
tslib_1.__exportStar(require("./loading"), exports);
|
|
12
13
|
tslib_1.__exportStar(require("./misc"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/rxjs/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,oDAA0B;AAC1B,kDAAwB;AACxB,oDAA0B;AAC1B,oDAA0B;AAC1B,mDAAyB;AACzB,sDAA4B;AAC5B,oDAA0B;AAC1B,iDAAuB;AACvB,gDAAsB;AACtB,mDAAyB;AACzB,iDAAuB;AACvB,uDAA6B;AAC7B,qDAA2B;AAC3B,gDAAsB;AACtB,gDAAsB;AACtB,kDAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/rxjs/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,oDAA0B;AAC1B,kDAAwB;AACxB,oDAA0B;AAC1B,oDAA0B;AAC1B,mDAAyB;AACzB,gDAAsB;AACtB,sDAA4B;AAC5B,oDAA0B;AAC1B,iDAAuB;AACvB,gDAAsB;AACtB,mDAAyB;AACzB,iDAAuB;AACvB,uDAA6B;AAC7B,qDAA2B;AAC3B,gDAAsB;AACtB,gDAAsB;AACtB,kDAAwB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PrimativeKey, ReadKeyFunction, ReadMultipleKeysFunction } from '@dereekb/util';
|
|
2
|
+
import { MonoTypeOperatorFunction } from 'rxjs';
|
|
3
|
+
/**
|
|
4
|
+
* distinctUntilChanged() that reads the unique identifiers from the input values and compares them for uniqueness.
|
|
5
|
+
*
|
|
6
|
+
* @param readkey
|
|
7
|
+
*/
|
|
8
|
+
export declare function distinctUntilKeysChange<T, K extends PrimativeKey = PrimativeKey>(readKey: ReadKeyFunction<T, K> | ReadMultipleKeysFunction<T, K>): MonoTypeOperatorFunction<T[]>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.distinctUntilKeysChange = void 0;
|
|
4
|
+
const util_1 = require("@dereekb/util");
|
|
5
|
+
const rxjs_1 = require("rxjs");
|
|
6
|
+
/**
|
|
7
|
+
* distinctUntilChanged() that reads the unique identifiers from the input values and compares them for uniqueness.
|
|
8
|
+
*
|
|
9
|
+
* @param readkey
|
|
10
|
+
*/
|
|
11
|
+
function distinctUntilKeysChange(readKey) {
|
|
12
|
+
const readKeysSet = (0, util_1.readKeysSetFunction)(readKey);
|
|
13
|
+
const readKeysArray = (0, util_1.readKeysFunction)(readKey);
|
|
14
|
+
return (0, rxjs_1.distinctUntilChanged)((a, b) => {
|
|
15
|
+
if (a.length === b.length) {
|
|
16
|
+
if (a.length === 0) {
|
|
17
|
+
return true; // both the same/empty arrays
|
|
18
|
+
}
|
|
19
|
+
const aKeys = readKeysSet(a);
|
|
20
|
+
const bKeys = readKeysArray(b);
|
|
21
|
+
if (aKeys.size === bKeys.length) {
|
|
22
|
+
return (0, util_1.setContainsAllValues)(aKeys, bKeys);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return false;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
exports.distinctUntilKeysChange = distinctUntilKeysChange;
|
|
29
|
+
//# sourceMappingURL=key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key.js","sourceRoot":"","sources":["../../../../../../packages/rxjs/src/lib/rxjs/key.ts"],"names":[],"mappings":";;;AAAA,wCAAiN;AACjN,+BAAsE;AAEtE;;;;GAIG;AACH,SAAgB,uBAAuB,CAA2C,OAA+D;IAC/I,MAAM,WAAW,GAAG,IAAA,0BAAmB,EAAC,OAAO,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,IAAA,uBAAgB,EAAC,OAAO,CAAC,CAAC;IAEhD,OAAO,IAAA,2BAAoB,EAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;QAC7C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;YACzB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClB,OAAO,IAAI,CAAC,CAAC,6BAA6B;aAC3C;YAED,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAE/B,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE;gBAC/B,OAAO,IAAA,2BAAoB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aAC3C;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AApBD,0DAoBC"}
|