@effect-app/infra 4.0.0-beta.247 → 4.0.0-beta.249
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 +24 -0
- package/dist/ContextProvider.d.ts +34 -0
- package/dist/ContextProvider.d.ts.map +1 -0
- package/dist/ContextProvider.js +40 -0
- package/dist/Emailer/Sendgrid.d.ts +109 -145
- package/dist/Emailer/Sendgrid.d.ts.map +1 -1
- package/dist/Emailer/Sendgrid.js +4 -3
- package/dist/Emailer/fake.d.ts +2 -2
- package/dist/Emailer/fake.d.ts.map +1 -1
- package/dist/Emailer/fake.js +2 -2
- package/dist/QueueMaker/SQLQueue.d.ts +2 -2
- package/dist/QueueMaker/SQLQueue.d.ts.map +1 -1
- package/dist/QueueMaker/SQLQueue.js +4 -4
- package/dist/QueueMaker/memQueue.d.ts +2 -2
- package/dist/QueueMaker/memQueue.d.ts.map +1 -1
- package/dist/QueueMaker/memQueue.js +4 -4
- package/dist/QueueMaker/sbqueue.d.ts +2 -2
- package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/QueueMaker/sbqueue.js +4 -4
- package/dist/RequestFiberSet.js +2 -2
- package/dist/{adapters/SQL → SQL}/Model.d.ts +2 -2
- package/dist/SQL/Model.d.ts.map +1 -0
- package/dist/SQL/Model.js +469 -0
- package/dist/{adapters/SQL.d.ts → SQL.d.ts} +1 -1
- package/dist/SQL.d.ts.map +1 -0
- package/dist/{adapters/SQL.js → SQL.js} +1 -1
- package/dist/{adapters/ServiceBus.d.ts → ServiceBus.d.ts} +1 -1
- package/dist/ServiceBus.d.ts.map +1 -0
- package/dist/ServiceBus.js +108 -0
- package/dist/Store/ContextMapContainer.d.ts +2 -2
- package/dist/Store/ContextMapContainer.d.ts.map +1 -1
- package/dist/Store/ContextMapContainer.js +2 -2
- package/dist/Store/Cosmos/query.d.ts +4 -4
- package/dist/Store/Cosmos/query.d.ts.map +1 -1
- package/dist/Store/Cosmos/query.js +1 -1
- package/dist/Store/Cosmos.d.ts +2 -2
- package/dist/Store/Cosmos.d.ts.map +1 -1
- package/dist/Store/Cosmos.js +3 -3
- package/dist/Store/Disk.d.ts +3 -3
- package/dist/Store/Disk.d.ts.map +1 -1
- package/dist/Store/Disk.js +2 -2
- package/dist/Store/Memory.d.ts +3 -3
- package/dist/Store/Memory.d.ts.map +1 -1
- package/dist/Store/Memory.js +2 -2
- package/dist/Store/SQL/Pg.d.ts +2 -2
- package/dist/Store/SQL/Pg.d.ts.map +1 -1
- package/dist/Store/SQL/Pg.js +2 -2
- package/dist/Store/SQL/query.d.ts +3 -3
- package/dist/Store/SQL/query.d.ts.map +1 -1
- package/dist/Store/SQL/query.js +1 -1
- package/dist/Store/SQL.d.ts +3 -3
- package/dist/Store/SQL.d.ts.map +1 -1
- package/dist/Store/SQL.js +2 -2
- package/dist/Store/codeFilter.d.ts +4 -4
- package/dist/Store/codeFilter.d.ts.map +1 -1
- package/dist/Store/codeFilter.js +1 -1
- package/dist/Store/index.d.ts +3 -4
- package/dist/Store/index.d.ts.map +1 -1
- package/dist/Store/index.js +2 -3
- package/dist/Store/utils.d.ts +2 -2
- package/dist/Store/utils.d.ts.map +1 -1
- package/dist/Store/utils.js +1 -1
- package/dist/{api/codec.d.ts → codec.d.ts} +1 -1
- package/dist/codec.d.ts.map +1 -0
- package/dist/codec.js +5 -0
- package/dist/{adapters/cosmos-client.d.ts → cosmos-client.d.ts} +1 -1
- package/dist/cosmos-client.d.ts.map +1 -0
- package/dist/cosmos-client.js +11 -0
- package/dist/errorReporter.d.ts +1 -1
- package/dist/errorReporter.d.ts.map +1 -1
- package/dist/errorReporter.js +2 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/{api/internal → internal}/RequestContextMiddleware.d.ts +2 -2
- package/dist/internal/RequestContextMiddleware.d.ts.map +1 -0
- package/dist/internal/RequestContextMiddleware.js +46 -0
- package/dist/{api/internal → internal}/auth.d.ts +1 -1
- package/dist/internal/auth.d.ts.map +1 -0
- package/dist/internal/auth.js +180 -0
- package/dist/{api/internal → internal}/events.d.ts +1 -1
- package/dist/internal/events.d.ts.map +1 -0
- package/dist/internal/events.js +49 -0
- package/dist/{api/internal → internal}/health.d.ts +1 -1
- package/dist/internal/health.d.ts.map +1 -0
- package/dist/internal/health.js +5 -0
- package/dist/layerUtils.d.ts +32 -0
- package/dist/layerUtils.d.ts.map +1 -0
- package/dist/layerUtils.js +17 -0
- package/dist/logger/jsonLogger.d.ts +1 -1
- package/dist/logger/jsonLogger.d.ts.map +1 -1
- package/dist/logger/jsonLogger.js +2 -2
- package/dist/logger/logFmtLogger.d.ts +1 -1
- package/dist/logger/logFmtLogger.d.ts.map +1 -1
- package/dist/logger/logFmtLogger.js +2 -2
- package/dist/logger/shared.d.ts +2 -2
- package/dist/logger/shared.d.ts.map +1 -1
- package/dist/logger/shared.js +2 -2
- package/dist/logger.d.ts +1 -1
- package/dist/{adapters/memQueue.d.ts → memQueue.d.ts} +1 -1
- package/dist/memQueue.d.ts.map +1 -0
- package/dist/memQueue.js +21 -0
- package/dist/{api/middlewares.d.ts → middlewares.d.ts} +1 -1
- package/dist/middlewares.d.ts.map +1 -0
- package/dist/{api/middlewares.js → middlewares.js} +1 -1
- package/dist/{adapters/mongo-client.d.ts → mongo-client.d.ts} +1 -1
- package/dist/mongo-client.d.ts.map +1 -0
- package/dist/mongo-client.js +15 -0
- package/dist/{adapters/redis-client.d.ts → redis-client.d.ts} +1 -1
- package/dist/redis-client.d.ts.map +1 -0
- package/dist/redis-client.js +98 -0
- package/dist/reportError.d.ts +4 -0
- package/dist/reportError.d.ts.map +1 -0
- package/dist/reportError.js +28 -0
- package/dist/{api/routing → routing}/middleware/RouterMiddleware.d.ts +1 -1
- package/dist/routing/middleware/RouterMiddleware.d.ts.map +1 -0
- package/dist/{api/routing → routing}/middleware/RouterMiddleware.js +1 -1
- package/dist/{api/routing → routing}/middleware/middleware.d.ts +2 -2
- package/dist/routing/middleware/middleware.d.ts.map +1 -0
- package/dist/routing/middleware/middleware.js +128 -0
- package/dist/{api/routing → routing}/middleware.d.ts +1 -1
- package/dist/routing/middleware.d.ts.map +1 -0
- package/dist/{api/routing → routing}/middleware.js +1 -1
- package/dist/{api/routing → routing}/schema/jwt.d.ts +1 -1
- package/dist/routing/schema/jwt.d.ts.map +1 -0
- package/dist/routing/schema/jwt.js +13 -0
- package/dist/routing/tsort.d.ts +8 -0
- package/dist/routing/tsort.d.ts.map +1 -0
- package/dist/routing/tsort.js +51 -0
- package/dist/{api/routing → routing}/utils.d.ts +1 -1
- package/dist/routing/utils.d.ts.map +1 -0
- package/dist/routing/utils.js +45 -0
- package/dist/routing.d.ts +184 -0
- package/dist/routing.d.ts.map +1 -0
- package/dist/{api/routing.js → routing.js} +1 -1
- package/dist/{api/setupRequest.d.ts → setupRequest.d.ts} +2 -2
- package/dist/setupRequest.d.ts.map +1 -0
- package/dist/setupRequest.js +70 -0
- package/dist/{api/util.d.ts → util.d.ts} +1 -1
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +14 -0
- package/examples/query.ts +2 -2
- package/package.json +84 -200
- package/src/Emailer/Sendgrid.ts +20 -5
- package/src/Emailer/fake.ts +1 -1
- package/src/QueueMaker/SQLQueue.ts +3 -3
- package/src/QueueMaker/memQueue.ts +3 -3
- package/src/QueueMaker/sbqueue.ts +3 -3
- package/src/RequestFiberSet.ts +1 -1
- package/src/{adapters/SQL → SQL}/Model.ts +1 -1
- package/src/{adapters/ServiceBus.ts → ServiceBus.ts} +1 -1
- package/src/Store/ContextMapContainer.ts +1 -1
- package/src/Store/Cosmos/query.ts +3 -3
- package/src/Store/Cosmos.ts +4 -4
- package/src/Store/Disk.ts +2 -2
- package/src/Store/Memory.ts +4 -4
- package/src/Store/SQL/Pg.ts +3 -3
- package/src/Store/SQL/query.ts +2 -2
- package/src/Store/SQL.ts +3 -3
- package/src/Store/codeFilter.ts +3 -3
- package/src/Store/index.ts +2 -4
- package/src/Store/utils.ts +1 -1
- package/src/errorReporter.ts +1 -1
- package/src/index.ts +2 -1
- package/src/{api/internal → internal}/RequestContextMiddleware.ts +3 -3
- package/src/{api/internal → internal}/events.ts +2 -2
- package/src/{api/layerUtils.ts → layerUtils.ts} +1 -1
- package/src/logger/jsonLogger.ts +1 -1
- package/src/logger/logFmtLogger.ts +1 -1
- package/src/logger/shared.ts +1 -1
- package/src/{adapters/redis-client.ts → redis-client.ts} +1 -1
- package/src/{api/reportError.ts → reportError.ts} +1 -1
- package/src/{api/routing → routing}/middleware/middleware.ts +4 -4
- package/src/{api/routing.ts → routing.ts} +13 -13
- package/src/{api/setupRequest.ts → setupRequest.ts} +3 -3
- package/test/auth.test.ts +1 -1
- package/test/contextProvider.test.ts +1 -1
- package/test/controller.test.ts +3 -3
- package/test/cosmos-query.test.ts +1 -1
- package/test/dist/controller.test.d.ts.map +1 -1
- package/test/dist/query.test.d.ts.map +1 -1
- package/test/dist/rawQuery.test.d.ts.map +1 -1
- package/test/layerUtils.test.ts +1 -1
- package/test/query.test.ts +4 -4
- package/test/rawQuery.test.ts +4 -4
- package/test/repository-ext.test.ts +3 -3
- package/test/router-generator.test.ts +3 -3
- package/test/routing-interruptibility.test.ts +2 -2
- package/test/rpc-context-map-streaming.test.ts +3 -3
- package/test/rpc-e2e-invalidation.test.ts +2 -2
- package/test/rpc-multi-middleware.test.ts +1 -1
- package/test/rpc-stream-fullstack.test.ts +2 -2
- package/test/validateSample.test.ts +3 -3
- package/dist/Emailer/service.d.ts +0 -64
- package/dist/Emailer/service.d.ts.map +0 -1
- package/dist/Emailer/service.js +0 -7
- package/dist/Emailer.d.ts +0 -2
- package/dist/Emailer.d.ts.map +0 -1
- package/dist/Emailer.js +0 -2
- package/dist/Model/Repository/Registry.d.ts +0 -21
- package/dist/Model/Repository/Registry.d.ts.map +0 -1
- package/dist/Model/Repository/Registry.js +0 -18
- package/dist/Model/Repository/ext.d.ts +0 -60
- package/dist/Model/Repository/ext.d.ts.map +0 -1
- package/dist/Model/Repository/ext.js +0 -122
- package/dist/Model/Repository/internal/internal.d.ts +0 -62
- package/dist/Model/Repository/internal/internal.d.ts.map +0 -1
- package/dist/Model/Repository/internal/internal.js +0 -398
- package/dist/Model/Repository/legacy.d.ts +0 -21
- package/dist/Model/Repository/legacy.d.ts.map +0 -1
- package/dist/Model/Repository/legacy.js +0 -2
- package/dist/Model/Repository/makeRepo.d.ts +0 -53
- package/dist/Model/Repository/makeRepo.d.ts.map +0 -1
- package/dist/Model/Repository/makeRepo.js +0 -27
- package/dist/Model/Repository/service.d.ts +0 -97
- package/dist/Model/Repository/service.d.ts.map +0 -1
- package/dist/Model/Repository/service.js +0 -2
- package/dist/Model/Repository/validation.d.ts +0 -71
- package/dist/Model/Repository/validation.d.ts.map +0 -1
- package/dist/Model/Repository/validation.js +0 -32
- package/dist/Model/Repository.d.ts +0 -7
- package/dist/Model/Repository.d.ts.map +0 -1
- package/dist/Model/Repository.js +0 -7
- package/dist/Model/dsl.d.ts +0 -33
- package/dist/Model/dsl.d.ts.map +0 -1
- package/dist/Model/dsl.js +0 -43
- package/dist/Model/filter/filterApi.d.ts +0 -30
- package/dist/Model/filter/filterApi.d.ts.map +0 -1
- package/dist/Model/filter/filterApi.js +0 -2
- package/dist/Model/filter/types/errors.d.ts +0 -29
- package/dist/Model/filter/types/errors.d.ts.map +0 -1
- package/dist/Model/filter/types/errors.js +0 -2
- package/dist/Model/filter/types/fields.d.ts +0 -15
- package/dist/Model/filter/types/fields.d.ts.map +0 -1
- package/dist/Model/filter/types/fields.js +0 -2
- package/dist/Model/filter/types/path/common.d.ts +0 -316
- package/dist/Model/filter/types/path/common.d.ts.map +0 -1
- package/dist/Model/filter/types/path/common.js +0 -2
- package/dist/Model/filter/types/path/eager.d.ts +0 -95
- package/dist/Model/filter/types/path/eager.d.ts.map +0 -1
- package/dist/Model/filter/types/path/eager.js +0 -31
- package/dist/Model/filter/types/path/index.d.ts +0 -4
- package/dist/Model/filter/types/path/index.d.ts.map +0 -1
- package/dist/Model/filter/types/path/index.js +0 -3
- package/dist/Model/filter/types/utils.d.ts +0 -79
- package/dist/Model/filter/types/utils.d.ts.map +0 -1
- package/dist/Model/filter/types/utils.js +0 -2
- package/dist/Model/filter/types/validator.d.ts +0 -30
- package/dist/Model/filter/types/validator.d.ts.map +0 -1
- package/dist/Model/filter/types/validator.js +0 -2
- package/dist/Model/filter/types.d.ts +0 -5
- package/dist/Model/filter/types.d.ts.map +0 -1
- package/dist/Model/filter/types.js +0 -7
- package/dist/Model/query/dsl.d.ts +0 -446
- package/dist/Model/query/dsl.d.ts.map +0 -1
- package/dist/Model/query/dsl.js +0 -339
- package/dist/Model/query/new-kid-interpreter.d.ts +0 -136
- package/dist/Model/query/new-kid-interpreter.d.ts.map +0 -1
- package/dist/Model/query/new-kid-interpreter.js +0 -336
- package/dist/Model/query.d.ts +0 -15
- package/dist/Model/query.d.ts.map +0 -1
- package/dist/Model/query.js +0 -3
- package/dist/Model.d.ts +0 -5
- package/dist/Model.d.ts.map +0 -1
- package/dist/Model.js +0 -5
- package/dist/QueueMaker/service.d.ts +0 -13
- package/dist/QueueMaker/service.d.ts.map +0 -1
- package/dist/QueueMaker/service.js +0 -4
- package/dist/RequestContext.d.ts +0 -103
- package/dist/RequestContext.d.ts.map +0 -1
- package/dist/RequestContext.js +0 -49
- package/dist/Store/service.d.ts +0 -138
- package/dist/Store/service.d.ts.map +0 -1
- package/dist/Store/service.js +0 -95
- package/dist/Store.d.ts +0 -2
- package/dist/Store.d.ts.map +0 -1
- package/dist/Store.js +0 -2
- package/dist/adapters/SQL/Model.d.ts.map +0 -1
- package/dist/adapters/SQL/Model.js +0 -469
- package/dist/adapters/SQL.d.ts.map +0 -1
- package/dist/adapters/ServiceBus.d.ts.map +0 -1
- package/dist/adapters/ServiceBus.js +0 -108
- package/dist/adapters/cosmos-client.d.ts.map +0 -1
- package/dist/adapters/cosmos-client.js +0 -11
- package/dist/adapters/index.d.ts +0 -8
- package/dist/adapters/index.d.ts.map +0 -1
- package/dist/adapters/index.js +0 -8
- package/dist/adapters/logger.d.ts +0 -9
- package/dist/adapters/logger.d.ts.map +0 -1
- package/dist/adapters/logger.js +0 -3
- package/dist/adapters/memQueue.d.ts.map +0 -1
- package/dist/adapters/memQueue.js +0 -21
- package/dist/adapters/mongo-client.d.ts.map +0 -1
- package/dist/adapters/mongo-client.js +0 -15
- package/dist/adapters/redis-client.d.ts.map +0 -1
- package/dist/adapters/redis-client.js +0 -98
- package/dist/api/ContextProvider.d.ts +0 -34
- package/dist/api/ContextProvider.d.ts.map +0 -1
- package/dist/api/ContextProvider.js +0 -40
- package/dist/api/codec.d.ts.map +0 -1
- package/dist/api/codec.js +0 -5
- package/dist/api/internal/RequestContextMiddleware.d.ts.map +0 -1
- package/dist/api/internal/RequestContextMiddleware.js +0 -46
- package/dist/api/internal/auth.d.ts.map +0 -1
- package/dist/api/internal/auth.js +0 -180
- package/dist/api/internal/events.d.ts.map +0 -1
- package/dist/api/internal/events.js +0 -49
- package/dist/api/internal/health.d.ts.map +0 -1
- package/dist/api/internal/health.js +0 -5
- package/dist/api/layerUtils.d.ts +0 -32
- package/dist/api/layerUtils.d.ts.map +0 -1
- package/dist/api/layerUtils.js +0 -17
- package/dist/api/middlewares.d.ts.map +0 -1
- package/dist/api/reportError.d.ts +0 -4
- package/dist/api/reportError.d.ts.map +0 -1
- package/dist/api/reportError.js +0 -28
- package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +0 -1
- package/dist/api/routing/middleware/middleware.d.ts.map +0 -1
- package/dist/api/routing/middleware/middleware.js +0 -128
- package/dist/api/routing/middleware.d.ts.map +0 -1
- package/dist/api/routing/schema/jwt.d.ts.map +0 -1
- package/dist/api/routing/schema/jwt.js +0 -13
- package/dist/api/routing/tsort.d.ts +0 -8
- package/dist/api/routing/tsort.d.ts.map +0 -1
- package/dist/api/routing/tsort.js +0 -51
- package/dist/api/routing/utils.d.ts.map +0 -1
- package/dist/api/routing/utils.js +0 -45
- package/dist/api/routing.d.ts +0 -184
- package/dist/api/routing.d.ts.map +0 -1
- package/dist/api/setupRequest.d.ts.map +0 -1
- package/dist/api/setupRequest.js +0 -70
- package/dist/api/util.d.ts.map +0 -1
- package/dist/api/util.js +0 -14
- package/src/Emailer/service.ts +0 -62
- package/src/Emailer.ts +0 -1
- package/src/Model/Repository/Registry.ts +0 -34
- package/src/Model/Repository/ext.ts +0 -375
- package/src/Model/Repository/internal/internal.ts +0 -692
- package/src/Model/Repository/legacy.ts +0 -29
- package/src/Model/Repository/makeRepo.ts +0 -144
- package/src/Model/Repository/service.ts +0 -639
- package/src/Model/Repository/validation.ts +0 -31
- package/src/Model/Repository.ts +0 -6
- package/src/Model/dsl.ts +0 -129
- package/src/Model/filter/filterApi.ts +0 -60
- package/src/Model/filter/types/errors.ts +0 -47
- package/src/Model/filter/types/fields.ts +0 -50
- package/src/Model/filter/types/path/common.ts +0 -404
- package/src/Model/filter/types/path/eager.ts +0 -297
- package/src/Model/filter/types/path/index.ts +0 -4
- package/src/Model/filter/types/utils.ts +0 -128
- package/src/Model/filter/types/validator.ts +0 -46
- package/src/Model/filter/types.ts +0 -6
- package/src/Model/query/dsl.ts +0 -2546
- package/src/Model/query/new-kid-interpreter.ts +0 -484
- package/src/Model/query.ts +0 -13
- package/src/Model.ts +0 -4
- package/src/QueueMaker/service.ts +0 -19
- package/src/RequestContext.ts +0 -62
- package/src/Store/service.ts +0 -233
- package/src/Store.ts +0 -1
- package/src/adapters/index.ts +0 -7
- package/src/adapters/logger.ts +0 -3
- /package/src/{api/ContextProvider.ts → ContextProvider.ts} +0 -0
- /package/src/{adapters/SQL.ts → SQL.ts} +0 -0
- /package/src/{api/codec.ts → codec.ts} +0 -0
- /package/src/{adapters/cosmos-client.ts → cosmos-client.ts} +0 -0
- /package/src/{api/internal → internal}/auth.ts +0 -0
- /package/src/{api/internal → internal}/health.ts +0 -0
- /package/src/{adapters/memQueue.ts → memQueue.ts} +0 -0
- /package/src/{api/middlewares.ts → middlewares.ts} +0 -0
- /package/src/{adapters/mongo-client.ts → mongo-client.ts} +0 -0
- /package/src/{api/routing → routing}/middleware/RouterMiddleware.ts +0 -0
- /package/src/{api/routing → routing}/middleware.ts +0 -0
- /package/src/{api/routing → routing}/schema/jwt.ts +0 -0
- /package/src/{api/routing → routing}/tsort.ts +0 -0
- /package/src/{api/routing → routing}/utils.ts +0 -0
- /package/src/{api/util.ts → util.ts} +0 -0
|
@@ -1,446 +0,0 @@
|
|
|
1
|
-
import type * as Option from "effect-app/Option";
|
|
2
|
-
import type * as S from "effect-app/Schema";
|
|
3
|
-
import type { NonNegativeInt } from "effect-app/Schema";
|
|
4
|
-
import * as Pipeable from "effect/Pipeable";
|
|
5
|
-
import type { Covariant } from "effect/Types";
|
|
6
|
-
import type { Ops } from "../filter/filterApi.js";
|
|
7
|
-
import type { FieldValues } from "../filter/types.js";
|
|
8
|
-
import type { FieldPath, FieldPathValue, RefineFieldPathValue } from "../filter/types/path/eager.js";
|
|
9
|
-
export type QAll<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, A = TFieldValues, R = never, TType extends "one" | "many" = "many", Exclusive extends boolean = false> = Query<TFieldValues> | QueryWhere<TFieldValues, TFieldValuesRefined, Exclusive> | QueryEnd<TFieldValues, TType, Exclusive> | QueryProjection<TFieldValues, A, R, TType, Exclusive>;
|
|
10
|
-
export declare const QId: unique symbol;
|
|
11
|
-
export type QId = typeof QId;
|
|
12
|
-
export interface QueryTogether<out TFieldValues extends FieldValues, out TFieldValuesRefined extends TFieldValues = TFieldValues, out Exclusive extends boolean = false, out T extends "initial" | "where" | "end" | "projection" = "initial", out A = TFieldValues, out R = never, out TType extends "many" | "one" | "count" = "many"> extends Pipeable.Pipeable {
|
|
13
|
-
readonly [QId]: {
|
|
14
|
-
readonly _TFieldValues: Covariant<TFieldValues>;
|
|
15
|
-
readonly _T: Covariant<T>;
|
|
16
|
-
readonly _TFieldValuesRefined: Covariant<TFieldValuesRefined>;
|
|
17
|
-
readonly _A: Covariant<A>;
|
|
18
|
-
readonly _R: Covariant<R>;
|
|
19
|
-
readonly _TT: Covariant<TType>;
|
|
20
|
-
readonly _Exclusive: Covariant<Exclusive>;
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
type ExtractTType<T> = T extends QueryTogether<any, any, any, any, any, any, infer TType> ? TType : never;
|
|
24
|
-
type ExtractExclusiveness<T> = T extends QueryTogether<any, any, infer Exclusive extends boolean, any, any, any, any> ? Exclusive : never;
|
|
25
|
-
type ExtractFieldValuesRefined<T> = T extends QueryTogether<any, infer TFieldValuesRefined, any, any, any, any, any> ? TFieldValuesRefined : never;
|
|
26
|
-
export type RelationDirection = "some" | "every";
|
|
27
|
-
export type Relation = {
|
|
28
|
-
relation: RelationDirection;
|
|
29
|
-
};
|
|
30
|
-
export type Query<TFieldValues extends FieldValues> = QueryTogether<TFieldValues, TFieldValues>;
|
|
31
|
-
export type QueryWhere<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, Exclusive extends boolean = false> = QueryTogether<TFieldValues, TFieldValuesRefined, Exclusive, "where"> & Relation;
|
|
32
|
-
export type QueryEnd<TFieldValues extends FieldValues, TType extends "many" | "one" | "count" = "many", Exclusive extends boolean = false> = QueryTogether<TFieldValues, TFieldValues, Exclusive, "end", TFieldValues, never, TType>;
|
|
33
|
-
export type QueryProjection<TFieldValues extends FieldValues, A = TFieldValues, R = never, TType extends "many" | "one" | "count" = "many", Exclusive extends boolean = false> = QueryTogether<TFieldValues, TFieldValues, Exclusive, "projection", A, R, TType>;
|
|
34
|
-
export type ComputedProjectionOperation = (q: Query<any>) => QueryWhere<any, any, any>;
|
|
35
|
-
export type ComputedProjectionMathExpression = {
|
|
36
|
-
readonly _tag: "field";
|
|
37
|
-
readonly field: string;
|
|
38
|
-
} | {
|
|
39
|
-
readonly _tag: "mul";
|
|
40
|
-
readonly left: ComputedProjectionMathExpression;
|
|
41
|
-
readonly right: ComputedProjectionMathExpression;
|
|
42
|
-
};
|
|
43
|
-
export type ComputedProjectionExpression = {
|
|
44
|
-
readonly _tag: "relation-count";
|
|
45
|
-
readonly path: string;
|
|
46
|
-
readonly operation?: ComputedProjectionOperation;
|
|
47
|
-
} | {
|
|
48
|
-
readonly _tag: "relation-any";
|
|
49
|
-
readonly path: string;
|
|
50
|
-
readonly operation?: ComputedProjectionOperation;
|
|
51
|
-
} | {
|
|
52
|
-
readonly _tag: "relation-every";
|
|
53
|
-
readonly path: string;
|
|
54
|
-
readonly operation: ComputedProjectionOperation;
|
|
55
|
-
} | {
|
|
56
|
-
readonly _tag: "relation-distinct-count";
|
|
57
|
-
readonly path: string;
|
|
58
|
-
readonly field: string;
|
|
59
|
-
readonly operation?: ComputedProjectionOperation;
|
|
60
|
-
} | {
|
|
61
|
-
readonly _tag: "relation-sum";
|
|
62
|
-
readonly path: string;
|
|
63
|
-
readonly field: string;
|
|
64
|
-
readonly operation?: ComputedProjectionOperation;
|
|
65
|
-
} | {
|
|
66
|
-
readonly _tag: "relation-sum-expr";
|
|
67
|
-
readonly path: string;
|
|
68
|
-
readonly expression: ComputedProjectionMathExpression;
|
|
69
|
-
readonly operation?: ComputedProjectionOperation;
|
|
70
|
-
} | {
|
|
71
|
-
readonly _tag: "relation-sum-expr-by";
|
|
72
|
-
readonly path: string;
|
|
73
|
-
readonly expression: ComputedProjectionMathExpression;
|
|
74
|
-
readonly unit: string;
|
|
75
|
-
readonly operation?: ComputedProjectionOperation;
|
|
76
|
-
} | {
|
|
77
|
-
readonly _tag: "relation-sum-expr-normalized";
|
|
78
|
-
readonly path: string;
|
|
79
|
-
readonly expression: ComputedProjectionMathExpression;
|
|
80
|
-
readonly unit: string;
|
|
81
|
-
readonly toBase: string;
|
|
82
|
-
readonly factors: Readonly<Record<string, number>>;
|
|
83
|
-
readonly operation?: ComputedProjectionOperation;
|
|
84
|
-
} | {
|
|
85
|
-
readonly _tag: "relation-collect";
|
|
86
|
-
readonly path: string;
|
|
87
|
-
readonly field: string;
|
|
88
|
-
readonly distinct: boolean;
|
|
89
|
-
readonly operation?: ComputedProjectionOperation;
|
|
90
|
-
} | {
|
|
91
|
-
readonly _tag: "relation-collect-fields";
|
|
92
|
-
readonly path: string;
|
|
93
|
-
readonly fields: readonly string[];
|
|
94
|
-
readonly distinct: boolean;
|
|
95
|
-
readonly operation?: ComputedProjectionOperation;
|
|
96
|
-
} | {
|
|
97
|
-
readonly _tag: "relation-length";
|
|
98
|
-
readonly path: string;
|
|
99
|
-
};
|
|
100
|
-
/**
|
|
101
|
-
* An expression that aggregates values across documents (for use with {@link aggregate}).
|
|
102
|
-
* `agg-field` references a document field to group by; other tags are aggregate functions.
|
|
103
|
-
*/
|
|
104
|
-
export type AggregateExpression = {
|
|
105
|
-
readonly _tag: "agg-field";
|
|
106
|
-
readonly path: string;
|
|
107
|
-
} | {
|
|
108
|
-
readonly _tag: "agg-count";
|
|
109
|
-
} | {
|
|
110
|
-
readonly _tag: "agg-count-when";
|
|
111
|
-
readonly operation: ComputedProjectionOperation;
|
|
112
|
-
} | {
|
|
113
|
-
readonly _tag: "agg-sum";
|
|
114
|
-
readonly field: string;
|
|
115
|
-
} | {
|
|
116
|
-
readonly _tag: "agg-min";
|
|
117
|
-
readonly field: string;
|
|
118
|
-
} | {
|
|
119
|
-
readonly _tag: "agg-max";
|
|
120
|
-
readonly field: string;
|
|
121
|
-
};
|
|
122
|
-
export type AggregateMap = Readonly<Record<string, AggregateExpression>>;
|
|
123
|
-
export type ComputedProjectionMap = Readonly<Record<string, ComputedProjectionExpression>>;
|
|
124
|
-
export type Q<TFieldValues extends FieldValues> = Initial<TFieldValues> | Where<TFieldValues> | And<TFieldValues> | Or<TFieldValues> | Order<TFieldValues, any> | Page<TFieldValues> | Project<any, TFieldValues, any> | One<TFieldValues> | Count<TFieldValues>;
|
|
125
|
-
declare const Initial_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
|
|
126
|
-
readonly _tag: "value";
|
|
127
|
-
} & Pipeable.Pipeable;
|
|
128
|
-
export declare class Initial<TFieldValues extends FieldValues> extends Initial_base<{
|
|
129
|
-
value: "initial";
|
|
130
|
-
}> implements Query<TFieldValues> {
|
|
131
|
-
readonly [QId]: any;
|
|
132
|
-
constructor();
|
|
133
|
-
pipe(): unknown;
|
|
134
|
-
}
|
|
135
|
-
declare const Where_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
|
|
136
|
-
readonly _tag: "where";
|
|
137
|
-
} & Pipeable.Pipeable;
|
|
138
|
-
export declare class Where<TFieldValues extends FieldValues> extends Where_base<{
|
|
139
|
-
current: Query<TFieldValues>;
|
|
140
|
-
operation: [string, Ops, any] | [string, any] | ((q: Query<TFieldValues>) => QueryWhere<TFieldValues>);
|
|
141
|
-
relation: RelationDirection;
|
|
142
|
-
subPath?: string;
|
|
143
|
-
}> implements QueryWhere<TFieldValues> {
|
|
144
|
-
readonly [QId]: any;
|
|
145
|
-
pipe(): unknown;
|
|
146
|
-
}
|
|
147
|
-
declare const And_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
|
|
148
|
-
readonly _tag: "and";
|
|
149
|
-
} & Pipeable.Pipeable;
|
|
150
|
-
export declare class And<TFieldValues extends FieldValues> extends And_base<{
|
|
151
|
-
current: Query<TFieldValues>;
|
|
152
|
-
operation: [string, Ops, any] | [string, any] | ((q: Query<TFieldValues>) => QueryWhere<TFieldValues>);
|
|
153
|
-
relation: RelationDirection;
|
|
154
|
-
}> implements QueryWhere<TFieldValues> {
|
|
155
|
-
readonly [QId]: any;
|
|
156
|
-
pipe(): unknown;
|
|
157
|
-
}
|
|
158
|
-
declare const Or_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
|
|
159
|
-
readonly _tag: "or";
|
|
160
|
-
} & Pipeable.Pipeable;
|
|
161
|
-
export declare class Or<TFieldValues extends FieldValues> extends Or_base<{
|
|
162
|
-
current: Query<TFieldValues>;
|
|
163
|
-
operation: [string, Ops, any] | [string, any] | ((q: Query<TFieldValues>) => QueryWhere<TFieldValues>);
|
|
164
|
-
relation: RelationDirection;
|
|
165
|
-
}> implements QueryWhere<TFieldValues> {
|
|
166
|
-
readonly [QId]: any;
|
|
167
|
-
pipe(): unknown;
|
|
168
|
-
}
|
|
169
|
-
declare const Page_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
|
|
170
|
-
readonly _tag: "page";
|
|
171
|
-
} & Pipeable.Pipeable;
|
|
172
|
-
export declare class Page<TFieldValues extends FieldValues> extends Page_base<{
|
|
173
|
-
current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues>;
|
|
174
|
-
take?: number | undefined;
|
|
175
|
-
skip?: number | undefined;
|
|
176
|
-
}> implements QueryEnd<TFieldValues> {
|
|
177
|
-
readonly [QId]: any;
|
|
178
|
-
pipe(): unknown;
|
|
179
|
-
}
|
|
180
|
-
declare const One_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
|
|
181
|
-
readonly _tag: "one";
|
|
182
|
-
} & Pipeable.Pipeable;
|
|
183
|
-
export declare class One<TFieldValues extends FieldValues> extends One_base<{
|
|
184
|
-
current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues>;
|
|
185
|
-
}> implements QueryEnd<TFieldValues, "one"> {
|
|
186
|
-
readonly [QId]: any;
|
|
187
|
-
pipe(): unknown;
|
|
188
|
-
}
|
|
189
|
-
declare const Count_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
|
|
190
|
-
readonly _tag: "count";
|
|
191
|
-
} & Pipeable.Pipeable;
|
|
192
|
-
export declare class Count<TFieldValues extends FieldValues> extends Count_base<{
|
|
193
|
-
current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues>;
|
|
194
|
-
}> implements QueryEnd<TFieldValues, "count"> {
|
|
195
|
-
readonly [QId]: any;
|
|
196
|
-
pipe(): unknown;
|
|
197
|
-
}
|
|
198
|
-
declare const Order_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
|
|
199
|
-
readonly _tag: "order";
|
|
200
|
-
} & Pipeable.Pipeable;
|
|
201
|
-
export declare class Order<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>> extends Order_base<{
|
|
202
|
-
current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues>;
|
|
203
|
-
field: TFieldName;
|
|
204
|
-
direction: "ASC" | "DESC";
|
|
205
|
-
}> implements QueryEnd<TFieldValues> {
|
|
206
|
-
readonly [QId]: any;
|
|
207
|
-
pipe(): unknown;
|
|
208
|
-
}
|
|
209
|
-
declare const Project_base: new <A_1 extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A_1 as P extends "_tag" ? never : P]: A_1[P]; }>) => Readonly<A_1> & {
|
|
210
|
-
readonly _tag: "project";
|
|
211
|
-
} & Pipeable.Pipeable;
|
|
212
|
-
export declare class Project<A, TFieldValues extends FieldValues, R, TType extends "one" | "many" = "many"> extends Project_base<{
|
|
213
|
-
current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues, TType>;
|
|
214
|
-
schema: S.Codec<A, TFieldValues, R>;
|
|
215
|
-
mode: "collect" | "project" | "transform" | "aggregate";
|
|
216
|
-
computed?: ComputedProjectionMap;
|
|
217
|
-
aggregateMap?: AggregateMap;
|
|
218
|
-
}> implements QueryProjection<TFieldValues, A, R> {
|
|
219
|
-
readonly [QId]: any;
|
|
220
|
-
pipe(): unknown;
|
|
221
|
-
}
|
|
222
|
-
export declare const make: <TFieldValues extends FieldValues>() => Query<TFieldValues>;
|
|
223
|
-
export declare const where: FilterWhere;
|
|
224
|
-
export declare const and: FilterContinuationAnd;
|
|
225
|
-
export declare const or: FilterContinuationOr;
|
|
226
|
-
export declare const whereEvery: WhereEveryOrSome;
|
|
227
|
-
export declare const whereSome: WhereEveryOrSome;
|
|
228
|
-
export declare const order: {
|
|
229
|
-
<Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(field: FieldPath<ExtractFieldValuesRefined<Q>>, direction?: "ASC" | "DESC"): (current: Q) => QueryEnd<ExtractFieldValuesRefined<Q>, "many", ExtractExclusiveness<Q>>;
|
|
230
|
-
};
|
|
231
|
-
export declare const page: {
|
|
232
|
-
(page: {
|
|
233
|
-
skip?: number;
|
|
234
|
-
take?: number;
|
|
235
|
-
}): <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(current: Q) => QueryEnd<ExtractFieldValuesRefined<Q>, "many", ExtractExclusiveness<Q>>;
|
|
236
|
-
};
|
|
237
|
-
export declare const one: {
|
|
238
|
-
<Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(current: Q): QueryEnd<ExtractFieldValuesRefined<Q>, "one", ExtractExclusiveness<Q>>;
|
|
239
|
-
};
|
|
240
|
-
export declare const count: {
|
|
241
|
-
<Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(current: Q): QueryProjection<ExtractFieldValuesRefined<Q>, NonNegativeInt, never, "count", ExtractExclusiveness<Q>>;
|
|
242
|
-
};
|
|
243
|
-
/**
|
|
244
|
-
* Attach a projection schema to a query.
|
|
245
|
-
*
|
|
246
|
-
* The `select` clause sent to the store is derived from the schema's encoded
|
|
247
|
-
* AST property names (top-level + per-array sub-keys), so a projection always
|
|
248
|
-
* narrows what is read from the store. The repository augments that select
|
|
249
|
-
* with `id` and `_etag` for change tracking. See {@link toFilter} and the
|
|
250
|
-
* dispatch in `Repository/internal/internal.ts`.
|
|
251
|
-
*
|
|
252
|
-
* Modes — pick based on shape of the decoded value and on whether the
|
|
253
|
-
* persistence-model (PM) reverse-mapping is needed:
|
|
254
|
-
*
|
|
255
|
-
* - `"transform"` (default when `mode` omitted): goes through the repo's
|
|
256
|
-
* `parseMany` pipeline. The raw row is reverse-mapped via the
|
|
257
|
-
* etag/PM cache (re-injecting `_etag` and any PM-shape state) before
|
|
258
|
-
* decoding. Decode failures `orDie` (error channel = `never`). Use when
|
|
259
|
-
* the schema operates on the full PM shape (e.g. full-entity reads that
|
|
260
|
-
* must preserve etag tracking).
|
|
261
|
-
*
|
|
262
|
-
* - `"project"`: decodes the raw encoded row directly with the supplied
|
|
263
|
-
* schema. No PM reverse-mapping, no etag cache merge. Decode failures
|
|
264
|
-
* surface as `S.SchemaError`. Use for slim DTOs / aggregations that do not
|
|
265
|
-
* need etag tracking and whose schema input is a plain subset of `Encoded`.
|
|
266
|
-
*
|
|
267
|
-
* - `"collect"`: like `"project"`, but the schema yields `Option<A>` and
|
|
268
|
-
* `None` values are dropped post-decode (`Array.getSomes`). Use to filter
|
|
269
|
-
* rows during decode (e.g. discriminated-union narrowing where some rows
|
|
270
|
-
* should not appear in the result).
|
|
271
|
-
*/
|
|
272
|
-
export declare const project: {
|
|
273
|
-
<Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<Option.Option<A>, {
|
|
274
|
-
[K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never;
|
|
275
|
-
}, R>, mode: "collect"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
|
|
276
|
-
<Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<A, {
|
|
277
|
-
[K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never;
|
|
278
|
-
}, R>, mode: "project"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
|
|
279
|
-
<Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<A, {
|
|
280
|
-
[K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never;
|
|
281
|
-
}, R>): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
|
|
282
|
-
};
|
|
283
|
-
export declare const relation: <TFieldValues extends FieldValues>(path: FieldPath<TFieldValues>) => {
|
|
284
|
-
length: () => ComputedProjectionExpression;
|
|
285
|
-
count: (operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
286
|
-
any: (operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
287
|
-
every: (operation: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
288
|
-
distinctCount: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
289
|
-
sum: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
290
|
-
sumExpr: (expression: ComputedProjectionMathExpression, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
291
|
-
sumExprBy: (expression: ComputedProjectionMathExpression, options: {
|
|
292
|
-
unit: string;
|
|
293
|
-
}, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
294
|
-
sumExprNormalized: (expression: ComputedProjectionMathExpression, options: {
|
|
295
|
-
unit: string;
|
|
296
|
-
toBase: string;
|
|
297
|
-
factors: Readonly<Record<string, number>>;
|
|
298
|
-
}, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
299
|
-
collect: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
300
|
-
collectDistinct: (field: string, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
301
|
-
collectFields: (fields: readonly string[], operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
302
|
-
collectDistinctFields: (fields: readonly string[], operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
|
|
303
|
-
};
|
|
304
|
-
export declare const expr: {
|
|
305
|
-
readonly field: (field: string) => ComputedProjectionMathExpression;
|
|
306
|
-
readonly mul: (left: ComputedProjectionMathExpression, right: ComputedProjectionMathExpression) => ComputedProjectionMathExpression;
|
|
307
|
-
};
|
|
308
|
-
export declare const computed: <T extends ComputedProjectionMap>(value: T) => T;
|
|
309
|
-
export declare const projectComputed: {
|
|
310
|
-
<Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends Record<string, unknown>, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<Option.Option<A>, I, R>, computedProjection: ComputedProjectionMap, mode: "collect"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
|
|
311
|
-
<Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends Record<string, unknown>, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<A, I, R>, computedProjection: ComputedProjectionMap, mode?: "project"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
|
|
312
|
-
};
|
|
313
|
-
/**
|
|
314
|
-
* DSL helpers for building aggregate expressions used with {@link aggregate}.
|
|
315
|
-
*
|
|
316
|
-
* - `agg.field(path)` — references a document field for GROUP BY (with optional output alias)
|
|
317
|
-
* - `agg.count()` — COUNT(*) across all rows in the group
|
|
318
|
-
* - `agg.countWhen(op)` — COUNT of rows matching the filter operation
|
|
319
|
-
* - `agg.sum(field)` — SUM of a numeric document field
|
|
320
|
-
* - `agg.min(field)` / `agg.max(field)` — MIN/MAX of a document field
|
|
321
|
-
*/
|
|
322
|
-
export declare const agg: {
|
|
323
|
-
readonly field: (path: string) => AggregateExpression;
|
|
324
|
-
readonly count: () => AggregateExpression;
|
|
325
|
-
readonly countWhen: (operation: ComputedProjectionOperation) => AggregateExpression;
|
|
326
|
-
readonly sum: (field: string) => AggregateExpression;
|
|
327
|
-
readonly min: (field: string) => AggregateExpression;
|
|
328
|
-
readonly max: (field: string) => AggregateExpression;
|
|
329
|
-
};
|
|
330
|
-
/**
|
|
331
|
-
* Attach an aggregate projection to a query, performing GROUP BY + aggregate functions at the
|
|
332
|
-
* database level instead of fetching all rows and grouping in memory.
|
|
333
|
-
*
|
|
334
|
-
* The `aggregateMap` maps each output field name to either:
|
|
335
|
-
* - `agg.field(path)` — a group-by field (document path → output alias)
|
|
336
|
-
* - `agg.count()` / `agg.countWhen(op)` / `agg.sum(f)` / `agg.min(f)` / `agg.max(f)` — an aggregate
|
|
337
|
-
*
|
|
338
|
-
* The output is decoded directly with `schema` (no PM reverse-mapping, no etag tracking).
|
|
339
|
-
* Decode failures surface as `S.SchemaError`.
|
|
340
|
-
*
|
|
341
|
-
* @example
|
|
342
|
-
* ```ts
|
|
343
|
-
* repo.query(
|
|
344
|
-
* where("status", "active"),
|
|
345
|
-
* aggregate(
|
|
346
|
-
* S.Struct({ city: S.String, count: S.Number }),
|
|
347
|
-
* {
|
|
348
|
-
* city: agg.field("address.city"),
|
|
349
|
-
* count: agg.countWhen((q) => q.pipe(where("active", true)))
|
|
350
|
-
* }
|
|
351
|
-
* )
|
|
352
|
-
* )
|
|
353
|
-
* ```
|
|
354
|
-
*/
|
|
355
|
-
export declare const aggregate: {
|
|
356
|
-
<Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends Record<string, unknown>, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<A, I, R>, aggregateMap: AggregateMap): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
|
|
357
|
-
};
|
|
358
|
-
type GetArV<T> = T extends readonly (infer R)[] ? R : never;
|
|
359
|
-
export type FilterContinuations<IsCurrentInitial extends boolean = false> = {
|
|
360
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, value: V): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
|
|
361
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "gt" | "gte" | "lt" | "lte" | "neq", value: V): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
|
|
362
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "startsWith" | "endsWith" | "contains" | "notContains" | "notStartsWith" | "notEndsWith", value: FieldPathValue<TFieldValues, TFieldName> extends string ? string : never): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
|
|
363
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, const V extends readonly FieldPathValue<TFieldValues, TFieldName>[], TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "in" | "notIn", value: V): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
|
|
364
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "includes" | "notIncludes", value: GetArV<V>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
|
|
365
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "includes-any" | "notIncludes-any" | "includes-all" | "notIncludes-all", value: readonly GetArV<V>[]): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
|
|
366
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(f: {
|
|
367
|
-
path: TFieldName;
|
|
368
|
-
op: "eq";
|
|
369
|
-
value: V;
|
|
370
|
-
}): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
|
|
371
|
-
};
|
|
372
|
-
export type FilterContinuationsWithSubpath = {
|
|
373
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesSub extends TFieldValues[TFieldName][number], TFieldNameSub extends FieldPath<TFieldValuesSub>, V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>>(subPath: TFieldName, restPath: TFieldNameSub, value: V): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
374
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesSub extends TFieldValues[TFieldName][number], TFieldNameSub extends FieldPath<TFieldValuesSub>, V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>>(subPath: TFieldName, restPath: TFieldNameSub, op: "gt" | "gte" | "lt" | "lte" | "neq", value: V): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
375
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesSub extends TFieldValues[TFieldName][number], TFieldNameSub extends FieldPath<TFieldValuesSub>>(subPath: TFieldName, restPath: TFieldNameSub, op: "startsWith" | "endsWith" | "contains" | "notContains" | "notStartsWith" | "notEndsWith", value: FieldPathValue<TFieldValuesSub, TFieldNameSub> extends string ? string : never): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
376
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesSub extends TFieldValues[TFieldName][number], TFieldNameSub extends FieldPath<TFieldValuesSub>, const V extends readonly FieldPathValue<TFieldValuesSub, TFieldNameSub>[]>(subPath: TFieldName, restPath: TFieldNameSub, op: "in" | "notIn", value: V): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
377
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesSub extends TFieldValues[TFieldName][number], TFieldNameSub extends FieldPath<TFieldValuesSub>, V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>>(subPath: TFieldName, restPath: TFieldNameSub, op: "includes" | "notIncludes", value: GetArV<V>): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
378
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesSub extends TFieldValues[TFieldName][number], TFieldNameSub extends FieldPath<TFieldValuesSub>, V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>>(subPath: TFieldName, restPath: TFieldNameSub, op: "includes-any" | "notIncludes-any" | "includes-all" | "notIncludes-all", value: readonly GetArV<V>[]): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
379
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesSub extends TFieldValues[TFieldName][number], TFieldNameSub extends FieldPath<TFieldValuesSub>, V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>>(f: {
|
|
380
|
-
subPath: TFieldName;
|
|
381
|
-
restPath: TFieldNameSub;
|
|
382
|
-
op: "eq";
|
|
383
|
-
value: V;
|
|
384
|
-
}): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
|
|
385
|
-
};
|
|
386
|
-
export type RefineWithLiteral<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V, Exclde extends boolean = false> = [
|
|
387
|
-
V
|
|
388
|
-
] extends [string | number | boolean | null | bigint] ? RefineFieldPathValue<TFieldValues, TFieldName, V, Exclde> : TFieldValues;
|
|
389
|
-
export type FilteringRefinements<IsCurrentInitial extends boolean = false> = {
|
|
390
|
-
<TFieldValues extends FieldValues, const TFieldName extends FieldPath<TFieldValues>, const V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, value: V): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, RefineWithLiteral<TFieldValuesRefined, TFieldName, V>, TFieldName extends "_tag" ? true : false>;
|
|
391
|
-
<TFieldValues extends FieldValues, const TFieldName extends FieldPath<TFieldValues>, const V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "neq", value: V): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, RefineWithLiteral<TFieldValuesRefined, TFieldName, V, true>, E>;
|
|
392
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, const V extends readonly FieldPathValue<TFieldValues, TFieldName>[], TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "in", value: V): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, RefineWithLiteral<TFieldValuesRefined, TFieldName, NonNullable<V[number]>>, E>;
|
|
393
|
-
};
|
|
394
|
-
export type NestedQueriesFixedRefinement<IsCurrentInitial extends boolean = false> = {
|
|
395
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>;
|
|
396
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>;
|
|
397
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>;
|
|
398
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>;
|
|
399
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>;
|
|
400
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>;
|
|
401
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>;
|
|
402
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>;
|
|
403
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>;
|
|
404
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined, E11>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E11>;
|
|
405
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined, E12>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E12>;
|
|
406
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined, E13>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E13>;
|
|
407
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false, E14 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined, E13>, fn: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E13>) => QueryWhere<TFieldValues, TFieldValuesRefined, E14>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E14>;
|
|
408
|
-
};
|
|
409
|
-
export type NestedQueriesFreeIntersectionRefinement = {
|
|
410
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined2, E2>;
|
|
411
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined3, E3>;
|
|
412
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined4, E4>;
|
|
413
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined5, E5>;
|
|
414
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined6, E6>;
|
|
415
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined7, E7>;
|
|
416
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined8, E8>;
|
|
417
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined9, E9>;
|
|
418
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined10, E10>;
|
|
419
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined11, E11>;
|
|
420
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined12, E12>;
|
|
421
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined13, E13>;
|
|
422
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, TFieldValuesRefined14 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false, E14 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>, fn: (query: QueryWhere<TFieldValues, TFieldValuesRefined13, E13>) => QueryWhere<TFieldValues, TFieldValuesRefined14, E14>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined14, E14>;
|
|
423
|
-
};
|
|
424
|
-
export type NestedQueriesFreeDisjointRefinement = {
|
|
425
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2>;
|
|
426
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined3>;
|
|
427
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined4>;
|
|
428
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined5>;
|
|
429
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined6>;
|
|
430
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined7>;
|
|
431
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2>;
|
|
432
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined9>;
|
|
433
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined10>;
|
|
434
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined11>;
|
|
435
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined12>;
|
|
436
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined13>;
|
|
437
|
-
<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, TFieldValuesRefined14 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false, E14 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>, fn: (query: QueryWhere<TFieldValues, TFieldValuesRefined13, E13>) => QueryWhere<TFieldValues, TFieldValuesRefined14, E14>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined14>;
|
|
438
|
-
};
|
|
439
|
-
export type FilterWhere = NestedQueriesFixedRefinement<true> & FilteringRefinements<true> & FilterContinuations<true>;
|
|
440
|
-
export type FilterContinuationAnd = NestedQueriesFreeIntersectionRefinement & FilteringRefinements & FilterContinuations;
|
|
441
|
-
export type FilterContinuationOr = NestedQueriesFreeDisjointRefinement & FilterContinuations;
|
|
442
|
-
export type WhereEveryOrSome = {
|
|
443
|
-
<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>>(subPath: TFieldName, dude: (current: Query<TFieldValues[TFieldName][number]>) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>, ...dudes: ((current: QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>)[]): (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValues>;
|
|
444
|
-
} & FilterContinuationsWithSubpath;
|
|
445
|
-
export {};
|
|
446
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNsLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvTW9kZWwvcXVlcnkvZHNsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEtBQUssS0FBSyxDQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHdkQsT0FBTyxLQUFLLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDN0MsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDakQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDckQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBRXBHLE1BQU0sTUFBTSxJQUFJLENBQ2QsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxHQUFHLFlBQVksRUFDaEIsQ0FBQyxHQUFHLEtBQUssRUFDVCxLQUFLLFNBQVMsS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNLEVBQ3JDLFNBQVMsU0FBUyxPQUFPLEdBQUcsS0FBSyxJQUUvQixLQUFLLENBQUMsWUFBWSxDQUFDLEdBQ25CLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLEdBQ3hELFFBQVEsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUN4QyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBRXpELGVBQU8sTUFBTSxHQUFHLGVBQVcsQ0FBQTtBQUMzQixNQUFNLE1BQU0sR0FBRyxHQUFHLE9BQU8sR0FBRyxDQUFBO0FBRTVCLE1BQU0sV0FBVyxhQUFhLENBQzVCLEdBQUcsQ0FBQyxZQUFZLFNBQVMsV0FBVyxFQUNwQyxHQUFHLENBQUMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDM0QsR0FBRyxDQUFDLFNBQVMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUNyQyxHQUFHLENBQUMsQ0FBQyxTQUFTLFNBQVMsR0FBRyxPQUFPLEdBQUcsS0FBSyxHQUFHLFlBQVksR0FBRyxTQUFTLEVBQ3BFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsWUFBWSxFQUNwQixHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFDYixHQUFHLENBQUMsS0FBSyxTQUFTLE1BQU0sR0FBRyxLQUFLLEdBQUcsT0FBTyxHQUFHLE1BQU0sQ0FDbkQsU0FBUSxRQUFRLENBQUMsUUFBUTtJQUN6QixRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNkLFFBQVEsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQy9DLFFBQVEsQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3pCLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtRQUM3RCxRQUFRLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN6QixRQUFRLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN6QixRQUFRLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM5QixRQUFRLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtLQUMxQyxDQUFBO0NBQ0Y7QUFFRCxLQUFLLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLGFBQWEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxLQUFLLENBQUE7QUFDekcsS0FBSyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLGFBQWEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sU0FBUyxTQUFTLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FDakgsU0FBUyxHQUNULEtBQUssQ0FBQTtBQUNULEtBQUsseUJBQXlCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxhQUFhLENBQUMsR0FBRyxFQUFFLE1BQU0sbUJBQW1CLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUNoSCxtQkFBbUIsR0FDbkIsS0FBSyxDQUFBO0FBRVQsTUFBTSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sR0FBRyxPQUFPLENBQUE7QUFDaEQsTUFBTSxNQUFNLFFBQVEsR0FBRztJQUFFLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQTtDQUFFLENBQUE7QUFDdEQsTUFBTSxNQUFNLEtBQUssQ0FBQyxZQUFZLFNBQVMsV0FBVyxJQUFJLGFBQWEsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUE7QUFDL0YsTUFBTSxNQUFNLFVBQVUsQ0FDcEIsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsU0FBUyxTQUFTLE9BQU8sR0FBRyxLQUFLLElBRS9CLGFBQWEsQ0FDYixZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLFNBQVMsRUFDVCxPQUFPLENBQ1IsR0FDQyxRQUFRLENBQUE7QUFFWixNQUFNLE1BQU0sUUFBUSxDQUNsQixZQUFZLFNBQVMsV0FBVyxFQUNoQyxLQUFLLFNBQVMsTUFBTSxHQUFHLEtBQUssR0FBRyxPQUFPLEdBQUcsTUFBTSxFQUMvQyxTQUFTLFNBQVMsT0FBTyxHQUFHLEtBQUssSUFDL0IsYUFBYSxDQUNmLFlBQVksRUFDWixZQUFZLEVBQ1osU0FBUyxFQUNULEtBQUssRUFDTCxZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssQ0FDTixDQUFBO0FBRUQsTUFBTSxNQUFNLGVBQWUsQ0FDekIsWUFBWSxTQUFTLFdBQVcsRUFDaEMsQ0FBQyxHQUFHLFlBQVksRUFDaEIsQ0FBQyxHQUFHLEtBQUssRUFDVCxLQUFLLFNBQVMsTUFBTSxHQUFHLEtBQUssR0FBRyxPQUFPLEdBQUcsTUFBTSxFQUMvQyxTQUFTLFNBQVMsT0FBTyxHQUFHLEtBQUssSUFDL0IsYUFBYSxDQUNmLFlBQVksRUFDWixZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFDWixDQUFDLEVBQ0QsQ0FBQyxFQUNELEtBQUssQ0FDTixDQUFBO0FBRUQsTUFBTSxNQUFNLDJCQUEyQixHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtBQUV0RixNQUFNLE1BQU0sZ0NBQWdDLEdBQ3hDO0lBQ0EsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUE7SUFDdEIsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUE7Q0FDdkIsR0FDQztJQUNBLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFBO0lBQ3BCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZ0NBQWdDLENBQUE7SUFDL0MsUUFBUSxDQUFDLEtBQUssRUFBRSxnQ0FBZ0MsQ0FBQTtDQUNqRCxDQUFBO0FBRUgsTUFBTSxNQUFNLDRCQUE0QixHQUNwQztJQUNBLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUE7SUFDL0IsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUE7SUFDckIsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLDJCQUEyQixDQUFBO0NBQ2pELEdBQ0M7SUFDQSxRQUFRLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQTtJQUM3QixRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQTtJQUNyQixRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsMkJBQTJCLENBQUE7Q0FDakQsR0FDQztJQUNBLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUE7SUFDL0IsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUE7SUFDckIsUUFBUSxDQUFDLFNBQVMsRUFBRSwyQkFBMkIsQ0FBQTtDQUNoRCxHQUNDO0lBQ0EsUUFBUSxDQUFDLElBQUksRUFBRSx5QkFBeUIsQ0FBQTtJQUN4QyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQTtJQUNyQixRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQTtJQUN0QixRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsMkJBQTJCLENBQUE7Q0FDakQsR0FDQztJQUNBLFFBQVEsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFBO0lBQzdCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFBO0lBQ3JCLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0lBQ3RCLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSwyQkFBMkIsQ0FBQTtDQUNqRCxHQUNDO0lBQ0EsUUFBUSxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQTtJQUNsQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQTtJQUNyQixRQUFRLENBQUMsVUFBVSxFQUFFLGdDQUFnQyxDQUFBO0lBQ3JELFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSwyQkFBMkIsQ0FBQTtDQUNqRCxHQUNDO0lBQ0EsUUFBUSxDQUFDLElBQUksRUFBRSxzQkFBc0IsQ0FBQTtJQUNyQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQTtJQUNyQixRQUFRLENBQUMsVUFBVSxFQUFFLGdDQUFnQyxDQUFBO0lBQ3JELFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFBO0lBQ3JCLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSwyQkFBMkIsQ0FBQTtDQUNqRCxHQUNDO0lBQ0EsUUFBUSxDQUFDLElBQUksRUFBRSw4QkFBOEIsQ0FBQTtJQUM3QyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQTtJQUNyQixRQUFRLENBQUMsVUFBVSxFQUFFLGdDQUFnQyxDQUFBO0lBQ3JELFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFBO0lBQ3JCLFFBQVEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFBO0lBQ3ZCLFFBQVEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUNsRCxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsMkJBQTJCLENBQUE7Q0FDakQsR0FDQztJQUNBLFFBQVEsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUE7SUFDakMsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUE7SUFDckIsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUE7SUFDdEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUE7SUFDMUIsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLDJCQUEyQixDQUFBO0NBQ2pELEdBQ0M7SUFDQSxRQUFRLENBQUMsSUFBSSxFQUFFLHlCQUF5QixDQUFBO0lBQ3hDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFBO0lBQ3JCLFFBQVEsQ0FBQyxNQUFNLEVBQUUsU0FBUyxNQUFNLEVBQUUsQ0FBQTtJQUNsQyxRQUFRLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQTtJQUMxQixRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsMkJBQTJCLENBQUE7Q0FDakQsR0FDQztJQUNBLFFBQVEsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUE7SUFDaEMsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUE7Q0FDdEIsQ0FBQTtBQUVIOzs7R0FHRztBQUNILE1BQU0sTUFBTSxtQkFBbUIsR0FDM0I7SUFDQSxRQUFRLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQTtJQUMxQixRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQTtDQUN0QixHQUNDO0lBQ0EsUUFBUSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUE7Q0FDM0IsR0FDQztJQUNBLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUE7SUFDL0IsUUFBUSxDQUFDLFNBQVMsRUFBRSwyQkFBMkIsQ0FBQTtDQUNoRCxHQUNDO0lBQ0EsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUE7SUFDeEIsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUE7Q0FDdkIsR0FDQztJQUNBLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFBO0lBQ3hCLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0NBQ3ZCLEdBQ0M7SUFDQSxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQTtJQUN4QixRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQTtDQUN2QixDQUFBO0FBRUgsTUFBTSxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUE7QUFFeEUsTUFBTSxNQUFNLHFCQUFxQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLDRCQUE0QixDQUFDLENBQUMsQ0FBQTtBQUMxRixNQUFNLE1BQU0sQ0FBQyxDQUFDLFlBQVksU0FBUyxXQUFXLElBQzFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FDckIsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUNuQixHQUFHLENBQUMsWUFBWSxDQUFDLEdBQ2pCLEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FDaEIsS0FBSyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsR0FDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUNsQixPQUFPLENBQUMsR0FBRyxFQUFFLFlBQVksRUFBRSxHQUFHLENBQUMsR0FDL0IsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUNqQixLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7Ozs7QUFFdkIscUJBQWEsT0FBTyxDQUFDLFlBQVksU0FBUyxXQUFXLENBQUUsU0FBUSxhQUEwQjtJQUFFLEtBQUssRUFBRSxTQUFTLENBQUE7Q0FBRSxDQUMzRyxZQUFXLEtBQUssQ0FBQyxZQUFZLENBQUM7SUFFOUIsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUcsR0FBRyxDQUFBO0lBQ3BCLGNBRUM7SUFDUSxJQUFJLFlBR1o7Q0FDRjs7OztBQUVELHFCQUFhLEtBQUssQ0FBQyxZQUFZLFNBQVMsV0FBVyxDQUFFLFNBQVEsV0FBMEI7SUFDckYsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUM1QixTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFBO0lBQ3RHLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQTtJQUMzQixPQUFPLENBQUMsRUFBRSxNQUFNLENBQUE7Q0FDakIsQ0FBRSxZQUFXLFVBQVUsQ0FBQyxZQUFZLENBQUM7SUFDcEMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUcsR0FBRyxDQUFBO0lBRVgsSUFBSSxZQUdaO0NBQ0Y7Ozs7QUFFRCxxQkFBYSxHQUFHLENBQUMsWUFBWSxTQUFTLFdBQVcsQ0FBRSxTQUFRLFNBQXdCO0lBQ2pGLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDNUIsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQTtJQUN0RyxRQUFRLEVBQUUsaUJBQWlCLENBQUE7Q0FDNUIsQ0FBRSxZQUFXLFVBQVUsQ0FBQyxZQUFZLENBQUM7SUFDcEMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUcsR0FBRyxDQUFBO0lBQ1gsSUFBSSxZQUdaO0NBQ0Y7Ozs7QUFFRCxxQkFBYSxFQUFFLENBQUMsWUFBWSxTQUFTLFdBQVcsQ0FBRSxTQUFRLFFBQXVCO0lBQy9FLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDNUIsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQTtJQUN0RyxRQUFRLEVBQUUsaUJBQWlCLENBQUE7Q0FDNUIsQ0FBRSxZQUFXLFVBQVUsQ0FBQyxZQUFZLENBQUM7SUFDcEMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUcsR0FBRyxDQUFBO0lBQ1gsSUFBSSxZQUdaO0NBQ0Y7Ozs7QUFFRCxxQkFBYSxJQUFJLENBQUMsWUFBWSxTQUFTLFdBQVcsQ0FBRSxTQUFRLFVBQXlCO0lBQ25GLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDckYsSUFBSSxDQUFDLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQTtJQUN6QixJQUFJLENBQUMsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFBO0NBQzFCLENBQUUsWUFBVyxRQUFRLENBQUMsWUFBWSxDQUFDO0lBQ2xDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFHLEdBQUcsQ0FBQTtJQUNYLElBQUksWUFHWjtDQUNGOzs7O0FBRUQscUJBQWEsR0FBRyxDQUFDLFlBQVksU0FBUyxXQUFXLENBQUUsU0FBUSxTQUF3QjtJQUNqRixPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFBO0NBQ3RGLENBQUUsWUFBVyxRQUFRLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQztJQUN6QyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRyxHQUFHLENBQUE7SUFDWCxJQUFJLFlBR1o7Q0FDRjs7OztBQUVELHFCQUFhLEtBQUssQ0FBQyxZQUFZLFNBQVMsV0FBVyxDQUFFLFNBQVEsV0FBMEI7SUFDckYsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQTtDQUN0RixDQUFFLFlBQVcsUUFBUSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUM7SUFDM0MsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUcsR0FBRyxDQUFBO0lBQ1gsSUFBSSxZQUdaO0NBQ0Y7Ozs7QUFFRCxxQkFBYSxLQUFLLENBQUMsWUFBWSxTQUFTLFdBQVcsRUFBRSxVQUFVLFNBQVMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUM3RixTQUFRLFdBQTBCO0lBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDckYsS0FBSyxFQUFFLFVBQVUsQ0FBQTtJQUNqQixTQUFTLEVBQUUsS0FBSyxHQUFHLE1BQU0sQ0FBQTtDQUMxQixDQUNELFlBQVcsUUFBUSxDQUFDLFlBQVksQ0FBQztJQUVqQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRyxHQUFHLENBQUE7SUFDWCxJQUFJLFlBR1o7Q0FDRjs7OztBQUVELHFCQUFhLE9BQU8sQ0FBQyxDQUFDLEVBQUUsWUFBWSxTQUFTLFdBQVcsRUFBRSxDQUFDLEVBQUUsS0FBSyxTQUFTLEtBQUssR0FBRyxNQUFNLEdBQUcsTUFBTSxDQUNoRyxTQUFRLGFBQTRCO0lBQ2xDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQzVGLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDbkMsSUFBSSxFQUFFLFNBQVMsR0FBRyxTQUFTLEdBQUcsV0FBVyxHQUFHLFdBQVcsQ0FBQTtJQUN2RCxRQUFRLENBQUMsRUFBRSxxQkFBcUIsQ0FBQTtJQUNoQyxZQUFZLENBQUMsRUFBRSxZQUFZLENBQUE7Q0FDNUIsQ0FDRCxZQUFXLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU5QyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRyxHQUFHLENBQUE7SUFDWCxJQUFJLFlBR1o7Q0FDRjtBQUVELGVBQU8sTUFBTSxJQUFJLEVBQUUsQ0FBQyxZQUFZLFNBQVMsV0FBVyxPQUFPLEtBQUssQ0FBQyxZQUFZLENBQXVCLENBQUE7QUFFcEcsZUFBTyxNQUFNLEtBQUssRUFBRSxXQUNvRyxDQUFBO0FBRXhILGVBQU8sTUFBTSxHQUFHLEVBQUUscUJBQ29HLENBQUE7QUFFdEgsZUFBTyxNQUFNLEVBQUUsRUFBRSxvQkFDb0csQ0FBQTtBQUVySCxlQUFPLE1BQU0sVUFBVSxFQUFFLGdCQVdZLENBQUE7QUFDckMsZUFBTyxNQUFNLFNBQVMsRUFBRSxnQkFXYSxDQUFBO0FBRXJDLGVBQU8sTUFBTSxLQUFLLEVBQUU7SUFDbEIsQ0FDRSxDQUFDLFNBQVMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUU3RSxLQUFLLEVBQUUsU0FBUyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzlDLFNBQVMsQ0FBQyxFQUFFLEtBQUssR0FBRyxNQUFNLEdBQ3pCLENBQ0QsT0FBTyxFQUFFLENBQUMsS0FDUCxRQUFRLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7Q0FDdUIsQ0FBQTtBQUVyRyxlQUFPLE1BQU0sSUFBSSxFQUFFO0lBQ2pCLENBQ0UsSUFBSSxFQUFFO1FBQUUsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQUUsR0FDckMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUMvRSxPQUFPLEVBQUUsQ0FBQyxLQUNQLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtDQU0xRSxDQUFBO0FBRUosZUFBTyxNQUFNLEdBQUcsRUFBRTtJQUNoQixDQUFDLENBQUMsU0FBUyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQzVFLE9BQU8sRUFBRSxDQUFDLEdBQ1QsUUFBUSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0NBSXZFLENBQUE7QUFHSixlQUFPLE1BQU0sS0FBSyxFQUFFO0lBQ2xCLENBQ0UsQ0FBQyxTQUFTLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFFN0UsT0FBTyxFQUFFLENBQUMsR0FDVCxlQUFlLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtDQUNwRSxDQUFBO0FBRXZDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJHO0FBQ0gsZUFBTyxNQUFNLE9BQU8sRUFBRTtJQUNwQixDQUNFLENBQUMsU0FBUyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxLQUFLLEdBQUcsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUNyRixDQUFDLEVBQ0QsQ0FBQyxHQUFHLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUNoQyxDQUFDLEdBQUcsS0FBSyxFQUNULENBQUMsU0FBUyxPQUFPLEdBQUcsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBRTNDLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUNiLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQ2hCO1NBQ0csQ0FBQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxNQUFNLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLO0tBQzVFLEVBQ0QsQ0FBQyxDQUNGLEVBQ0QsSUFBSSxFQUFFLFNBQVMsR0FDZCxDQUNELE9BQU8sRUFBRSxDQUFDLEtBQ1AsZUFBZSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBRTVFLENBQ0UsQ0FBQyxTQUFTLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLEtBQUssR0FBRyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQ3JGLENBQUMsRUFDRCxDQUFDLEdBQUcseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQ2hDLENBQUMsR0FBRyxLQUFLLEVBQ1QsQ0FBQyxTQUFTLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFFM0MsTUFBTSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQ2IsQ0FBQyxFQUNEO1NBQ0csQ0FBQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxNQUFNLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLO0tBQzVFLEVBQ0QsQ0FBQyxDQUNGLEVBQ0QsSUFBSSxFQUFFLFNBQVMsR0FDZCxDQUNELE9BQU8sRUFBRSxDQUFDLEtBQ1AsZUFBZSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzVFLENBQ0UsQ0FBQyxTQUFTLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLEtBQUssR0FBRyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQ3JGLENBQUMsRUFDRCxDQUFDLEdBQUcseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQ2hDLENBQUMsR0FBRyxLQUFLLEVBQ1QsQ0FBQyxTQUFTLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFFM0MsTUFBTSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQ2IsQ0FBQyxFQUNEO1NBQ0csQ0FBQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxNQUFNLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLO0tBQzVFLEVBQ0QsQ0FBQyxDQUNGLEdBQ0EsQ0FDRCxPQUFPLEVBQUUsQ0FBQyxLQUNQLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtDQUMwQixDQUFBO0FBRXhHLGVBQU8sTUFBTSxRQUFRLEdBQUksWUFBWSxTQUFTLFdBQVcsUUFDakQsU0FBUyxDQUFDLFlBQVksQ0FBQztJQUU3QixNQUFNLFFBQU0sNEJBQTRCO0lBSXhDLEtBQUssZUFBZSwyQkFBMkIsS0FBRyw0QkFBNEI7SUFXOUUsR0FBRyxlQUFlLDJCQUEyQixLQUFHLDRCQUE0QjtJQVc1RSxLQUFLLGNBQWMsMkJBQTJCLEtBQUcsNEJBQTRCO0lBSzdFLGFBQWEsVUFBVSxNQUFNLGNBQWMsMkJBQTJCLEtBQUcsNEJBQTRCO0lBYXJHLEdBQUcsVUFBVSxNQUFNLGNBQWMsMkJBQTJCLEtBQUcsNEJBQTRCO0lBYTNGLE9BQU8sZUFDTyxnQ0FBZ0MsY0FDaEMsMkJBQTJCLEtBQ3RDLDRCQUE0QjtJQWEvQixTQUFTLGVBQ0ssZ0NBQWdDLFdBQ25DO1FBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQTtLQUFFLGNBQ2IsMkJBQTJCLEtBQ3RDLDRCQUE0QjtJQWUvQixpQkFBaUIsZUFDSCxnQ0FBZ0MsV0FDbkM7UUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDO1FBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztRQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO0tBQUUsY0FDeEUsMkJBQTJCLEtBQ3RDLDRCQUE0QjtJQW1CL0IsT0FBTyxVQUFVLE1BQU0sY0FBYywyQkFBMkIsS0FBRyw0QkFBNEI7SUFlL0YsZUFBZSxVQUFVLE1BQU0sY0FBYywyQkFBMkIsS0FBRyw0QkFBNEI7SUFldkcsYUFBYSxXQUFXLFNBQVMsTUFBTSxFQUFFLGNBQWMsMkJBQTJCLEtBQUcsNEJBQTRCO0lBZWpILHFCQUFxQixXQUNYLFNBQVMsTUFBTSxFQUFFLGNBQ2IsMkJBQTJCLEtBQ3RDLDRCQUE0QjtDQWUvQixDQUFBO0FBRUYsZUFBTyxNQUFNLElBQUk7YUFDZixLQUFLLFVBQVUsTUFBTSxLQUFHLGdDQUFnQzthQUN4RCxHQUFHLFNBQ0ssZ0NBQWdDLFNBQy9CLGdDQUFnQyxLQUN0QyxnQ0FBZ0M7Q0FDM0IsQ0FBQTtBQUVWLGVBQU8sTUFBTSxRQUFRLEdBQUksQ0FBQyxTQUFTLHFCQUFxQixTQUFTLENBQUMsS0FBRyxDQUFVLENBQUE7QUFFL0UsZUFBTyxNQUFNLGVBQWUsRUFBRTtJQUM1QixDQUNFLENBQUMsU0FBUyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxLQUFLLEdBQUcsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUNyRixDQUFDLFNBQVMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFDakMsQ0FBQyxHQUFHLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUNoQyxDQUFDLEdBQUcsS0FBSyxFQUNULENBQUMsU0FBUyxPQUFPLEdBQUcsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBRTNDLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUN2QyxrQkFBa0IsRUFBRSxxQkFBcUIsRUFDekMsSUFBSSxFQUFFLFNBQVMsR0FDZCxDQUNELE9BQU8sRUFBRSxDQUFDLEtBQ1AsZUFBZSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBRTVFLENBQ0UsQ0FBQyxTQUFTLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLEtBQUssR0FBRyxNQUFNLEVBQUUsR0FBRyxDQUFDLEVBQ3JGLENBQUMsU0FBUyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUNqQyxDQUFDLEdBQUcseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQ2hDLENBQUMsR0FBRyxLQUFLLEVBQ1QsQ0FBQyxTQUFTLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFFM0MsTUFBTSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDeEIsa0JBQWtCLEVBQUUscUJBQXFCLEVBQ3pDLElBQUksQ0FBQyxFQUFFLFNBQVMsR0FDZixDQUNELE9BQU8sRUFBRSxDQUFDLEtBQ1AsZUFBZSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0NBRUQsQ0FBQTtBQUU3RTs7Ozs7Ozs7R0FRRztBQUNILGVBQU8sTUFBTSxHQUFHO2FBQ2QsS0FBSyxTQUFTLE1BQU0sS0FBRyxtQkFBbUI7YUFDMUMsS0FBSyxRQUFNLG1CQUFtQjthQUM5QixTQUFTLGNBQWMsMkJBQTJCLEtBQUcsbUJBQW1CO2FBSXhFLEdBQUcsVUFBVSxNQUFNLEtBQUcsbUJBQW1CO2FBQ3pDLEdBQUcsVUFBVSxNQUFNLEtBQUcsbUJBQW1CO2FBQ3pDLEdBQUcsVUFBVSxNQUFNLEtBQUcsbUJBQW1CO0NBQ2pDLENBQUE7QUFFVjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHO0FBQ0gsZUFBTyxNQUFNLFNBQVMsRUFBRTtJQUN0QixDQUNFLENBQUMsU0FBUyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxLQUFLLEdBQUcsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUNyRixDQUFDLFNBQVMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFDakMsQ0FBQyxHQUFHLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUNoQyxDQUFDLEdBQUcsS0FBSyxFQUNULENBQUMsU0FBUyxPQUFPLEdBQUcsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBRTNDLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ3hCLFlBQVksRUFBRSxZQUFZLEdBQ3pCLENBQ0QsT0FBTyxFQUFFLENBQUMsS0FDUCxlQUFlLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7Q0FFSixDQUFBO0FBRTFFLEtBQUssTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFBO0FBRTNELE1BQU0sTUFBTSxtQkFBbUIsQ0FBQyxnQkFBZ0IsU0FBUyxPQUFPLEdBQUcsS0FBSyxJQUFJO0lBQzFFLENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsVUFBVSxTQUFTLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFDMUMsQ0FBQyxTQUFTLGNBQWMsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEVBQ2xELG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUV6QixJQUFJLEVBQUUsVUFBVSxFQUNoQixLQUFLLEVBQUUsQ0FBQyxHQUNQLENBQ0QsT0FBTyxFQUFFLGdCQUFnQixTQUFTLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQ3hELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQ2pELGdCQUFnQixTQUFTLElBQUksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDLEdBQ3pELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFcEQsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxVQUFVLFNBQVMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUMxQyxDQUFDLFNBQVMsY0FBYyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsRUFDbEQsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRXpCLElBQUksRUFBRSxVQUFVLEVBQ2hCLEVBQUUsRUFBRSxJQUFJLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsS0FBSyxFQUN2QyxLQUFLLEVBQUUsQ0FBQyxHQUNQLENBQ0QsT0FBTyxFQUFFLGdCQUFnQixTQUFTLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQ3hELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQ2pELGdCQUFnQixTQUFTLElBQUksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDLEdBQ3pELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDcEQsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxVQUFVLFNBQVMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUMxQyxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFekIsSUFBSSxFQUFFLFVBQVUsRUFDaEIsRUFBRSxFQUFFLFlBQVksR0FBRyxVQUFVLEdBQUcsVUFBVSxHQUFHLGFBQWEsR0FBRyxlQUFlLEdBQUcsYUFBYSxFQUM1RixLQUFLLEVBQUUsY0FBYyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsU0FBUyxNQUFNLEdBQUcsTUFBTSxHQUFHLEtBQUssR0FDOUUsQ0FDRCxPQUFPLEVBQUUsZ0JBQWdCLFNBQVMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FDeEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDakQsZ0JBQWdCLFNBQVMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FDekQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNwRCxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLFVBQVUsU0FBUyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQzFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsU0FBUyxjQUFjLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQ25FLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUV6QixJQUFJLEVBQUUsVUFBVSxFQUNoQixFQUFFLEVBQUUsSUFBSSxHQUFHLE9BQU8sRUFDbEIsS0FBSyxFQUFFLENBQUMsR0FDUCxDQUNELE9BQU8sRUFBRSxnQkFBZ0IsU0FBUyxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUN4RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUNqRCxnQkFBZ0IsU0FBUyxJQUFJLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQyxHQUN6RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3BELENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsVUFBVSxTQUFTLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFDMUMsQ0FBQyxTQUFTLGNBQWMsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEVBQ2xELG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUV6QixJQUFJLEVBQUUsVUFBVSxFQUNoQixFQUFFLEVBQ0UsVUFBVSxHQUNWLGFBQWEsRUFDakIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FDZixDQUNELE9BQU8sRUFBRSxnQkFBZ0IsU0FBUyxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUN4RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUNqRCxnQkFBZ0IsU0FBUyxJQUFJLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQyxHQUN6RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3BELENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsVUFBVSxTQUFTLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFDMUMsQ0FBQyxTQUFTLGNBQWMsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEVBQ2xELG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUV6QixJQUFJLEVBQUUsVUFBVSxFQUNoQixFQUFFLEVBQ0UsY0FBYyxHQUNkLGlCQUFpQixHQUNqQixjQUFjLEdBQ2QsaUJBQWlCLEVBQ3JCLEtBQUssRUFBRSxTQUFTLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUMxQixDQUNELE9BQU8sRUFBRSxnQkFBZ0IsU0FBUyxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUN4RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUNqRCxnQkFBZ0IsU0FBUyxJQUFJLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQyxHQUN6RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3BELENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsVUFBVSxTQUFTLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFDMUMsQ0FBQyxTQUFTLGNBQWMsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEVBQ2xELG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixDQUFDLEVBQUU7UUFDSCxJQUFJLEVBQUUsVUFBVSxDQUFBO1FBQ2hCLEVBQUUsRUFBRSxJQUFJLENBQUE7UUFDUixLQUFLLEVBQUUsQ0FBQyxDQUFBO0tBQ1QsR0FBRyxDQUNGLE9BQU8sRUFBRSxnQkFBZ0IsU0FBUyxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUN4RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUNqRCxnQkFBZ0IsU0FBUyxJQUFJLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQyxHQUN6RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFBO0NBQ3JELENBQUE7QUFFRCxNQUFNLE1BQU0sOEJBQThCLEdBQUc7SUFDM0MsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxVQUFVLFNBQVMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUMxQyxlQUFlLFNBQVMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUN4RCxhQUFhLFNBQVMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxFQUNoRCxDQUFDLFNBQVMsY0FBYyxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsRUFFeEQsT0FBTyxFQUFFLFVBQVUsRUFDbkIsUUFBUSxFQUFFLGFBQWEsRUFDdkIsS0FBSyxFQUFFLENBQUMsR0FDUCxDQUNELE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQ3pCLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUM3QixDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLFVBQVUsU0FBUyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQzFDLGVBQWUsU0FBUyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQ3hELGFBQWEsU0FBUyxTQUFTLENBQUMsZUFBZSxDQUFDLEVBQ2hELENBQUMsU0FBUyxjQUFjLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxFQUV4RCxPQUFPLEVBQUUsVUFBVSxFQUNuQixRQUFRLEVBQUUsYUFBYSxFQUN2QixFQUFFLEVBQUUsSUFBSSxHQUFHLEtBQUssR0FBRyxJQUFJLEdBQUcsS0FBSyxHQUFHLEtBQUssRUFDdkMsS0FBSyxFQUFFLENBQUMsR0FDUCxDQUNELE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQ3pCLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUM3QixDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLFVBQVUsU0FBUyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQzFDLGVBQWUsU0FBUyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQ3hELGFBQWEsU0FBUyxTQUFTLENBQUMsZUFBZSxDQUFDLEVBRWhELE9BQU8sRUFBRSxVQUFVLEVBQ25CLFFBQVEsRUFBRSxhQUFhLEVBQ3ZCLEVBQUUsRUFBRSxZQUFZLEdBQUcsVUFBVSxHQUFHLFVBQVUsR0FBRyxhQUFhLEdBQUcsZUFBZSxHQUFHLGFBQWEsRUFDNUYsS0FBSyxFQUFFLGNBQWMsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLFNBQVMsTUFBTSxHQUFHLE1BQU0sR0FBRyxLQUFLLEdBQ3BGLENBQ0QsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FDekIsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQzdCLENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsVUFBVSxTQUFTLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFDMUMsZUFBZSxTQUFTLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFDeEQsYUFBYSxTQUFTLFNBQVMsQ0FBQyxlQUFlLENBQUMsRUFDaEQsS0FBSyxDQUFDLENBQUMsU0FBUyxTQUFTLGNBQWMsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLEVBQUUsRUFFekUsT0FBTyxFQUFFLFVBQVUsRUFDbkIsUUFBUSxFQUFFLGFBQWEsRUFDdkIsRUFBRSxFQUFFLElBQUksR0FBRyxPQUFPLEVBQ2xCLEtBQUssRUFBRSxDQUFDLEdBQ1AsQ0FDRCxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUN6QixVQUFVLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDN0IsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxVQUFVLFNBQVMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUMxQyxlQUFlLFNBQVMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUN4RCxhQUFhLFNBQVMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxFQUNoRCxDQUFDLFNBQVMsY0FBYyxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsRUFFeEQsT0FBTyxFQUFFLFVBQVUsRUFDbkIsUUFBUSxFQUFFLGFBQWEsRUFDdkIsRUFBRSxFQUNFLFVBQVUsR0FDVixhQUFhLEVBQ2pCLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQ2YsQ0FDRCxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUN6QixVQUFVLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDN0IsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxVQUFVLFNBQVMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUMxQyxlQUFlLFNBQVMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUN4RCxhQUFhLFNBQVMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxFQUNoRCxDQUFDLFNBQVMsY0FBYyxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsRUFFeEQsT0FBTyxFQUFFLFVBQVUsRUFDbkIsUUFBUSxFQUFFLGFBQWEsRUFDdkIsRUFBRSxFQUNFLGNBQWMsR0FDZCxpQkFBaUIsR0FDakIsY0FBYyxHQUNkLGlCQUFpQixFQUNyQixLQUFLLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FDMUIsQ0FDRCxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUN6QixVQUFVLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDN0IsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxVQUFVLFNBQVMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUMxQyxlQUFlLFNBQVMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUN4RCxhQUFhLFNBQVMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxFQUNoRCxDQUFDLFNBQVMsY0FBYyxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsRUFDeEQsQ0FBQyxFQUFFO1FBQ0gsT0FBTyxFQUFFLFVBQVUsQ0FBQTtRQUNuQixRQUFRLEVBQUUsYUFBYSxDQUFBO1FBQ3ZCLEVBQUUsRUFBRSxJQUFJLENBQUE7UUFDUixLQUFLLEVBQUUsQ0FBQyxDQUFBO0tBQ1QsR0FBRyxDQUNGLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQ3pCLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQTtDQUM5QixDQUFBO0FBR0QsTUFBTSxNQUFNLGlCQUFpQixDQUMzQixZQUFZLFNBQVMsV0FBVyxFQUNoQyxVQUFVLFNBQVMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUMxQyxDQUFDLEVBQ0QsTUFBTSxTQUFTLE9BQU8sR0FBRyxLQUFLLElBRzlCO0lBQUMsQ0FBQztDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxHQUFHLE9BQU8sR0FBRyxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQ25ELG9CQUFvQixDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUN6RCxZQUFZLENBQUE7QUFHbEIsTUFBTSxNQUFNLG9CQUFvQixDQUFDLGdCQUFnQixTQUFTLE9BQU8sR0FBRyxLQUFLLElBQUk7SUFDM0UsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxLQUFLLENBQUMsVUFBVSxTQUFTLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFDaEQsS0FBSyxDQUFDLENBQUMsU0FBUyxjQUFjLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxFQUN4RCxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFekIsSUFBSSxFQUFFLFVBQVUsRUFDaEIsS0FBSyxFQUFFLENBQUMsR0FDUCxDQUNELE9BQU8sRUFBRSxnQkFBZ0IsU0FBUyxJQUFJLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUN4RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUNqRCxVQUFVLENBQ1gsWUFBWSxFQUVaLGlCQUFpQixDQUFDLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFDckQsVUFBVSxTQUFTLE1BQU0sR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUN6QyxDQUFBO0lBQ0gsQ0FDRSxZQUFZLFNBQVMsV0FBVyxFQUNoQyxLQUFLLENBQUMsVUFBVSxTQUFTLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFDaEQsS0FBSyxDQUFDLENBQUMsU0FBUyxjQUFjLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxFQUN4RCxtQkFBbUIsU0FBUyxZQUFZLEdBQUcsWUFBWSxFQUN2RCxDQUFDLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFekIsSUFBSSxFQUFFLFVBQVUsRUFDaEIsRUFBRSxFQUFFLEtBQUssRUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUNQLENBQ0QsT0FBTyxFQUFFLGdCQUFnQixTQUFTLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQ3hELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQ2pELFVBQVUsQ0FDWCxZQUFZLEVBRVosaUJBQWlCLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsRUFDM0QsQ0FBQyxDQUNGLENBQUE7SUFDSCxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLFVBQVUsU0FBUyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQzFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsU0FBUyxjQUFjLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQ25FLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUV6QixJQUFJLEVBQUUsVUFBVSxFQUNoQixFQUFFLEVBQUUsSUFBSSxFQUNSLEtBQUssRUFBRSxDQUFDLEdBQ1AsQ0FDRCxPQUFPLEVBQUUsZ0JBQWdCLFNBQVMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FDeEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDakQsVUFBVSxDQUNiLFlBQVksRUFFWixpQkFBaUIsQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQzFFLENBQUMsQ0FDRixDQUFBO0NBQ0YsQ0FBQTtBQUVELE1BQU0sTUFBTSw0QkFBNEIsQ0FBQyxnQkFBZ0IsU0FBUyxPQUFPLEdBQUcsS0FBSyxJQUFJO0lBQ25GLENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUxQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEdBQ3RGLENBQ0QsT0FBTyxFQUFFLGdCQUFnQixTQUFTLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDNUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUV0RCxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsR0FDbEgsQ0FDRCxPQUFPLEVBQUUsZ0JBQWdCLFNBQVMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUM1RyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRXRELENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsR0FDbEgsQ0FDRCxPQUFPLEVBQUUsZ0JBQWdCLFNBQVMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUM1RyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRXRELENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUxQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEdBQ2xILENBQ0QsT0FBTyxFQUFFLGdCQUFnQixTQUFTLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDNUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUV0RCxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsR0FDbEgsQ0FDRCxPQUFPLEVBQUUsZ0JBQWdCLFNBQVMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUM1RyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRXRELENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsR0FDbEgsQ0FDRCxPQUFPLEVBQUUsZ0JBQWdCLFNBQVMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUM1RyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRXRELENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUxQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEVBQ25ILEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEdBQ2xILENBQ0QsT0FBTyxFQUFFLGdCQUFnQixTQUFTLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDNUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUV0RCxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTFCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsR0FDbEgsQ0FDRCxPQUFPLEVBQUUsZ0JBQWdCLFNBQVMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUM1RyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRXRELENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQ3JELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEdBQ3RELENBQ0QsT0FBTyxFQUFFLGdCQUFnQixTQUFTLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDNUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUV2RCxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFM0IsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FDckQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEdBQ3RELENBQ0QsT0FBTyxFQUFFLGdCQUFnQixTQUFTLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDNUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUV2RCxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQ3JELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsR0FDdEQsQ0FDRCxPQUFPLEVBQUUsZ0JBQWdCLFNBQVMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUM1RyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBRXZELENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsRUFDbkgsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQ3JELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEdBQ3RELENBQ0QsT0FBTyxFQUFFLGdCQUFnQixTQUFTLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDNUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUV2RCxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELENBQUMsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUN6QixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFFM0IsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUN2RixFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxFQUNuSCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUMsS0FDckQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEdBQ3RELENBQ0QsT0FBTyxFQUFFLGdCQUFnQixTQUFTLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsS0FDNUcsVUFBVSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtD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Q0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxHQUN0RCxDQUNELE9BQU8sRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixHQUFHLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRTdFLENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQscUJBQXFCLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDekQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxHQUN4RCxDQUNELE9BQU8sRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG1CQUFtQixHQUFHLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBRS9FLENBQ0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQscUJBQXFCLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDekQscUJBQXFCLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDekQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUUzQixFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZGLEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFB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Q0UsWUFBWSxTQUFTLFdBQVcsRUFDaEMsbUJBQW1CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDdkQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQsb0JBQW9CLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDeEQscUJBQXFCLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDekQscUJBQXFCLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDekQscUJBQXFCLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDekQscUJBQXFCLFNBQVMsWUFBWSxHQUFHLFlBQVksRUFDekQsQ0FBQyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQ3pCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsRUFBRSxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzFCLEVBQUUsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMxQixFQUFFLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDMUIsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBQzNCLEdBQUcsU0FBUyxPQUFPLEdBQUcsS0FBSyxFQUMzQixHQUFHLFNBQVMsT0FBTyxHQUFHLEtBQUssRUFDM0IsR0FBRyxTQUFTLE9BQU8sR0FBRyxLQUFLLEVBRTNCLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUMsRUFDdkYsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZE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QkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHLENBQUMsRUFDekQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEtBQ3hELFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFC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LFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxDQUFDLEdBQ3hELENBQ0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEdBQUcscUJBQXFCLENBQUMsQ0FBQTtJQUUxRSxDQUNFLFlBQVksU0FBUyxXQUFXLEVBQ2hDLG1CQUFtQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3ZELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9CQUFvQixTQUFTLFlBQVksR0FBRyxZQUFZLEVBQ3hELG9C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QUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsRUFDdkQsRUFBRSxFQUFFLENBQ0YsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQ3RELFVBQVUsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLEVBQ3ZELEVBQUUsRUFBRSxDQUNGLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUN0RCxVQUFVLENBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxFQUN2RCxFQUFFLEVBQUUsQ0FDRixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsS0FDdEQsVUFBVSxDQUFDLFlB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
|