angular-odata 0.100.1 → 0.102.5
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/esm2020/lib/api.mjs +84 -64
- package/esm2020/lib/cache/cache.mjs +56 -4
- package/esm2020/lib/cache/memory.mjs +16 -6
- package/esm2020/lib/cache/storage.mjs +23 -4
- package/esm2020/lib/client.mjs +3 -3
- package/esm2020/lib/constants.mjs +2 -1
- package/esm2020/lib/models/collection.mjs +103 -43
- package/esm2020/lib/models/model.mjs +17 -4
- package/esm2020/lib/models/options.mjs +200 -122
- package/esm2020/lib/module.mjs +5 -5
- package/esm2020/lib/options.mjs +3 -8
- package/esm2020/lib/resources/query/builder.mjs +1 -1
- package/esm2020/lib/resources/query/expressions/compute.mjs +5 -5
- package/esm2020/lib/resources/query/expressions/expand.mjs +6 -6
- package/esm2020/lib/resources/query/expressions/filter.mjs +9 -9
- package/esm2020/lib/resources/query/expressions/index.mjs +3 -1
- package/esm2020/lib/resources/query/expressions/orderby.mjs +5 -5
- package/esm2020/lib/resources/query/expressions/search.mjs +3 -3
- package/esm2020/lib/resources/query/expressions/select.mjs +7 -7
- package/esm2020/lib/resources/query/expressions/syntax.mjs +1 -1
- package/esm2020/lib/resources/query/handlers.mjs +208 -22
- package/esm2020/lib/resources/query/options.mjs +16 -13
- package/esm2020/lib/resources/request.mjs +31 -36
- package/esm2020/lib/resources/resource.mjs +27 -11
- package/esm2020/lib/resources/responses/annotations.mjs +1 -1
- package/esm2020/lib/resources/responses/metadata.mjs +1 -1
- package/esm2020/lib/resources/responses/options.mjs +1 -1
- package/esm2020/lib/resources/responses/response.mjs +2 -2
- package/esm2020/lib/resources/types/batch.mjs +108 -97
- package/esm2020/lib/resources/types/navigation-property.mjs +5 -3
- package/esm2020/lib/resources/types/options.mjs +1 -1
- package/esm2020/lib/resources/types/property.mjs +4 -4
- package/esm2020/lib/schema/callable.mjs +3 -3
- package/esm2020/lib/schema/enum-type.mjs +13 -26
- package/esm2020/lib/schema/parsers/callable.mjs +15 -20
- package/esm2020/lib/schema/parsers/enum-type.mjs +35 -18
- package/esm2020/lib/schema/parsers/structured-type.mjs +132 -66
- package/esm2020/lib/schema/structured-type.mjs +31 -39
- package/esm2020/lib/services/base.mjs +1 -1
- package/esm2020/lib/services/factory.mjs +3 -3
- package/esm2020/lib/types.mjs +1 -1
- package/esm2020/lib/utils/arrays.mjs +10 -0
- package/esm2020/lib/utils/enums.mjs +3 -3
- package/esm2020/lib/utils/objects.mjs +11 -6
- package/esm2020/lib/utils/types.mjs +6 -7
- package/fesm2015/angular-odata.mjs +3451 -2918
- package/fesm2015/angular-odata.mjs.map +1 -1
- package/fesm2020/angular-odata.mjs +3454 -2919
- package/fesm2020/angular-odata.mjs.map +1 -1
- package/{angular-odata.d.ts → index.d.ts} +0 -0
- package/lib/api.d.ts +2 -4
- package/lib/cache/cache.d.ts +62 -1
- package/lib/cache/memory.d.ts +10 -0
- package/lib/cache/storage.d.ts +19 -0
- package/lib/constants.d.ts +1 -0
- package/lib/models/collection.d.ts +14 -9
- package/lib/models/model.d.ts +10 -7
- package/lib/models/options.d.ts +31 -22
- package/lib/options.d.ts +3 -7
- package/lib/resources/query/builder.d.ts +1 -1
- package/lib/resources/query/expressions/compute.d.ts +7 -6
- package/lib/resources/query/expressions/expand.d.ts +17 -32
- package/lib/resources/query/expressions/filter.d.ts +11 -10
- package/lib/resources/query/expressions/index.d.ts +2 -0
- package/lib/resources/query/expressions/orderby.d.ts +7 -6
- package/lib/resources/query/expressions/search.d.ts +5 -4
- package/lib/resources/query/expressions/select.d.ts +7 -6
- package/lib/resources/query/handlers.d.ts +158 -33
- package/lib/resources/query/options.d.ts +14 -12
- package/lib/resources/request.d.ts +2 -1
- package/lib/resources/resource.d.ts +7 -6
- package/lib/resources/responses/options.d.ts +2 -2
- package/lib/resources/types/batch.d.ts +8 -11
- package/lib/resources/types/options.d.ts +4 -2
- package/lib/schema/callable.d.ts +4 -4
- package/lib/schema/enum-type.d.ts +11 -23
- package/lib/schema/parsers/callable.d.ts +11 -10
- package/lib/schema/parsers/enum-type.d.ts +22 -14
- package/lib/schema/parsers/structured-type.d.ts +58 -14
- package/lib/schema/structured-type.d.ts +23 -23
- package/lib/services/base.d.ts +9 -9
- package/lib/types.d.ts +11 -13
- package/lib/utils/arrays.d.ts +3 -0
- package/lib/utils/enums.d.ts +2 -2
- package/lib/utils/objects.d.ts +1 -1
- package/lib/utils/strings.d.ts +1 -1
- package/lib/utils/types.d.ts +1 -1
- package/package.json +5 -5
|
@@ -8,29 +8,48 @@ export class ODataInStorageCache extends ODataCache {
|
|
|
8
8
|
this.restore();
|
|
9
9
|
window.addEventListener('beforeunload', () => this.store());
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Store the cache in the storage
|
|
13
|
+
*/
|
|
11
14
|
store() {
|
|
12
15
|
this.storage.setItem(this.name, JSON.stringify(Array.from(this.entries.entries())));
|
|
13
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Restore the cache from the storage
|
|
19
|
+
*/
|
|
14
20
|
restore() {
|
|
15
21
|
this.entries = new Map(JSON.parse(this.storage.getItem(this.name) || '[]'));
|
|
16
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Flush the cache and clean the storage
|
|
25
|
+
*/
|
|
17
26
|
flush() {
|
|
18
27
|
super.flush();
|
|
19
28
|
this.store();
|
|
20
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Store the response in the cache
|
|
32
|
+
* @param req The request with the resource to store the response
|
|
33
|
+
* @param res The response to store in the cache
|
|
34
|
+
*/
|
|
21
35
|
putResponse(req, res) {
|
|
22
36
|
const scope = this.scope(req);
|
|
23
|
-
const tags = this.tags(
|
|
24
|
-
this.put(req.
|
|
37
|
+
const tags = this.tags(res);
|
|
38
|
+
this.put(req.cacheKey, res.toJSON(), {
|
|
25
39
|
timeout: res.options.maxAge,
|
|
26
40
|
scope,
|
|
27
41
|
tags,
|
|
28
42
|
});
|
|
29
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Restore the response from the cache
|
|
46
|
+
* @param req The request with the resource to get the response
|
|
47
|
+
* @returns The response from the cache
|
|
48
|
+
*/
|
|
30
49
|
getResponse(req) {
|
|
31
50
|
const scope = this.scope(req);
|
|
32
|
-
const data = this.get(req.
|
|
51
|
+
const data = this.get(req.cacheKey, { scope });
|
|
33
52
|
return data !== undefined ? ODataResponse.fromJSON(req, data) : undefined;
|
|
34
53
|
}
|
|
35
54
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9jYWNoZS9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQW1CLE1BQU0sU0FBUyxDQUFDO0FBVXRELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxVQUFVO0lBSWpELFlBQVksRUFDVixJQUFJLEVBQ0osT0FBTyxHQUFHLGNBQWMsRUFDeEIsT0FBTyxHQUtSO1FBQ0MsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUs7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FDbEIsSUFBSSxDQUFDLElBQUksRUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQ25ELENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQ3BELENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDTSxLQUFLO1FBQ1osS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsR0FBc0IsRUFBRSxHQUF1QjtRQUN6RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBZSxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNqRCxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQzNCLEtBQUs7WUFDTCxJQUFJO1NBQ0wsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsR0FBc0I7UUFDaEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFlLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRTdELE9BQU8sSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM1RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPRGF0YVJlcXVlc3QsIE9EYXRhUmVzcG9uc2UgfSBmcm9tICcuLi9yZXNvdXJjZXMnO1xuaW1wb3J0IHsgT0RhdGFDYWNoZSwgT0RhdGFDYWNoZUVudHJ5IH0gZnJvbSAnLi9jYWNoZSc7XG5cbmludGVyZmFjZSBSZXNwb25zZUpzb24ge1xuICBib2R5OiBhbnkgfCBudWxsO1xuICBoZWFkZXJzOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB9O1xuICBzdGF0dXM6IG51bWJlcjtcbiAgc3RhdHVzVGV4dDogc3RyaW5nO1xuICB1cmw6IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBjbGFzcyBPRGF0YUluU3RvcmFnZUNhY2hlIGV4dGVuZHMgT0RhdGFDYWNoZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgc3RvcmFnZTogU3RvcmFnZTtcblxuICBjb25zdHJ1Y3Rvcih7XG4gICAgbmFtZSxcbiAgICBzdG9yYWdlID0gc2Vzc2lvblN0b3JhZ2UsXG4gICAgdGltZW91dCxcbiAgfToge1xuICAgIHRpbWVvdXQ/OiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHN0b3JhZ2U/OiBTdG9yYWdlO1xuICB9KSB7XG4gICAgc3VwZXIoeyB0aW1lb3V0IH0pO1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5zdG9yYWdlID0gc3RvcmFnZTtcbiAgICB0aGlzLnJlc3RvcmUoKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignYmVmb3JldW5sb2FkJywgKCkgPT4gdGhpcy5zdG9yZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9yZSB0aGUgY2FjaGUgaW4gdGhlIHN0b3JhZ2VcbiAgICovXG4gIHN0b3JlKCkge1xuICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKFxuICAgICAgdGhpcy5uYW1lLFxuICAgICAgSlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbSh0aGlzLmVudHJpZXMuZW50cmllcygpKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3RvcmUgdGhlIGNhY2hlIGZyb20gdGhlIHN0b3JhZ2VcbiAgICovXG4gIHJlc3RvcmUoKSB7XG4gICAgdGhpcy5lbnRyaWVzID0gbmV3IE1hcDxzdHJpbmcsIE9EYXRhQ2FjaGVFbnRyeTxhbnk+PihcbiAgICAgIEpTT04ucGFyc2UodGhpcy5zdG9yYWdlLmdldEl0ZW0odGhpcy5uYW1lKSB8fCAnW10nKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmx1c2ggdGhlIGNhY2hlIGFuZCBjbGVhbiB0aGUgc3RvcmFnZVxuICAgKi9cbiAgb3ZlcnJpZGUgZmx1c2goKSB7XG4gICAgc3VwZXIuZmx1c2goKTtcbiAgICB0aGlzLnN0b3JlKCk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcmUgdGhlIHJlc3BvbnNlIGluIHRoZSBjYWNoZVxuICAgKiBAcGFyYW0gcmVxIFRoZSByZXF1ZXN0IHdpdGggdGhlIHJlc291cmNlIHRvIHN0b3JlIHRoZSByZXNwb25zZVxuICAgKiBAcGFyYW0gcmVzIFRoZSByZXNwb25zZSB0byBzdG9yZSBpbiB0aGUgY2FjaGVcbiAgICovXG4gIHB1dFJlc3BvbnNlKHJlcTogT0RhdGFSZXF1ZXN0PGFueT4sIHJlczogT0RhdGFSZXNwb25zZTxhbnk+KSB7XG4gICAgY29uc3Qgc2NvcGUgPSB0aGlzLnNjb3BlKHJlcSk7XG4gICAgY29uc3QgdGFncyA9IHRoaXMudGFncyhyZXMpO1xuICAgIHRoaXMucHV0PFJlc3BvbnNlSnNvbj4ocmVxLmNhY2hlS2V5LCByZXMudG9KU09OKCksIHtcbiAgICAgIHRpbWVvdXQ6IHJlcy5vcHRpb25zLm1heEFnZSxcbiAgICAgIHNjb3BlLFxuICAgICAgdGFncyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0b3JlIHRoZSByZXNwb25zZSBmcm9tIHRoZSBjYWNoZVxuICAgKiBAcGFyYW0gcmVxIFRoZSByZXF1ZXN0IHdpdGggdGhlIHJlc291cmNlIHRvIGdldCB0aGUgcmVzcG9uc2VcbiAgICogQHJldHVybnMgVGhlIHJlc3BvbnNlIGZyb20gdGhlIGNhY2hlXG4gICAqL1xuICBnZXRSZXNwb25zZShyZXE6IE9EYXRhUmVxdWVzdDxhbnk+KTogT0RhdGFSZXNwb25zZTxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBzY29wZSA9IHRoaXMuc2NvcGUocmVxKTtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5nZXQ8UmVzcG9uc2VKc29uPihyZXEuY2FjaGVLZXksIHsgc2NvcGUgfSk7XG5cbiAgICByZXR1cm4gZGF0YSAhPT0gdW5kZWZpbmVkID8gT0RhdGFSZXNwb25zZS5mcm9tSlNPTihyZXEsIGRhdGEpIDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
|
package/esm2020/lib/client.mjs
CHANGED
|
@@ -260,9 +260,9 @@ export class ODataClient {
|
|
|
260
260
|
return this.request('PUT', resource, addBody(options, body));
|
|
261
261
|
}
|
|
262
262
|
}
|
|
263
|
-
ODataClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
264
|
-
ODataClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
265
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
263
|
+
ODataClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ODataClient, deps: [{ token: i1.HttpClient }, { token: i2.ODataSettings }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
264
|
+
ODataClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ODataClient, providedIn: 'root' });
|
|
265
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: ODataClient, decorators: [{
|
|
266
266
|
type: Injectable,
|
|
267
267
|
args: [{
|
|
268
268
|
providedIn: 'root',
|
|
@@ -59,6 +59,7 @@ export const BINARY = 'binary';
|
|
|
59
59
|
export const BOUNDARY_PREFIX_SUFFIX = '--';
|
|
60
60
|
export const BATCH_PREFIX = 'batch_';
|
|
61
61
|
export const CHANGESET_PREFIX = 'changeset_';
|
|
62
|
+
export const DEFAULT_METADATA = 'minimal';
|
|
62
63
|
export const DEFAULT_STRIP_METADATA = 'full';
|
|
63
64
|
export const DEFAULT_FETCH_POLICY = 'network-only';
|
|
64
65
|
export const DEFAULT_TIMEOUT = 60; // Time in seconds
|
|
@@ -82,4 +83,4 @@ export const COMPUTED = /.*Computed$/;
|
|
|
82
83
|
export const OPTIMISTIC_CONCURRENCY = /.*OptimisticConcurrency$/;
|
|
83
84
|
export const DESCRIPTION = /.*Description$/;
|
|
84
85
|
export const LONG_DESCRIPTION = /.*LongDescription$/;
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDO0FBQ3pCLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUM7QUFFcEMsV0FBVztBQUNYLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQztBQUMvQixNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7QUFDL0IsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQztBQUMvQixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDO0FBQy9CLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUM7QUFFM0MsZUFBZTtBQUNmLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUM7QUFDMUMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsZUFBZSxDQUFDO0FBQ3BELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQztBQUM3QyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDO0FBQ2pDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7QUFDL0IsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQztBQUMvQixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ25D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QUFDO0FBQ2xDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztBQUN0QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUM7QUFFdEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQztBQUM5QixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztBQUV2QyxTQUFTO0FBQ1QsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQztBQUVyQyxzREFBc0Q7QUFDdEQsd0dBQXdHO0FBRXhHLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUM7QUFDdEMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsMEJBQTBCLENBQUM7QUFDakUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDO0FBQzVDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0ICRJRCA9ICckaWQnO1xuZXhwb3J0IGNvbnN0IE9EQVRBX0lEID0gJ0BvZGF0YS5pZCc7XG5cbi8vIFNFR01FTlRTXG5leHBvcnQgY29uc3QgJE1FVEFEQVRBID0gJyRtZXRhZGF0YSc7XG5leHBvcnQgY29uc3QgJEJBVENIID0gJyRiYXRjaCc7XG5leHBvcnQgY29uc3QgJFJFRiA9ICckcmVmJztcbmV4cG9ydCBjb25zdCAkVkFMVUUgPSAnJHZhbHVlJztcbmV4cG9ydCBjb25zdCAkQ09VTlQgPSAnJGNvdW50JztcbmV4cG9ydCBjb25zdCAkUVVFUlkgPSAnJHF1ZXJ5JztcbmV4cG9ydCBjb25zdCAkSU5MSU5FQ09VTlQgPSAnJGlubGluZWNvdW50JztcblxuLy8gSFRUUCBIRUFERVJTXG5leHBvcnQgY29uc3QgSUZfTUFUQ0hfSEVBREVSID0gJ0lmLU1hdGNoJztcbmV4cG9ydCBjb25zdCBJRl9OT05FX01BVENIX0hFQURFUiA9ICdJZi1Ob25lLU1hdGNoJztcbmV4cG9ydCBjb25zdCBDT05URU5UX1RZUEUgPSAnQ29udGVudC1UeXBlJztcbmV4cG9ydCBjb25zdCBDQUNIRV9DT05UUk9MID0gJ0NhY2hlLUNvbnRyb2wnO1xuZXhwb3J0IGNvbnN0IEhUVFAxMSA9ICdIVFRQLzEuMSc7XG5leHBvcnQgY29uc3QgQUNDRVBUID0gJ0FjY2VwdCc7XG5leHBvcnQgY29uc3QgUFJFRkVSID0gJ1ByZWZlcic7XG5leHBvcnQgY29uc3QgT0RBVEFfVkVSU0lPTiA9ICdPRGF0YS1WZXJzaW9uJztcbmV4cG9ydCBjb25zdCBPREFUQV9WRVJTSU9OX0hFQURFUlMgPSBbXG4gIE9EQVRBX1ZFUlNJT04sXG4gIE9EQVRBX1ZFUlNJT04udG9Mb3dlckNhc2UoKSxcbiAgJ2RhdGFzZXJ2aWNldmVyc2lvbicsXG5dO1xuZXhwb3J0IGNvbnN0IEVUQUdfSEVBREVSID0gJ0VUYWcnO1xuZXhwb3J0IGNvbnN0IEVUQUdfSEVBREVSUyA9IFtFVEFHX0hFQURFUiwgRVRBR19IRUFERVIudG9Mb3dlckNhc2UoKV07XG5leHBvcnQgY29uc3QgTE9DQVRJT05fSEVBREVSID0gJ0xvY2F0aW9uJztcbmV4cG9ydCBjb25zdCBMT0NBVElPTl9IRUFERVJTID0gW1xuICBMT0NBVElPTl9IRUFERVIsXG4gIExPQ0FUSU9OX0hFQURFUi50b0xvd2VyQ2FzZSgpLFxuXTtcbmV4cG9ydCBjb25zdCBPREFUQV9FTlRJVFlJRCA9ICdPRGF0YS1FbnRpdHlJZCc7XG5leHBvcnQgY29uc3QgT0RBVEFfRU5USVRZSURfSEVBREVSUyA9IFtcbiAgT0RBVEFfRU5USVRZSUQsXG4gIE9EQVRBX0VOVElUWUlELnRvTG93ZXJDYXNlKCksXG5dO1xuZXhwb3J0IGNvbnN0IFBSRUZFUkVOQ0VfQVBQTElFRCA9ICdQcmVmZXJlbmNlLUFwcGxpZWQnO1xuZXhwb3J0IGNvbnN0IFBSRUZFUkVOQ0VfQVBQTElFRF9IRUFERVJTID0gW1xuICBQUkVGRVJFTkNFX0FQUExJRUQsXG4gIFBSRUZFUkVOQ0VfQVBQTElFRC50b0xvd2VyQ2FzZSgpLFxuXTtcbmV4cG9ydCBjb25zdCBSRVRSWV9BRlRFUiA9ICdSZXRyeS1BZnRlcic7XG5leHBvcnQgY29uc3QgUkVUUllfQUZURVJfSEVBREVSUyA9IFtSRVRSWV9BRlRFUiwgUkVUUllfQUZURVIudG9Mb3dlckNhc2UoKV07XG5cbi8vIEhUVFAgSEVBREVSIFZBTFVFU1xuZXhwb3J0IGNvbnN0IEFQUExJQ0FUSU9OX0pTT04gPSAnYXBwbGljYXRpb24vanNvbic7XG5leHBvcnQgY29uc3QgQVBQTElDQVRJT05fSFRUUCA9ICdhcHBsaWNhdGlvbi9odHRwJztcbmV4cG9ydCBjb25zdCBURVhUX1BMQUlOID0gJ3RleHQvcGxhaW4nO1xuZXhwb3J0IGNvbnN0IE1VTFRJUEFSVF9NSVhFRCA9ICdtdWx0aXBhcnQvbWl4ZWQnO1xuZXhwb3J0IGNvbnN0IE1VTFRJUEFSVF9NSVhFRF9CT1VOREFSWSA9ICdtdWx0aXBhcnQvbWl4ZWQ7Ym91bmRhcnk9JztcbmV4cG9ydCBjb25zdCBDT05URU5UX1RSQU5TRkVSX0VOQ09ESU5HID0gJ0NvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmcnO1xuZXhwb3J0IGNvbnN0IENPTlRFTlRfSUQgPSAnQ29udGVudC1JRCc7XG5leHBvcnQgY29uc3QgTUFYX0FHRSA9ICdtYXgtYWdlJztcblxuLy8gVkVSU0lPTlNcbmV4cG9ydCBjb25zdCBWRVJTSU9OXzRfMCA9ICc0LjAnO1xuZXhwb3J0IGNvbnN0IFZFUlNJT05fM18wID0gJzMuMCc7XG5leHBvcnQgY29uc3QgVkVSU0lPTl8yXzAgPSAnMi4wJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX1ZFUlNJT04gPSBWRVJTSU9OXzRfMDtcblxuZXhwb3J0IGNvbnN0IEJJTkFSWSA9ICdiaW5hcnknO1xuZXhwb3J0IGNvbnN0IEJPVU5EQVJZX1BSRUZJWF9TVUZGSVggPSAnLS0nO1xuZXhwb3J0IGNvbnN0IEJBVENIX1BSRUZJWCA9ICdiYXRjaF8nO1xuZXhwb3J0IGNvbnN0IENIQU5HRVNFVF9QUkVGSVggPSAnY2hhbmdlc2V0Xyc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NRVRBREFUQSA9ICdtaW5pbWFsJztcbmV4cG9ydCBjb25zdCBERUZBVUxUX1NUUklQX01FVEFEQVRBID0gJ2Z1bGwnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRkVUQ0hfUE9MSUNZID0gJ25ldHdvcmstb25seSc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9USU1FT1VUID0gNjA7IC8vIFRpbWUgaW4gc2Vjb25kc1xuZXhwb3J0IGNvbnN0IENBTExBQkxFX0JJTkRJTkdfUEFSQU1FVEVSID0gJ2JpbmRpbmdQYXJhbWV0ZXInO1xuZXhwb3J0IGNvbnN0IFhTU0lfUFJFRklYID0gL15cXClcXF1cXH0nLD9cXG4vO1xuXG4vLyBVUkwgUEFSVFNcbmV4cG9ydCBjb25zdCBRVUVSWV9TRVBBUkFUT1IgPSAnPyc7XG5leHBvcnQgY29uc3QgUEFSQU1fU0VQQVJBVE9SID0gJyYnO1xuZXhwb3J0IGNvbnN0IFZBTFVFX1NFUEFSQVRPUiA9ICc9JztcbmV4cG9ydCBjb25zdCBQQVRIX1NFUEFSQVRPUiA9ICcvJztcbmV4cG9ydCBjb25zdCBPREFUQV9QQVJBTV9QUkVGSVggPSAnJCc7XG5leHBvcnQgY29uc3QgT0RBVEFfQUxJQVNfUFJFRklYID0gJ0AnO1xuXG5leHBvcnQgY29uc3QgTkVXTElORSA9ICdcXHJcXG4nO1xuZXhwb3J0IGNvbnN0IE5FV0xJTkVfUkVHRVhQID0gL1xccj9cXG4vO1xuZXhwb3J0IGNvbnN0IENBQ0hFX0tFWV9TRVBBUkFUT1IgPSAnOic7XG5cbi8vIE1vZGVsc1xuZXhwb3J0IGNvbnN0IENJRF9GSUVMRF9OQU1FID0gJ19jaWQnO1xuXG4vLyBTdGFuZGFyZCB2b2NhYnVsYXJpZXMgZm9yIGFubm90YXRpbmcgT0RhdGEgc2VydmljZXNcbi8vIGh0dHA6Ly9kb2NzLm9hc2lzLW9wZW4ub3JnL29kYXRhL29kYXRhLXZvY2FidWxhcmllcy92NC4wL2NzcHJkMDEvb2RhdGEtdm9jYWJ1bGFyaWVzLXY0LjAtY3NwcmQwMS5odG1sXG5cbmV4cG9ydCBjb25zdCBDT01QVVRFRCA9IC8uKkNvbXB1dGVkJC87XG5leHBvcnQgY29uc3QgT1BUSU1JU1RJQ19DT05DVVJSRU5DWSA9IC8uKk9wdGltaXN0aWNDb25jdXJyZW5jeSQvO1xuZXhwb3J0IGNvbnN0IERFU0NSSVBUSU9OID0gLy4qRGVzY3JpcHRpb24kLztcbmV4cG9ydCBjb25zdCBMT05HX0RFU0NSSVBUSU9OID0gLy4qTG9uZ0Rlc2NyaXB0aW9uJC87XG4iXX0=
|