@sap/cds 7.9.4 → 8.0.4
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 +128 -3659
- package/_i18n/i18n_en_US_saptrc.properties +113 -0
- package/_i18n/i18n_zh_CN.properties +7 -4
- package/app/index.css +129 -0
- package/app/index.html +16 -64
- package/app/index.js +14 -9
- package/bin/args.js +34 -0
- package/bin/serve.js +18 -24
- package/bin/test.js +97 -0
- package/common.cds +5 -12
- package/eslint.config.mjs +133 -0
- package/lib/auth/basic-auth.js +16 -20
- package/lib/auth/dummy-auth.js +1 -1
- package/lib/auth/ias-auth.js +9 -41
- package/lib/auth/index.js +1 -14
- package/lib/auth/jwt-auth.js +10 -40
- package/lib/compile/cds-compile.js +1 -2
- package/lib/compile/cdsc.js +21 -26
- package/lib/compile/etc/_localized.js +1 -6
- package/lib/compile/etc/csv.js +1 -1
- package/lib/compile/etc/properties.js +1 -1
- package/lib/compile/for/java.js +1 -1
- package/lib/compile/for/lean_drafts.js +4 -6
- package/lib/compile/for/nodejs.js +1 -1
- package/lib/compile/parse.js +4 -0
- package/lib/compile/resolve.js +4 -4
- package/lib/compile/to/edm-files.js +16 -23
- package/lib/compile/to/hana.js +27 -0
- package/lib/compile/to/json.js +1 -1
- package/lib/compile/to/sql.js +5 -1
- package/lib/compile/to/yaml.js +3 -3
- package/lib/dbs/cds-deploy.js +4 -2
- package/lib/env/cds-env.js +10 -14
- package/lib/env/cds-requires.js +30 -13
- package/lib/env/defaults.js +46 -16
- package/lib/env/plugins.js +1 -1
- package/lib/env/schemas/cds-rc.js +8 -4
- package/lib/env/schemas/index.js +7 -7
- package/lib/env/serviceBindings.js +1 -1
- package/lib/index.js +12 -10
- package/lib/lazy.js +1 -1
- package/lib/linked/classes.js +36 -8
- package/lib/linked/entities.js +2 -10
- package/lib/linked/models.js +2 -1
- package/lib/linked/validate.js +292 -0
- package/lib/log/cds-error.js +0 -6
- package/lib/log/cds-log.js +3 -3
- package/lib/log/format/json.js +1 -1
- package/lib/log/service/index.js +0 -1
- package/lib/plugins.js +2 -2
- package/lib/ql/Query.js +2 -10
- package/lib/ql/SELECT.js +1 -1
- package/lib/ql/Whereable.js +3 -2
- package/lib/req/cds-context.js +14 -25
- package/lib/req/context.js +23 -25
- package/lib/req/request.js +1 -34
- package/lib/req/user.js +47 -35
- package/lib/srv/bindings.js +1 -1
- package/lib/srv/cds-connect.js +4 -4
- package/lib/srv/cds-serve.js +2 -2
- package/lib/srv/factory.js +1 -1
- package/lib/srv/middlewares/cds-context.js +11 -22
- package/lib/srv/middlewares/ctx-model.js +2 -3
- package/lib/srv/middlewares/errors.js +41 -8
- package/lib/srv/middlewares/index.js +3 -3
- package/lib/srv/middlewares/trace.js +0 -2
- package/lib/srv/protocols/hcql.js +15 -10
- package/lib/srv/protocols/http.js +44 -49
- package/lib/srv/protocols/index.js +1 -23
- package/lib/srv/protocols/odata-v4.js +12 -74
- package/lib/srv/protocols/rest.js +1 -13
- package/lib/srv/srv-api.js +0 -20
- package/lib/srv/srv-dispatch.js +3 -2
- package/lib/srv/srv-handlers.js +22 -11
- package/lib/srv/srv-methods.js +2 -2
- package/lib/srv/srv-models.js +3 -36
- package/lib/test/expect.js +343 -0
- package/lib/test/index.js +2 -0
- package/lib/test/reporter.js +176 -0
- package/lib/utils/axios.js +10 -9
- package/lib/utils/cds-test.js +85 -36
- package/lib/utils/cds-utils.js +54 -7
- package/lib/utils/check-version.js +0 -4
- package/lib/utils/colors.js +49 -0
- package/lib/utils/data.js +5 -4
- package/libx/_runtime/cds-services/adapter/odata-v4/OData.js +2 -7
- package/libx/_runtime/cds-services/adapter/odata-v4/ODataRequest.js +3 -30
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/error.js +6 -12
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/metadata.js +1 -3
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/read.js +0 -1
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/request.js +4 -7
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/update.js +12 -6
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/ExpressionToCQN.js +2 -4
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/applyToCQN.js +1 -0
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/expandToCQN.js +1 -1
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/index.js +0 -1
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/readToCQN.js +1 -3
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/utils.js +1 -1
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/edm/AbstractEdmStructuredType.js +1 -2
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/ResourceJsonDeserializer.js +5 -0
- package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/serializer/ContextURLFactory.js +1 -1
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/data.js +9 -43
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/metaInfo.js +0 -1
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/readAfterWrite.js +8 -3
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/request.js +4 -2
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/result.js +1 -3
- package/libx/_runtime/cds-services/util/assert.js +1 -1
- package/libx/_runtime/cds.js +10 -3
- package/libx/_runtime/common/Service.js +12 -32
- package/libx/_runtime/common/aspects/any.js +1 -0
- package/libx/_runtime/common/code-ext/execute.js +1 -1
- package/libx/_runtime/common/code-ext/worker.js +0 -1
- package/libx/_runtime/common/composition/data.js +0 -1
- package/libx/_runtime/common/composition/delete.js +0 -1
- package/libx/_runtime/common/composition/tree.js +0 -1
- package/libx/_runtime/common/composition/update.js +3 -3
- package/libx/_runtime/common/error/frontend.js +21 -12
- package/libx/_runtime/common/error/log.js +36 -0
- package/libx/_runtime/common/error/utils.js +2 -5
- package/libx/_runtime/common/generic/auth/autoexpose.js +18 -17
- package/libx/_runtime/common/generic/auth/expand.js +1 -1
- package/libx/_runtime/common/generic/auth/readOnly.js +1 -2
- package/libx/_runtime/common/generic/auth/restrict.js +23 -42
- package/libx/_runtime/common/generic/auth/restrictions.js +2 -7
- package/libx/_runtime/common/generic/auth/utils.js +91 -88
- package/libx/_runtime/common/generic/crud.js +6 -5
- package/libx/_runtime/common/generic/etag.js +7 -12
- package/libx/_runtime/common/generic/input.js +70 -68
- package/libx/_runtime/common/generic/paging.js +1 -0
- package/libx/_runtime/common/generic/sorting.js +1 -0
- package/libx/_runtime/common/generic/temporal.js +8 -2
- package/libx/_runtime/common/i18n/index.js +1 -1
- package/libx/_runtime/common/i18n/messages.properties +3 -1
- package/libx/_runtime/common/utils/binary.js +8 -2
- package/libx/_runtime/common/utils/compareJson.js +5 -1
- package/libx/_runtime/common/utils/copy.js +6 -11
- package/libx/_runtime/common/utils/cqn2cqn4sql.js +16 -14
- package/libx/_runtime/common/utils/differ.js +3 -6
- package/libx/_runtime/common/utils/keys.js +77 -18
- package/libx/_runtime/common/utils/postProcess.js +12 -15
- package/libx/_runtime/common/utils/propagateForeignKeys.js +0 -1
- package/libx/_runtime/common/utils/resolveView.js +2 -3
- package/libx/_runtime/common/utils/restrictions.js +45 -17
- package/libx/_runtime/common/utils/rewriteAsterisks.js +1 -8
- package/libx/_runtime/common/utils/stream.js +3 -16
- package/libx/_runtime/common/utils/streamProp.js +8 -18
- package/libx/_runtime/common/utils/structured.js +1 -1
- package/libx/_runtime/common/utils/ucsn.js +0 -2
- package/libx/_runtime/db/Service.js +0 -72
- package/libx/_runtime/db/data-conversion/post-processing.js +0 -1
- package/libx/_runtime/db/expand/expandCQNToJoin.js +9 -9
- package/libx/_runtime/db/expand/rawToExpanded.js +0 -8
- package/libx/_runtime/db/generic/input.js +3 -8
- package/libx/_runtime/db/generic/rewrite.js +1 -0
- package/libx/_runtime/db/query/read.js +2 -2
- package/libx/_runtime/db/sql-builder/ExpressionBuilder.js +0 -1
- package/libx/_runtime/db/sql-builder/InsertBuilder.js +1 -1
- package/libx/_runtime/db/utils/columns.js +2 -6
- package/libx/_runtime/fiori/lean-draft.js +138 -56
- package/libx/_runtime/hana/Service.js +0 -1
- package/libx/_runtime/hana/driver.js +1 -1
- package/libx/_runtime/hana/dynatrace.js +1 -2
- package/libx/_runtime/hana/pool.js +11 -21
- package/libx/_runtime/hana/streaming.js +0 -1
- package/libx/_runtime/messaging/common-utils/AMQPClient.js +0 -1
- package/libx/_runtime/messaging/common-utils/authorizedRequest.js +1 -1
- package/libx/_runtime/messaging/common-utils/normalizeIncomingMessage.js +1 -1
- package/libx/_runtime/messaging/enterprise-messaging-utils/getTenantInfo.js +1 -1
- package/libx/_runtime/messaging/enterprise-messaging-utils/registerEndpoints.js +19 -33
- package/libx/_runtime/messaging/event-broker.js +54 -27
- package/libx/_runtime/messaging/file-based.js +3 -3
- package/libx/_runtime/messaging/http-utils/token.js +1 -1
- package/libx/_runtime/messaging/kafka.js +2 -2
- package/libx/_runtime/messaging/redis-messaging.js +0 -1
- package/libx/_runtime/remote/Service.js +25 -25
- package/libx/_runtime/remote/utils/client.js +4 -5
- package/libx/_runtime/remote/utils/cloudSdkProvider.js +0 -3
- package/libx/_runtime/remote/utils/data.js +0 -1
- package/libx/_runtime/sqlite/Service.js +1 -2
- package/libx/_runtime/ucl/Service.js +37 -78
- package/libx/common/assert/index.js +22 -21
- package/libx/common/assert/type-relaxed.js +39 -0
- package/libx/common/assert/utils.js +3 -2
- package/libx/common/assert/validation.js +3 -8
- package/libx/common/utils/index.js +5 -0
- package/libx/common/utils/path.js +51 -0
- package/libx/odata/ODataAdapter.js +126 -0
- package/libx/odata/index.js +15 -2
- package/libx/odata/middleware/batch.js +320 -84
- package/libx/odata/middleware/body-parser.js +33 -0
- package/libx/odata/middleware/create.js +44 -59
- package/libx/odata/middleware/delete.js +23 -12
- package/libx/odata/middleware/error.js +30 -6
- package/libx/odata/middleware/metadata.js +38 -26
- package/libx/odata/middleware/operation.js +93 -69
- package/libx/odata/middleware/parse.js +6 -8
- package/libx/odata/middleware/read.js +117 -93
- package/libx/odata/middleware/service-document.js +22 -19
- package/libx/odata/middleware/stream.js +54 -56
- package/libx/odata/middleware/update.js +79 -87
- package/libx/odata/parse/afterburner.js +191 -175
- package/libx/odata/parse/cqn2odata.js +5 -5
- package/libx/odata/parse/grammar.peggy +27 -20
- package/libx/odata/parse/multipartToJson.js +17 -9
- package/libx/odata/parse/parser.js +1 -1
- package/libx/odata/utils/etag.js +14 -6
- package/libx/odata/utils/index.js +84 -12
- package/libx/odata/utils/metadata.js +161 -0
- package/libx/odata/utils/postProcess.js +89 -0
- package/libx/odata/utils/readAfterWrite.js +134 -17
- package/libx/odata/utils/result.js +36 -142
- package/libx/outbox/index.js +4 -3
- package/libx/rest/RestAdapter.js +115 -182
- package/libx/rest/middleware/create.js +28 -24
- package/libx/rest/middleware/delete.js +7 -10
- package/libx/rest/middleware/error.js +26 -16
- package/libx/rest/middleware/operation.js +48 -41
- package/libx/rest/middleware/parse.js +128 -126
- package/libx/rest/middleware/read.js +20 -27
- package/libx/rest/middleware/update.js +26 -31
- package/package.json +17 -8
- package/server.js +4 -2
- package/apis/cds.d.ts +0 -3
- package/apis/core.d.ts +0 -21
- package/apis/cqn.d.ts +0 -18
- package/apis/csn.d.ts +0 -21
- package/apis/events.d.ts +0 -18
- package/apis/internal/inference.d.ts +0 -18
- package/apis/linked.d.ts +0 -18
- package/apis/log.d.ts +0 -20
- package/apis/models.d.ts +0 -18
- package/apis/ql.d.ts +0 -18
- package/apis/reflect.d.ts +0 -32
- package/apis/server.d.ts +0 -18
- package/apis/services.d.ts +0 -22
- package/bin/cds-serve.js +0 -56
- package/lib/compile/to/gql.js +0 -15
- package/lib/srv/protocols/_legacy.js +0 -44
- package/lib/utils/jest.js +0 -43
- package/libx/_runtime/auth/index.js +0 -193
- package/libx/_runtime/auth/strategies/JWT.js +0 -37
- package/libx/_runtime/auth/strategies/basic.js +0 -20
- package/libx/_runtime/auth/strategies/dummy.js +0 -14
- package/libx/_runtime/auth/strategies/ias-auth.js +0 -1
- package/libx/_runtime/auth/strategies/mock.js +0 -77
- package/libx/_runtime/auth/strategies/xssecUtils.js +0 -93
- package/libx/_runtime/auth/strategies/xsuaa.js +0 -38
- package/libx/_runtime/common/perf/index.js +0 -19
- package/libx/_runtime/common/utils/ensureIEEE754.js +0 -29
- package/libx/_runtime/fiori/draft.js +0 -2
- package/libx/_runtime/fiori/generic/activate.js +0 -190
- package/libx/_runtime/fiori/generic/before.js +0 -201
- package/libx/_runtime/fiori/generic/cancel.js +0 -19
- package/libx/_runtime/fiori/generic/delete.js +0 -21
- package/libx/_runtime/fiori/generic/edit.js +0 -157
- package/libx/_runtime/fiori/generic/index.js +0 -25
- package/libx/_runtime/fiori/generic/new.js +0 -82
- package/libx/_runtime/fiori/generic/patch.js +0 -101
- package/libx/_runtime/fiori/generic/prepare.js +0 -57
- package/libx/_runtime/fiori/generic/read.js +0 -1340
- package/libx/_runtime/fiori/generic/readOverDraft.js +0 -146
- package/libx/_runtime/fiori/utils/csn.js +0 -13
- package/libx/_runtime/fiori/utils/delete.js +0 -114
- package/libx/_runtime/fiori/utils/handler.js +0 -264
- package/libx/_runtime/fiori/utils/lockInfo.js +0 -27
- package/libx/_runtime/fiori/utils/req.js +0 -23
- package/libx/_runtime/fiori/utils/stream.js +0 -36
- package/libx/_runtime/fiori/utils/where.js +0 -254
- package/libx/_runtime/index.js +0 -22
- package/libx/odata/utils/handler.js +0 -120
- package/libx/odata/utils/metaInfo.js +0 -410
- package/libx/odata/utils/path.js +0 -75
- package/libx/rest/RestRequest.js +0 -32
- package/libx/rest/index.js +0 -3
- package/libx/rest/readme.md +0 -1
- /package/libx/common/assert/{type.js → type-strict.js} +0 -0
|
@@ -342,7 +342,7 @@ const _parseColumns = columns => {
|
|
|
342
342
|
// REVISIT: expand to one & limit in options
|
|
343
343
|
// > const expanded = $expand(col.expand)
|
|
344
344
|
// > expand.push(expanded ? `${ref}(${expanded})` : ref)
|
|
345
|
-
// see
|
|
345
|
+
// see test.skip('READ with expand'... in custom handler test
|
|
346
346
|
} else {
|
|
347
347
|
select.push(refName)
|
|
348
348
|
}
|
|
@@ -415,7 +415,7 @@ function $orderBy(orderBy) {
|
|
|
415
415
|
return '$orderby=' + res.join(',')
|
|
416
416
|
}
|
|
417
417
|
|
|
418
|
-
function parseSearch(search
|
|
418
|
+
function parseSearch(search) {
|
|
419
419
|
const res = []
|
|
420
420
|
|
|
421
421
|
for (const cur of search) {
|
|
@@ -426,8 +426,7 @@ function parseSearch(search, kind) {
|
|
|
426
426
|
|
|
427
427
|
if (hasValidProps(cur, 'val')) {
|
|
428
428
|
// search term must not be formatted
|
|
429
|
-
|
|
430
|
-
else res.push(`"${encodeURIComponent(cur.val)}"`)
|
|
429
|
+
res.push(`${encodeURIComponent(cur.val)}`)
|
|
431
430
|
}
|
|
432
431
|
|
|
433
432
|
if (typeof cur === 'string') {
|
|
@@ -478,7 +477,8 @@ const parsers = {
|
|
|
478
477
|
count: (cqnPart, url, kind, target, isCount) => !isCount && $count(cqnPart, kind),
|
|
479
478
|
limit: (cqnPart, url, kind, target, isCount) => !isCount && $limit(cqnPart),
|
|
480
479
|
one: (cqnPart, url, kind, target, isCount) => !isCount && $one(cqnPart, url, kind),
|
|
481
|
-
|
|
480
|
+
// eslint-disable-next-line no-unused-vars
|
|
481
|
+
ref: (cqnPart, url, kind, target, isCount) => cqnPart[0].where && $where(cqnPart[0].where, target, kind)
|
|
482
482
|
}
|
|
483
483
|
|
|
484
484
|
function getOptions(cqnPart, url, kind, target, isCount) {
|
|
@@ -263,7 +263,7 @@
|
|
|
263
263
|
where?.forEach(element => {
|
|
264
264
|
if (element.val === alias) {
|
|
265
265
|
// TODO check if we want to store replaced aliases/values for req.data in actions/functions in CQN
|
|
266
|
-
element.val = value.val
|
|
266
|
+
element.val = 'list' in value ? value.list.map(ele => ele.val) : value.val
|
|
267
267
|
} else if (element.list === alias) {
|
|
268
268
|
element.list = value.list
|
|
269
269
|
} else if (element.func) {
|
|
@@ -293,7 +293,7 @@
|
|
|
293
293
|
|
|
294
294
|
ODataRelativeURI // Note: case-sensitive!
|
|
295
295
|
= '/'? (p:path { SELECT = p })
|
|
296
|
-
( o"?"o (QueryOption ( o'&'o QueryOption )*)? )? o {
|
|
296
|
+
( o"?" o ( '&'? o QueryOption ( o'&'+o QueryOption )*)? )? o {
|
|
297
297
|
if (count) {
|
|
298
298
|
// columns set because of $count: ignore $select, $expand, $top, $skip, $orderby
|
|
299
299
|
// REVISIT: don't ignore query options but throw bad request (as okra did)?
|
|
@@ -381,12 +381,15 @@
|
|
|
381
381
|
//
|
|
382
382
|
// ---------- Query Options ------------
|
|
383
383
|
|
|
384
|
-
QueryOption =
|
|
384
|
+
QueryOption =
|
|
385
385
|
"$skiptoken=" o skiptoken /
|
|
386
|
+
"$search=" o s:search { if (s) SELECT.search = s } / // top level search is parsed differently than within expand
|
|
387
|
+
option:ExpandOption { if(option && option.apply) SELECT.apply = option.apply} /
|
|
386
388
|
temporal /
|
|
387
389
|
format /
|
|
388
390
|
custom /
|
|
389
|
-
aliasedParamEqualsVal
|
|
391
|
+
aliasedParamEqualsVal /
|
|
392
|
+
deltaToken
|
|
390
393
|
// @OData spec for $expand:
|
|
391
394
|
// "Allowed system query options are $filter, $select, $orderby, $skip, $top, $count, $search, $expand and
|
|
392
395
|
// $apply (https://go.sap.corp/0jzs)."
|
|
@@ -397,7 +400,7 @@
|
|
|
397
400
|
"$orderby=" o o:orderby ( COMMA o2:orderby{_setOrderBy(o2)} )* {_setOrderBy(o,true)} /
|
|
398
401
|
"$top=" o val:top { (SELECT.limit || (SELECT.limit={})).rows = {val} } /
|
|
399
402
|
"$skip=" o val:skip { _setLimitOffset(val) } /
|
|
400
|
-
"$search=" o s:
|
|
403
|
+
"$search=" o s:search_expand { if (s) SELECT.search = s } /
|
|
401
404
|
"$count=" o count /
|
|
402
405
|
"$apply=" o trafos:transformations { return trafos } /
|
|
403
406
|
// Workaround to support empty expand even if not OData compliant old adapter supported it and did not crash
|
|
@@ -483,14 +486,11 @@
|
|
|
483
486
|
/ o // Do not add search property for space only
|
|
484
487
|
|
|
485
488
|
search_clause
|
|
486
|
-
=
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
)
|
|
492
|
-
)( ao:(AND/OR/AND_SPACE) more:search_clause {p.push(ao,...more)} )*
|
|
493
|
-
{ return p }
|
|
489
|
+
= val:$( [^&]+ ) { return [{ val }] }
|
|
490
|
+
|
|
491
|
+
search_expand
|
|
492
|
+
= val:$( [^;)]+ ) { return [{ val }] }
|
|
493
|
+
/ o // Do not add search property for space only
|
|
494
494
|
|
|
495
495
|
filter
|
|
496
496
|
= p:where_clause { return p }
|
|
@@ -617,10 +617,18 @@
|
|
|
617
617
|
return {apply: mainTransformation}
|
|
618
618
|
}
|
|
619
619
|
|
|
620
|
-
|
|
620
|
+
deltaToken = "$deltatoken=" o token:([^&]*) { return token }
|
|
621
|
+
|
|
622
|
+
valList "value with double-quoted string"
|
|
623
|
+
= val:doubleQuotedString {return {val}}
|
|
624
|
+
/ !"'" val:val {return val}
|
|
625
|
+
|
|
626
|
+
innerListParam = (val1:valList val2:("," v:valList { return v })* { return [val1, ...val2] })
|
|
627
|
+
|
|
628
|
+
aliasedParamVal = val / jsonObject / jsonArray / "[" list:innerListParam "]" { return { list } }
|
|
621
629
|
|
|
622
630
|
custom
|
|
623
|
-
= [a-zA-Z0-9-_
|
|
631
|
+
= [a-zA-Z0-9-_.~!]+ ("=" [^&]*)?
|
|
624
632
|
|
|
625
633
|
aliasedParam "an aliased parameter (@param)" = "@" i:identifier { return "@" + i }
|
|
626
634
|
aliasedParamEqualsVal = alias:aliasedParam "=" !aliasedParam value:aliasedParamVal {
|
|
@@ -700,7 +708,7 @@
|
|
|
700
708
|
list "a list"
|
|
701
709
|
= "[" any:$([^\]])* "]" // > needs improvment
|
|
702
710
|
{ return { list: any.replace(/"/g,'').split(',').map(ele => ({ val: ele })) } }
|
|
703
|
-
|
|
711
|
+
|
|
704
712
|
innerList = (val1:val val2:("," v:val { return v })* { return [val1, ...val2] })
|
|
705
713
|
|
|
706
714
|
listRoundBrackets "a list"
|
|
@@ -809,11 +817,10 @@
|
|
|
809
817
|
return {where: where}
|
|
810
818
|
}
|
|
811
819
|
|
|
812
|
-
searchTrafo = OPEN
|
|
820
|
+
searchTrafo = OPEN search:$([^)]*) CLOSE {
|
|
821
|
+
search = search.trim()
|
|
813
822
|
if (!search) return
|
|
814
|
-
return search
|
|
815
|
-
}) o CLOSE {
|
|
816
|
-
return {search: search}
|
|
823
|
+
return {search: [{val: search }]}
|
|
817
824
|
}
|
|
818
825
|
|
|
819
826
|
concatTrafo = OPEN o trafo1:transformations trafo2:(o COMMA o trafos:transformations{ return trafos })+ o CLOSE {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
// eslint-disable-next-line cds/no-missing-dependencies
|
|
2
1
|
const { parsers, freeParser, HTTPParser } = require('_http_common')
|
|
3
2
|
const { PassThrough, Readable } = require('stream')
|
|
4
3
|
const streamConsumers = require('stream/consumers')
|
|
4
|
+
const { getBoundary } = require('../utils')
|
|
5
5
|
|
|
6
6
|
const CRLF = '\r\n'
|
|
7
7
|
|
|
@@ -25,7 +25,7 @@ const parseStream = async function* (body, boundary) {
|
|
|
25
25
|
if (`/${boundaries.at(-1)}--` === req.url) {
|
|
26
26
|
boundaries.pop()
|
|
27
27
|
}
|
|
28
|
-
const newBoundary = req
|
|
28
|
+
const newBoundary = getBoundary(req)
|
|
29
29
|
if (newBoundary) boundaries.push(newBoundary)
|
|
30
30
|
content_id = req.headers['content-id']
|
|
31
31
|
return
|
|
@@ -48,7 +48,8 @@ const parseStream = async function* (body, boundary) {
|
|
|
48
48
|
for (const dependency of dependencies) {
|
|
49
49
|
const index = Number.parseInt(dependency[1], 10)
|
|
50
50
|
if (Number.isNaN(index)) continue
|
|
51
|
-
const
|
|
51
|
+
const i = requests.findIndex(r => r.content_id == index) //> prefer content-id
|
|
52
|
+
const id = requests[i > -1 ? i : index - 1].id
|
|
52
53
|
request.dependsOn.push(id)
|
|
53
54
|
request.url = request.url.replace(`$${index}`, `$${id}`)
|
|
54
55
|
}
|
|
@@ -75,18 +76,25 @@ const parseStream = async function* (body, boundary) {
|
|
|
75
76
|
// ensure URLs start with slashes
|
|
76
77
|
changed = changed.replaceAll(/\r\n(GET|PUT|POST|PATCH|DELETE) (\w)/g, `\r\n$1 /$2`)
|
|
77
78
|
// add content-length headers
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
let lastIndex = 0
|
|
80
|
+
changed = changed.replaceAll(/(\r\n){2,}(.+)[\r\n]+HEAD/g, (match, _, p1, index, original) => {
|
|
81
|
+
const part = original.substring(lastIndex, index)
|
|
82
|
+
lastIndex = index
|
|
83
|
+
return part.match(/(PUT|POST|PATCH)\s\//g) && !part.match(/content-length/i) && !p1.startsWith('HEAD /')
|
|
84
|
+
? `${CRLF}content-length: ${Buffer.byteLength(p1)}${match}`
|
|
85
|
+
: match
|
|
86
|
+
})
|
|
82
87
|
// remove strange "Group ID" appendix
|
|
83
88
|
changed = changed.split(`${CRLF}Group ID`)[0] + CRLF
|
|
84
89
|
|
|
85
90
|
let ret = parser.execute(Buffer.from(changed))
|
|
86
91
|
|
|
87
92
|
if (typeof ret !== 'number') {
|
|
88
|
-
|
|
89
|
-
|
|
93
|
+
if (ret.message === 'Parse Error') {
|
|
94
|
+
// console.trace(ret, ret.bytesParsed ? `\n\nin:\n${changed.substr(0, ret.bytesParsed + 1)}\n\n` : '')
|
|
95
|
+
ret.statusCode = 400
|
|
96
|
+
ret.message = `Error while parsing batch body at position ${ret.bytesParsed}: ${ret.reason}`
|
|
97
|
+
}
|
|
90
98
|
throw ret
|
|
91
99
|
}
|
|
92
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function peg$subclass(u,t){function r(){this.constructor=u}r.prototype=t.prototype,u.prototype=new r}function peg$SyntaxError(u,t,r,n){var e=Error.call(this,u);return Object.setPrototypeOf&&Object.setPrototypeOf(e,peg$SyntaxError.prototype),e.expected=t,e.found=r,e.location=n,e.name="SyntaxError",e}function peg$padEnd(u,t,r){return r=r||" ",u.length>t?u:(t-=u.length,u+(r+=r.repeat(t)).slice(0,t))}function peg$parse(u,t){var r,n={},e=(t=void 0!==t?t:{}).grammarSource,o={ODataRelativeURI:bs},s=bs,i="/",a="?",c="&",f="$count",l="$ref",A="$value",p="=",h="$skiptoken=",C="$select=",d="$expand=",F="$filter=",g="$orderby=",B="$top=",E="$skip=",v="$search=",m="$count=",b="$apply=",D="$at",y="$from",$="$toInclusive",x="$to",w="*",L="/$count",S=";",T="'",j=":",O="any",Z="all",z="asc",k="desc",_="[",R="]",I="@",N="$format=",q="eq",P="ne",U="lt",M="gt",G="le",H="ge",J="in",K="null",Q="{",V="}",W=",",X="contains",Y="endswith",uu="startswith",tu="matchespattern",ru="not",nu="and",eu="or",ou="aggregate",su="groupby",iu="filter",au="search",cu="concat",fu="compute",lu="top",Au="skip",pu="orderby",hu="topcount",Cu="bottomcount",du="topsum",Fu="bottomsum",gu="toppercent",Bu="bottompercent",Eu="with",vu="from",mu="as",bu="rollup",Du="$all",yu="identity",$u="true",xu="false",wu="''",Lu='"',Su='\\"',Tu="\\\\",ju="-",Ou="T",Zu=".",zu="Z",ku="e",_u="binary'",Ru="==",Iu="(",Nu=")",qu=/^[a-zA-Z0-9\-_.~]/,Pu=/^[^&]/,Uu=/^[^}]/,Mu=/^[^\]]/,Gu=/^[a-zA-Z]/,Hu=/^[^']/,Ju=/^[^"]/,Ku=/^[^ \t\n()"&;]/,Qu=/^[0-9]/,Vu=/^[+\-]/,Wu=/^[_a-zA-Z]/,Xu=/^[_a-zA-Z0-9"."A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Yu=/^[0-9a-fA-F]/,ut=/^[^\/?]/,tt=/^[a-zA-Z0-9\-"."_~!$'()*+,;=:@"\/""?"]/,rt=/^[a-zA-Z0-9\-_]/,nt=/^[ \t\n]/,et=ds("/",!1),ot=ds("?",!1),st=ds("&",!1),it=ds("$count",!1),at=ds("$ref",!1),ct=ds("$value",!1),ft=ds("=",!1),lt=ds("$skiptoken=",!1),At=ds("$select=",!1),pt=ds("$expand=",!1),ht=ds("$filter=",!1),Ct=ds("$orderby=",!1),dt=ds("$top=",!1),Ft=ds("$skip=",!1),gt=ds("$search=",!1),Bt=ds("$count=",!1),Et=ds("$apply=",!1),vt=ds("$at",!1),mt=ds("$from",!1),bt=ds("$toInclusive",!1),Dt=ds("$to",!1),yt=ds("*",!1),$t=ds("/$count",!1),xt=ds(";",!1),wt=ds("'",!1),Lt=ds(":",!1),St=ds("any",!1),Tt=ds("all",!1),jt=ds("asc",!1),Ot=ds("desc",!1),Zt=ds("[",!1),zt=ds("]",!1),kt=Fs([["a","z"],["A","Z"],["0","9"],"-","_",".","~"],!1,!1),_t=Fs(["&"],!0,!1),Rt=gs("an aliased parameter (@param)"),It=ds("@",!1),Nt=ds("$format=",!1),qt=ds("eq",!1),Pt=ds("ne",!1),Ut=ds("lt",!1),Mt=ds("gt",!1),Gt=ds("le",!1),Ht=ds("ge",!1),Jt=ds("in",!1),Kt=(ds("add",!1),ds("sub",!1),ds("mul",!1),ds("div",!1),ds("mod",!1),gs("navigation with $count")),Qt=gs("a reference"),Vt=gs("null"),Wt=ds("null",!1),Xt=gs("a json object"),Yt=ds("{",!1),ur=Fs(["}"],!0,!1),tr=ds("}",!1),rr=gs("a json array"),nr=Fs(["]"],!0,!1),er=gs("a list"),or=ds(",",!1),sr=gs("a function name"),ir=Fs([["a","z"],["A","Z"]],!1,!1),ar=ds("contains",!0),cr=ds("endswith",!0),fr=ds("startswith",!0),lr=ds("matchespattern",!0),Ar=ds("NOT",!0),pr=ds("AND",!0),hr=ds("OR",!0),Cr=ds("aggregate",!1),dr=ds("groupby",!1),Fr=ds("filter",!1),gr=ds("search",!1),Br=ds("concat",!1),Er=ds("compute",!1),vr=ds("top",!1),mr=ds("skip",!1),br=ds("orderby",!1),Dr=ds("topcount",!0),yr=ds("bottomcount",!0),$r=ds("topsum",!0),xr=ds("bottomsum",!0),wr=ds("toppercent",!0),Lr=ds("bottompercent",!0),Sr=ds("with",!1),Tr=ds("from",!1),jr=ds("as",!1),Or=ds("rollup",!1),Zr=ds("$all",!1),zr=ds("identity",!1),kr=gs("a boolean"),_r=ds("true",!1),Rr=ds("false",!1),Ir=gs("a single quoted string"),Nr=ds("''",!1),qr=Fs(["'"],!0,!1),Pr=gs("a doubled quoted string"),Ur=ds('"',!1),Mr=ds('\\"',!1),Gr=ds("\\\\",!1),Hr=Fs(['"'],!0,!1),Jr=gs("a string"),Kr=Fs([" ","\t","\n","(",")",'"',"&",";"],!0,!1),Qr=gs("a time"),Vr=Fs([["0","9"]],!1,!1),Wr=gs("a date"),Xr=ds("-",!1),Yr=ds("T",!1),un=ds(".",!1),tn=ds("Z",!1),rn=Fs(["+","-"],!1,!1),nn=gs("a number"),en=ds("e",!1),on=gs("an integer"),sn=gs("an identifier"),an=Fs(["_",["a","z"],["A","Z"]],!1,!1),cn=Fs(["_",["a","z"],["A","Z"],["0","9"],'"',".",'"',["A","Z"],["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],"Ͷ","ͷ",["ͺ","ͽ"],"Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԧ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],"ٮ","ٯ",["ٱ","ۓ"],"ە","ۥ","ۦ","ۮ","ۯ",["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],"ߴ","ߵ","ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],"ࢠ",["ࢢ","ࢬ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ॷ"],["ॹ","ॿ"],["অ","ঌ"],"এ","ঐ",["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ","ড়","ঢ়",["য়","ৡ"],"ৰ","ৱ",["ਅ","ਊ"],"ਏ","ਐ",["ਓ","ਨ"],["ਪ","ਰ"],"ਲ","ਲ਼","ਵ","ਸ਼","ਸ","ਹ",["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],"લ","ળ",["વ","હ"],"ઽ","ૐ","ૠ","ૡ",["ଅ","ଌ"],"ଏ","ଐ",["ଓ","ନ"],["ପ","ର"],"ଲ","ଳ",["ଵ","ହ"],"ଽ","ଡ଼","ଢ଼",["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],"ங","ச","ஜ","ஞ","ட","ண","த",["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","ళ"],["వ","హ"],"ఽ","ౘ","ౙ","ౠ","ౡ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ","ೠ","ೡ","ೱ","ೲ",["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ","ൠ","ൡ",["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],"า","ำ",["เ","ๆ"],"ກ","ຂ","ຄ","ງ","ຈ","ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ","ສ","ຫ",["ອ","ະ"],"າ","ຳ","ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ","ၥ","ၦ",["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏼ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤜ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᧁ","ᧇ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],"ᮮ","ᮯ",["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],"ᳵ","ᳶ",["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ","Ↄ","ↄ",["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],"Ⳳ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ","々","〆",["〱","〵"],"〻","〼",["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿌"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],"ꘪ","ꘫ",["Ꙁ","ꙮ"],["ꙿ","ꚗ"],["ꚠ","ꛥ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","ꞎ"],["Ꞑ","ꞓ"],["Ꞡ","Ɦ"],["ꟸ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꪀ","ꪯ"],"ꪱ","ꪵ","ꪶ",["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ","נּ","סּ","ףּ","פּ",["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),fn=gs("a guid"),ln=gs("a hex value"),An=Fs([["0","9"],["a","f"],["A","F"]],!1,!1),pn=Fs(["/","?"],!0,!1),hn=Fs([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","'","(",")","*","+",",",";","=",":","@",'"',"/",'"','"',"?",'"'],!1,!1),Cn=gs("a binary"),dn=ds("binary'",!1),Fn=Fs([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),gn=ds("==",!1),Bn=ds("(",!1),En=ds(")",!1),vn=gs("an optional whitespace"),mn=Fs([" ","\t","\n"],!1,!1),bn=gs("a whitespace"),Dn=function(u){Si=u},yn=function(){if(Ti)return Si.columns=[{args:[{val:1}],as:"$count",func:"count"}],delete Si.expand,delete Si.limit,delete Si.orderBy,Si.apply?Ii(Si,Si.apply):{SELECT:Si};let u;if(Si.expand){Si.columns||(Si.columns=["*"],u=!0);for(const u of Si.expand){const t=Si.columns.findIndex(zi(u));t>-1&&Si.columns.splice(t,1),Si.columns.push(u)}delete Si.expand}return Si.count&&Si.apply&&(Si.__countAggregated=!0),Si.apply?Ii(Si,Si.apply,u):{SELECT:Si}},$n=function(){Ti=!0},xn=function(u){return!bi.includes(u)&&{from:{ref:[u]}}},wn=function(u){return[u]},Ln=function(u,t){return t},Sn=function(u,t){if(t=t&&t[1],!u&&!t)return{from:{ref:[""]}};if(!u&&t&&t.from)return t.from.ref.unshift(""),t;const[r,n]=u,e=[];if(n?n.length>2?e.push({id:r,where:n[1].map((u=>u.val&&u.val.match&&u.val.match(/^"(.*)"$/)?{val:u.val.match(/^"(.*)"$/)[1]}:u))}):e.push({id:r,where:[]}):wi?e.push(`${"object"==typeof r&&"val"in r?r.val:r}`):"object"==typeof r&&"string"==typeof r.val&&r.val.match(/^[1-9]\d*$|^0$/)?e.push({val:ji(r.val)}):e.push(r),t&&t.from){const u=t.from.ref;Object.prototype.hasOwnProperty.call(u[0],"val")&&(e[e.length-1]={id:e[e.length-1],where:[u.shift()]}),e.push(...u)}const o={from:{ref:e}};return t&&t.columns&&(o.columns=t.columns),o},Tn=function(u){return[u]},jn=function(u,t,r){const n=[u,"=",t];return r&&n.push("and",...r[1]),n},On=function(u){u&&u.apply&&(Si.apply=u.apply)},Zn=function(u){Si.where=u},zn=function(u,t){Mi(t)},kn=function(u){Mi(u,!0)},_n=function(u){(Si.limit||(Si.limit={})).rows={val:u}},Rn=function(u){Ui(u)},In=function(u){u&&(Si.search=u)},Nn=function(u){return u},qn=function(){return null},Pn=function(u){return Si.columns=Array.isArray(Si.columns)?Si.columns:[],Si.columns.find(zi(u))||Si.columns.push(u),u},Un=function(){const u=new Error('"/$count" is not supported for expand operation');throw u.statusCode=501,u},Mn=function(u){return u},Gn=function(u){if(u.find((u=>u&&void 0!==u.apply))){const u=new Error('"$apply" is not supported for expand operation');throw u.statusCode=501,u}if(Si.columns){for(const u of Si.columns)Si.expand.find(zi(u))||Si.expand.push(u);delete Si.columns}else Array.isArray(Si.expand)&&-1===Si.expand.indexOf("*")&&Si.expand.unshift("*")},Hn=function(){Li.push(Si),Si=Si.expand[Si.expand.length-1],Si.expand=[]},Jn=function(){Si.expand.length||Si.expand.push("*"),Si=Li.pop()},Kn=function(u){const t="*"===u?{}:u;return t.expand=["*"],Array.isArray(Si.expand)||(Si.expand=[]),Si.expand.find(zi(t))||Si.expand.push(t),t},Qn=function(u){return u},Vn=function(u){Oi(u,{SELECT:Si})},Wn=function(u){return u},Xn=function(u){return u},Yn=function(u){return u?[u]:[]},ue=function(u,t){u.push({xpr:t})},te=function(u,t){u.push({val:t})},re=function(u,t){u.push({val:t})},ne=function(u,t,r){u.push(t,...r)},ee=function(u){return u},oe=function(u){return u},se=function(u){return u?[u]:[]},ie=function(u,t){u.push({xpr:t})},ae=function(u,t){u.push(...t)},ce=function(u,t){"not"===u[u.length-1]&&"not"===t[0]?u.push("(",...t,")"):u.push(...t)},fe=function(u,t){u.push(t)},le=function(u,t){u.push({val:t})},Ae=function(u,t){u.push(...t)},pe=function(u,t,r){u.push(t,...r)},he=function(u){return u},Ce=function(u){return[u]},de=function(u,t){u.push(t)},Fe=function(u,t){let r=u.pop();if(!t)return["exists",{ref:[...u,{id:r}]}];let n=[];for(let u=0,e=0;u<t.length;++u){let o=t[u];o.ref&&0===o.ref.length&&"="===t[u+1]?n[e++]={func:"contains",args:[{ref:[r]},t[u+=2]]}:n[e++]=o}return n.length<t.length?u.length?(r=u.pop(),["exists",{ref:[...u,{id:r,where:n}]}]):n:["exists",{ref:[...u,{id:r,where:t}]}]},ge=function(u,t){let r=u.pop();return["not","exists",{ref:[...u,{id:r,where:["not",{xpr:[...t]}]}]}]},Be=function(u,t){return t},Ee=function(u){return u?[u]:[]},ve=function(u,t){u.push("(",...t,")")},me=function(u,t){u.push(...t)},be=function(u,t){u.push(t)},De=function(u,t){u.push(...t)},ye=function(u,t){u.push(...t)},$e=function(u,t,r){u.push(t,...r)},xe=function(u){return u},we=function(u,t){return Gi(u,t)},Le=function(u){return u},Se=function(u){return u},Te=function(){const u=new Error('"$orderby" does not support lambda');throw u.statusCode=501,u},je=function(u,t){return t},Oe=function(u,t){return $i(u,t&&{sort:t})},Ze=function(u){u&&(Si.count=!0)},ze=function(u,t){return t},ke=function(u,t){if(void 0!==u){t=Array.isArray(t)?t:[t];for(let r of t)for(const t in r)if("limit"===t&&r.limit&&u.limit&&u.limit.offset&&r.limit.rows)u.limit.rows=r.limit.rows;else if(u[t]||"groupBy"===t&&(u.where||u.search)||"aggregate"===t&&"groupBy"in u&&!("groupBy"in r)){let n=u;u={apply:n},"limit"===t&&r[t].offset&&n.limit&&n.limit.offset&&n.limit.offset.val&&(r[t].offset+=n.limit.offset.val),n=u,n[t]=r[t]}else u[t]=r[t];return{apply:u}}},_e=function(u){return{list:u}},Re=function(u){return"@"+u},Ie=function(u,t){Ji(Si,u,t)},Ne=function(u){if("json"!==u.toLowerCase()){const u=new Error('Only query parameter "json" is allowed in "$format".');throw u.statusCode=501,u}},qe=function(u,t,r){return[u,Di[t]||t,r]},Pe=function(u){return{list:u}},Ue=function(u,t){return[u,"in",t]},Me=function(u,t){return t},Ge=function(u,t){return t?{id:u,where:t}:u},He=function(u,t){return{func:"count",as:"$count",args:[{ref:u}]}},Je=function(u,t){return t},Ke=function(u,t){return"null"===u?{val:null}:{ref:[u,...t]}},Qe=function(u){return{val:u}},Ve=function(u){return{val:u}},We=function(u){return{val:u}},Xe=function(u){return{val:u}},Ye=function(u){return"number"==typeof u?{val:u}:{val:u,literal:"number"}},uo=function(u){return{val:u}},to=function(u){return{val:u}},ro=function(u){return{val:u}},no=function(){return{val:null}},eo=function(u){return{val:u}},oo=function(u){return{val:u}},so=function(u){return{list:u.replace(/"/g,"").split(",").map((u=>({val:u})))}},io=function(u,t){return t},ao=function(u,t){return[u,...t]},co=function(u){return{list:u}},fo=function(u,t){if(xi&&!(u.toLowerCase()in xi.functions))throw Object.assign(new Error(`Function "${u}" is not supported`),{statusCode:501});return{func:u.toLowerCase(),args:t}},lo=function(u,t){return t},Ao=function(u,t){return[u,...t]},po=function(u){return u.length?u[0]:u},ho=function(u,t,r){return{func:u.toLowerCase(),args:[t,r]}},Co=function(){return"not"},Fo=function(){return"and"},go=function(){return"and"},Bo=function(){return"or"},Eo=function(u){return u},vo=function(u){return u},mo=function(u){return u},bo=function(u){return u},Do=function(u){return u},yo=function(u){return u},$o=function(u){return u},xo=function(u){return u},wo=function(u){return u},Lo=function(u,t){if(u=u.toLowerCase(),!yi[u])throw Object.assign(new Error(`Transformation "${u}" in $apply is not yet supported.`),{statusCode:501});return{aggregate:[{func:u,args:t}]}},So=function(u){return u},To=function(u,t){return t},jo=function(u,t){return{aggregate:[u,...t]}},Oo=function(u){return{func:"count",args:[{val:1}],as:u}},Zo=function(u){return u},zo=function(u,t,r){return{func:t,args:[u],as:r}},ko=function(u){return u.toLowerCase()},_o=function(u){return u},Ro=function(u,t){return t},Io=function(u,t){return{groupBy:[u,...t]}},No=function(u,t,r){return r},qo=function(u,t,r){let n={};return n=r?{groupBy:[u,...t],...r.apply}:{groupBy:[u,...t]},n},Po=function(u){return u},Uo=function(u){const t=new Error("Rollup in groupby is not supported yet.");throw t.statusCode=501,t},Mo=function(u){return u},Go=function(u){return{where:u}},Ho=function(u){if(u)return u},Jo=function(u){return{search:u}},Ko=function(u,t){return t},Qo=function(u,t){return{concat:[u,...t]}},Vo=function(u,t){return[u,t]},Wo=function(){return{identity:!0}},Xo=function(u){return{limit:{rows:{val:u}}}},Yo=function(u){return{limit:{offset:{val:u}}}},us=function(u,t){return t},ts=function(u,t){return{orderBy:[u,...t]}},rs=function(u){return"true"===u},ns=function(u){return u.replace(/''/g,"'")},es=function(u){return u.replace(/\\\\/g,"\\").replace(/\\"/g,'"')},os=function(u){if(u.split("-")[0].length>4)throw Object.assign(new Error(`The type Edm.DateTimeOffset is not compatible with "${u}"`),{statusCode:400});return u},ss=function(u){return ji(u)},is=function(u){return parseInt(u)},as=function(u){return u},cs=function(u){return{val:u}},fs=function(u){return Zi(u)},ls=0|t.peg$currPos,As=[{line:1,column:1}],ps=ls,hs=t.peg$maxFailExpected||[],Cs=0|t.peg$silentFails;if(t.startRule){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function ds(u,t){return{type:"literal",text:u,ignoreCase:t}}function Fs(u,t,r){return{type:"class",parts:u,inverted:t,ignoreCase:r}}function gs(u){return{type:"other",description:u}}function Bs(t){var r,n=As[t];if(n)return n;if(t>=As.length)r=As.length-1;else for(r=t;!As[--r];);for(n={line:(n=As[r]).line,column:n.column};r<t;)10===u.charCodeAt(r)?(n.line++,n.column=1):n.column++,r++;return As[t]=n,n}function Es(u,t,r){var n=Bs(u),o=Bs(t),s={source:e,start:{offset:u,line:n.line,column:n.column},end:{offset:t,line:o.line,column:o.column}};return r&&e&&"function"==typeof e.offset&&(s.start=e.offset(s.start),s.end=e.offset(s.end)),s}function vs(u){ls<ps||(ls>ps&&(ps=ls,hs=[]),hs.push(u))}function ms(u,t,r){return new peg$SyntaxError(peg$SyntaxError.buildMessage(u,t),u,t,r)}function bs(){var t,r,e,o,s,f,l,A,p,h,C,d,F,g,B;if(t=ls,47===u.charCodeAt(ls)?(r=i,ls++):(r=n,0===Cs&&vs(et)),r===n&&(r=null),e=ls,(o=Ds())!==n&&(e,o=Dn(o)),(e=o)!==n){if(o=ls,s=vi(),63===u.charCodeAt(ls)?(f=a,ls++):(f=n,0===Cs&&vs(ot)),f!==n){if(l=vi(),A=ls,(p=$s())!==n){for(h=[],C=ls,d=vi(),38===u.charCodeAt(ls)?(F=c,ls++):(F=n,0===Cs&&vs(st)),F!==n?(g=vi(),(B=$s())!==n?C=d=[d,F,g,B]:(ls=C,C=n)):(ls=C,C=n);C!==n;)h.push(C),C=ls,d=vi(),38===u.charCodeAt(ls)?(F=c,ls++):(F=n,0===Cs&&vs(st)),F!==n?(g=vi(),(B=$s())!==n?C=d=[d,F,g,B]:(ls=C,C=n)):(ls=C,C=n);A=p=[p,h]}else ls=A,A=n;A===n&&(A=null),o=s=[s,f,l,A]}else ls=o,o=n;o===n&&(o=null),s=vi(),t,t=yn()}else ls=t,t=n;return t}function Ds(){var t,r,e,o,s,a,c;return t=ls,u.substr(ls,6)===f?(r=f,ls+=6):(r=n,0===Cs&&vs(it)),r!==n&&(t,r=$n()),(t=r)===n&&(t=ls,r=ls,u.substr(ls,4)===l?(e=l,ls+=4):(e=n,0===Cs&&vs(at)),e===n&&(u.substr(ls,6)===A?(e=A,ls+=6):(e=n,0===Cs&&vs(ct))),(r=e!==n?u.substring(r,ls):e)!==n&&(t,r=xn(r)),(t=r)===n&&(t=ls,r=ls,(e=hi())!==n?(o=ls,(s=Bi())!==n&&(a=Ei())!==n?o=s=[s,a]:(ls=o,o=n),o===n&&(o=ls,(s=Bi())!==n&&(a=ys())!==n&&(c=Ei())!==n?o=s=[s,a,c]:(ls=o,o=n)),o===n&&(o=null),s=ls,Cs++,a=Fi(),Cs--,a===n?s=void 0:(ls=s,s=n),s!==n?r=e=[e,o,s]:(ls=r,r=n)):(ls=r,r=n),r===n&&(r=ls,(e=Fi())!==n&&(r,e=wn(e)),r=e),r===n&&(r=null),e=ls,o=ls,47===u.charCodeAt(ls)?(s=i,ls++):(s=n,0===Cs&&vs(et)),s!==n&&(o,s=Ln(r,s)),(o=s)!==n?((s=Ds())===n&&(s=null),e=o=[o,s]):(ls=e,e=n),e===n&&(e=null),t,t=Sn(r,e))),t}function ys(){var t,r,e,o,s,i,a;return t=ls,(r=Ks())!==n&&(t,r=Tn(r)),(t=r)===n&&(t=ls,(r=Js())!==n?(vi(),61===u.charCodeAt(ls)?(e=p,ls++):(e=n,0===Cs&&vs(ft)),e!==n?(vi(),(o=Ks())!==n?(s=ls,(i=gi())!==n&&(a=ys())!==n?s=i=[i,a]:(ls=s,s=n),s===n&&(s=null),t,t=jn(r,o,s)):(ls=t,t=n)):(ls=t,t=n)):(ls=t,t=n)),t}function $s(){var t,r,e,o;return t=ls,(r=xs())!==n&&(t,r=On(r)),(t=r)===n&&(t=ls,u.substr(ls,11)===h?(r=h,ls+=11):(r=n,0===Cs&&vs(lt)),r!==n?(e=vi(),o=function(){var t,r;t=ls,r=function(){var t,r,e;t=ls,r=[],e=u.charAt(ls),tt.test(e)?ls++:(e=n,0===Cs&&vs(hn));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(ls),tt.test(e)?ls++:(e=n,0===Cs&&vs(hn));else r=n;t=r!==n?u.substring(t,ls):r;return t}(),r===n&&(r=null);return t,r=Vn(r),t=r,t}(),t=r=[r,e,o]):(ls=t,t=n),t===n&&(t=function(){var t,r,e,o;t=ls,u.substr(ls,3)===D?(r=D,ls+=3):(r=n,0===Cs&&vs(vt));r===n&&(u.substr(ls,5)===y?(r=y,ls+=5):(r=n,0===Cs&&vs(mt)),r===n&&(u.substr(ls,12)===$?(r=$,ls+=12):(r=n,0===Cs&&vs(bt)),r===n&&(u.substr(ls,3)===x?(r=x,ls+=3):(r=n,0===Cs&&vs(Dt)))));r!==n?(61===u.charCodeAt(ls)?(e=p,ls++):(e=n,0===Cs&&vs(ft)),e!==n&&(o=Ai())!==n?t=r=[r,e,o]:(ls=t,t=n)):(ls=t,t=n);return t}(),t===n&&(t=function(){var t,r,e,o,s;t=ls,u.substr(ls,8)===N?(r=N,ls+=8):(r=n,0===Cs&&vs(Nt));if(r!==n){for(e=ls,o=[],s=u.charAt(ls),Pu.test(s)?ls++:(s=n,0===Cs&&vs(_t));s!==n;)o.push(s),s=u.charAt(ls),Pu.test(s)?ls++:(s=n,0===Cs&&vs(_t));e=u.substring(e,ls),t,t=Ne(e)}else ls=t,t=n;return t}(),t===n&&(t=function(){var t,r,e,o,s,i;t=ls,r=[],e=u.charAt(ls),qu.test(e)?ls++:(e=n,0===Cs&&vs(kt));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(ls),qu.test(e)?ls++:(e=n,0===Cs&&vs(kt));else r=n;if(r!==n){if(e=ls,61===u.charCodeAt(ls)?(o=p,ls++):(o=n,0===Cs&&vs(ft)),o!==n){for(s=[],i=u.charAt(ls),Pu.test(i)?ls++:(i=n,0===Cs&&vs(_t));i!==n;)s.push(i),i=u.charAt(ls),Pu.test(i)?ls++:(i=n,0===Cs&&vs(_t));e=o=[o,s]}else ls=e,e=n;e===n&&(e=null),t=r=[r,e]}else ls=t,t=n;return t}(),t===n&&(t=function(){var t,r,e,o,s;t=ls,r=Ps(),r!==n?(61===u.charCodeAt(ls)?(e=p,ls++):(e=n,0===Cs&&vs(ft)),e!==n?(o=ls,Cs++,s=Ps(),Cs--,s===n?o=void 0:(ls=o,o=n),o!==n?(s=function(){var t,r,e,o;t=Ks(),t===n&&(t=Qs())===n&&(t=Vs())===n&&(t=ls,91===u.charCodeAt(ls)?(r=_,ls++):(r=n,0===Cs&&vs(Zt)),r!==n&&(e=Ws())!==n?(93===u.charCodeAt(ls)?(o=R,ls++):(o=n,0===Cs&&vs(zt)),o!==n?(t,t=_e(e)):(ls=t,t=n)):(ls=t,t=n));return t}(),s!==n?(t,t=Ie(r,s)):(ls=t,t=n)):(ls=t,t=n)):(ls=t,t=n)):(ls=t,t=n);return t}()))))),t}function xs(){var t,r,e,o,s,i,a,c;if(t=ls,u.substr(ls,8)===C?(r=C,ls+=8):(r=n,0===Cs&&vs(At)),r!==n)if(e=vi(),(o=ws())!==n){for(s=[],i=ls,(a=gi())!==n&&(c=ws())!==n?i=a=[a,c]:(ls=i,i=n);i!==n;)s.push(i),i=ls,(a=gi())!==n&&(c=ws())!==n?i=a=[a,c]:(ls=i,i=n);t=r=[r,e,o,s]}else ls=t,t=n;else ls=t,t=n;if(t===n){if(t=ls,u.substr(ls,8)===d?(r=d,ls+=8):(r=n,0===Cs&&vs(pt)),r!==n)if(e=vi(),(o=Ss())!==n){for(s=[],i=ls,(a=gi())!==n&&(c=Ss())!==n?i=a=[a,c]:(ls=i,i=n);i!==n;)s.push(i),i=ls,(a=gi())!==n&&(c=Ss())!==n?i=a=[a,c]:(ls=i,i=n);i=function(){var t,r;t=ls,u.substr(ls,7)===L?(r=L,ls+=7):(r=n,0===Cs&&vs($t));r!==n&&(t,r=Un());return t=r,t}(),i===n&&(i=null),t=r=[r,e,o,s,i]}else ls=t,t=n;else ls=t,t=n;if(t===n&&(t=ls,u.substr(ls,8)===F?(r=F,ls+=8):(r=n,0===Cs&&vs(ht)),r!==n?(e=vi(),(o=zs())!==n?(t,t=Zn(o)):(ls=t,t=n)):(ls=t,t=n),t===n)){if(t=ls,u.substr(ls,9)===g?(r=g,ls+=9):(r=n,0===Cs&&vs(Ct)),r!==n)if(e=vi(),(o=Ns())!==n){for(s=[],i=ls,(a=gi())!==n&&(c=Ns())!==n?(i,i=zn(o,c)):(ls=i,i=n);i!==n;)s.push(i),i=ls,(a=gi())!==n&&(c=Ns())!==n?(i,i=zn(o,c)):(ls=i,i=n);t,t=kn(o)}else ls=t,t=n;else ls=t,t=n;t===n&&(t=ls,u.substr(ls,5)===B?(r=B,ls+=5):(r=n,0===Cs&&vs(dt)),r!==n?(e=vi(),(o=Ts())!==n?(t,t=_n(o)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,6)===E?(r=E,ls+=6):(r=n,0===Cs&&vs(Ft)),r!==n?(e=vi(),(o=js())!==n?(t,t=Rn(o)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,8)===v?(r=v,ls+=8):(r=n,0===Cs&&vs(gt)),r!==n?(e=vi(),(o=Os())!==n?(t,t=In(o)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,7)===m?(r=m,ls+=7):(r=n,0===Cs&&vs(Bt)),r!==n?(e=vi(),o=function(){var u,t;u=ls,t=li(),t!==n&&(u,t=Ze(t));return u=t,u}(),o!==n?t=r=[r,e,o]:(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,7)===b?(r=b,ls+=7):(r=n,0===Cs&&vs(Et)),r!==n?(e=vi(),(o=qs())!==n?(t,t=Nn(o)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,8)===d?(r=d,ls+=8):(r=n,0===Cs&&vs(pt)),r!==n&&(t,r=qn()),t=r))))))}}return t}function ws(){var t,r;return t=ls,42===u.charCodeAt(ls)?(r=w,ls++):(r=n,0===Cs&&vs(yt)),r===n&&(r=Js()),r!==n&&(t,r=Pn(r)),t=r}function Ls(){var t,r,e,o,s;return t=ls,r=ls,(e=Bi())!==n&&(r,e=Hn()),(r=e)!==n?(e=function(){var t,r,e,o,s;for(t=ls,r=[],e=ls,(o=xs())!==n?(vi(),59===u.charCodeAt(ls)?(s=S,ls++):(s=n,0===Cs&&vs(xt)),s===n&&(s=null),e,e=Mn(o)):(ls=e,e=n);e!==n;)r.push(e),e=ls,(o=xs())!==n?(vi(),59===u.charCodeAt(ls)?(s=S,ls++):(s=n,0===Cs&&vs(xt)),s===n&&(s=null),e,e=Mn(o)):(ls=e,e=n);return t,Gn(r)}(),o=ls,(s=Ei())!==n&&(o,s=Jn()),(o=s)!==n?t=r=[r,e,o]:(ls=t,t=n)):(ls=t,t=n),t}function Ss(){var t,r,e;return t=ls,r=ls,42===u.charCodeAt(ls)?(e=w,ls++):(e=n,0===Cs&&vs(yt)),e===n&&(e=Js()),e!==n&&(r,e=Kn(e)),(r=e)!==n?((e=Ls())===n&&(e=null),t=r=[r,e]):(ls=t,t=n),t}function Ts(){var u,t;return u=ls,(t=pi())!==n&&(u,t=Qn(t)),u=t}function js(){var u,t;return u=ls,(t=pi())!==n&&(u,t=Wn(t)),u=t}function Os(){var u,t;return u=ls,(t=Zs())!==n&&(u,t=Xn(t)),(u=t)===n&&(u=vi()),u}function Zs(){var t,r,e,o,s,i,a;if(t=ls,r=ls,(e=Ys())===n&&(e=null),r,r=e=Yn(e),e=ls,(o=Bi())!==n&&(s=Zs())!==n&&(i=Ei())!==n?(e,e=ue(r,s)):(ls=e,e=n),e===n&&(e=ls,o=function(){var t,r,e,o,s;Cs++,t=ls,34===u.charCodeAt(ls)?(r=Lu,ls++):(r=n,0===Cs&&vs(Ur));if(r!==n){for(e=ls,o=[],u.substr(ls,2)===Su?(s=Su,ls+=2):(s=n,0===Cs&&vs(Mr)),s===n&&(u.substr(ls,2)===Tu?(s=Tu,ls+=2):(s=n,0===Cs&&vs(Gr)),s===n&&(s=u.charAt(ls),Ju.test(s)?ls++:(s=n,0===Cs&&vs(Hr))));s!==n;)o.push(s),u.substr(ls,2)===Su?(s=Su,ls+=2):(s=n,0===Cs&&vs(Mr)),s===n&&(u.substr(ls,2)===Tu?(s=Tu,ls+=2):(s=n,0===Cs&&vs(Gr)),s===n&&(s=u.charAt(ls),Ju.test(s)?ls++:(s=n,0===Cs&&vs(Hr))));e=u.substring(e,ls),34===u.charCodeAt(ls)?(o=Lu,ls++):(o=n,0===Cs&&vs(Ur)),o!==n?(t,t=es(e)):(ls=t,t=n)}else ls=t,t=n;Cs--,t===n&&(r=n,0===Cs&&vs(Pr));return t}(),o!==n&&(e,o=te(r,o)),(e=o)===n&&(e=ls,o=ls,Cs++,39===u.charCodeAt(ls)?(s=T,ls++):(s=n,0===Cs&&vs(wt)),Cs--,s===n?o=void 0:(ls=o,o=n),o!==n?(s=function(){var t,r,e;Cs++,t=ls,r=[],e=u.charAt(ls),Ku.test(e)?ls++:(e=n,0===Cs&&vs(Kr));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(ls),Ku.test(e)?ls++:(e=n,0===Cs&&vs(Kr));else r=n;t=r!==n?u.substring(t,ls):r;Cs--,t===n&&(r=n,0===Cs&&vs(Jr));return t}(),s!==n?(e,e=re(r,s)):(ls=e,e=n)):(ls=e,e=n))),e!==n){for(o=[],s=ls,(i=ui())===n&&(i=ri())===n&&(i=ti()),i!==n&&(a=Zs())!==n?(s,s=ne(r,i,a)):(ls=s,s=n);s!==n;)o.push(s),s=ls,(i=ui())===n&&(i=ri())===n&&(i=ti()),i!==n&&(a=Zs())!==n?(s,s=ne(r,i,a)):(ls=s,s=n);t,t=ee(r)}else ls=t,t=n;return t}function zs(){var u,t;return u=ls,(t=ks())!==n&&(u,t=oe(t)),u=t}function ks(){var t,r,e,o,s,i,a;if(t=ls,r=ls,(e=Ys())===n&&(e=null),r,r=e=se(e),e=ls,(o=Bi())!==n&&(s=ks())!==n&&(i=Ei())!==n?(e,e=ie(r,s)):(ls=e,e=n),e===n&&(e=ls,(o=Us())!==n&&(e,o=ae(r,o)),(e=o)===n&&(e=ls,(o=_s())!==n&&(e,o=ce(r,o)),(e=o)===n&&(e=ls,o=function(){var t,r,e,o;t=ls,r=u.substr(ls,8),r.toLowerCase()===X?ls+=8:(r=n,0===Cs&&vs(ar));r===n&&((r=u.substr(ls,8)).toLowerCase()===Y?ls+=8:(r=n,0===Cs&&vs(cr)),r===n&&((r=u.substr(ls,10)).toLowerCase()===uu?ls+=10:(r=n,0===Cs&&vs(fr)),r===n&&((r=u.substr(ls,14)).toLowerCase()===tu?ls+=14:(r=n,0===Cs&&vs(lr)))));r!==n&&Bi()!==n&&(e=Hs())!==n&&gi()!==n&&(o=Hs())!==n&&Ei()!==n?(t,t=ho(r,e,o)):(ls=t,t=n);return t}(),o!==n&&(e,o=fe(r,o)),(e=o)===n&&(e=ls,(o=li())!==n&&(e,o=le(r,o)),(e=o)===n&&(e=ls,(o=Gs())!==n&&(e,o=Ae(r,o)),e=o))))),e!==n){for(o=[],s=ls,(i=ui())===n&&(i=ri()),i!==n&&(a=ks())!==n?(s,s=pe(r,i,a)):(ls=s,s=n);s!==n;)o.push(s),s=ls,(i=ui())===n&&(i=ri()),i!==n&&(a=ks())!==n?(s,s=pe(r,i,a)):(ls=s,s=n);t,t=he(r)}else ls=t,t=n;return t}function _s(){var t,r,e,o,s,a,c;if(t=ls,r=ls,(e=hi())!==n&&(r,e=Ce(e)),(r=e)!==n)if(47===u.charCodeAt(ls)?(e=i,ls++):(e=n,0===Cs&&vs(et)),e!==n){for(o=[],s=ls,(a=hi())!==n?(47===u.charCodeAt(ls)?(c=i,ls++):(c=n,0===Cs&&vs(et)),c!==n?(s,s=de(r,a)):(ls=s,s=n)):(ls=s,s=n);s!==n;)o.push(s),s=ls,(a=hi())!==n?(47===u.charCodeAt(ls)?(c=i,ls++):(c=n,0===Cs&&vs(et)),c!==n?(s,s=de(r,a)):(ls=s,s=n)):(ls=s,s=n);s=ls,a=function(){var t,r,e;t=ls,u.substr(ls,3)===O?(r=O,ls+=3):(r=n,0===Cs&&vs(St));r!==n&&Bi()!==n?((e=Is())===n&&(e=null),Ei()!==n?(t,t=Le(e)):(ls=t,t=n)):(ls=t,t=n);return t}(),a!==n&&(s,a=Fe(r,a)),(s=a)===n&&(s=ls,a=function(){var t,r,e;t=ls,u.substr(ls,3)===Z?(r=Z,ls+=3):(r=n,0===Cs&&vs(Tt));r!==n&&Bi()!==n&&(e=Is())!==n&&Ei()!==n?(t,t=Se(e)):(ls=t,t=n);return t}(),a!==n&&(s,a=ge(r,a)),s=a),s!==n?(t,t=Be(r,s)):(ls=t,t=n)}else ls=t,t=n;else ls=t,t=n;return t}function Rs(){var u,t,r,e,o,s,i;if(u=ls,t=ls,(r=Ys())===n&&(r=null),t,t=r=Ee(r),r=ls,(e=Bi())!==n&&(o=Rs())!==n&&(s=Ei())!==n?(r,r=ve(t,o)):(ls=r,r=n),r===n&&(r=ls,(e=Us())!==n&&(r,e=me(t,e)),(r=e)===n&&(r=ls,(e=Xs())!==n&&(r,e=be(t,e)),(r=e)===n&&(r=ls,(e=_s())!==n&&(r,e=De(t,e)),(r=e)===n&&(r=ls,(e=Gs())!==n&&(r,e=ye(t,e)),r=e)))),r!==n){for(e=[],o=ls,(s=ui())===n&&(s=ri()),s!==n&&(i=Rs())!==n?(o,o=$e(t,s,i)):(ls=o,o=n);o!==n;)e.push(o),o=ls,(s=ui())===n&&(s=ri()),s!==n&&(i=Rs())!==n?(o,o=$e(t,s,i)):(ls=o,o=n);u,u=xe(t)}else ls=u,u=n;return u}function Is(){var t,r,e,o;return t=ls,(r=hi())!==n?(58===u.charCodeAt(ls)?(e=j,ls++):(e=n,0===Cs&&vs(Lt)),e!==n&&(o=Rs())!==n?(t,t=we(r,o)):(ls=t,t=n)):(ls=t,t=n),t}function Ns(){var t,r,e,o,s;return t=ls,r=ls,(e=_s())!==n&&(r,e=Te()),(r=e)===n&&(r=Xs())===n&&(r=Js()),r!==n?(e=ls,mi()!==n?(o=ls,u.substr(ls,3)===z?(s=z,ls+=3):(s=n,0===Cs&&vs(jt)),s===n&&(u.substr(ls,4)===k?(s=k,ls+=4):(s=n,0===Cs&&vs(Ot))),(o=s!==n?u.substring(o,ls):s)!==n?(e,e=je(r,o)):(ls=e,e=n)):(ls=e,e=n),e===n&&(e=null),t,t=Oe(r,e)):(ls=t,t=n),t}function qs(){var t,r,e,o,s,a;if(t=ls,(r=ni())!==n){for(e=[],o=ls,47===u.charCodeAt(ls)?(s=i,ls++):(s=n,0===Cs&&vs(et)),s!==n&&(a=ni())!==n?(o,o=ze(r,a)):(ls=o,o=n);o!==n;)e.push(o),o=ls,47===u.charCodeAt(ls)?(s=i,ls++):(s=n,0===Cs&&vs(et)),s!==n&&(a=ni())!==n?(o,o=ze(r,a)):(ls=o,o=n);t,t=ke(r,e)}else ls=t,t=n;return t}function Ps(){var t,r,e;return Cs++,t=ls,64===u.charCodeAt(ls)?(r=I,ls++):(r=n,0===Cs&&vs(It)),r!==n&&(e=hi())!==n?(t,t=Re(e)):(ls=t,t=n),Cs--,t===n&&(r=n,0===Cs&&vs(Rt)),t}function Us(){var t,r,e,o,s;return t=ls,(r=Hs())!==n&&mi()!==n?(e=ls,u.substr(ls,2)===q?(o=q,ls+=2):(o=n,0===Cs&&vs(qt)),o===n&&(u.substr(ls,2)===P?(o=P,ls+=2):(o=n,0===Cs&&vs(Pt)),o===n&&(u.substr(ls,2)===U?(o=U,ls+=2):(o=n,0===Cs&&vs(Ut)),o===n&&(u.substr(ls,2)===M?(o=M,ls+=2):(o=n,0===Cs&&vs(Mt)),o===n&&(u.substr(ls,2)===G?(o=G,ls+=2):(o=n,0===Cs&&vs(Gt)),o===n&&(u.substr(ls,2)===H?(o=H,ls+=2):(o=n,0===Cs&&vs(Ht))))))),(e=o!==n?u.substring(e,ls):o)!==n&&(o=mi())!==n&&(s=Hs())!==n?(t,t=qe(r,e,s)):(ls=t,t=n)):(ls=t,t=n),t}function Ms(){var u,t;return u=ls,(t=Ps())!==n&&(u,t=Pe(t)),(u=t)===n&&(u=function(){var u,t,r;Cs++,u=ls,t=Bi(),t!==n&&(r=Ws())!==n&&Ei()!==n?(u,u=co(r)):(ls=u,u=n);Cs--,u===n&&(t=n,0===Cs&&vs(er));return u}()),u}function Gs(){var t,r,e,o;return t=ls,(r=Hs())!==n&&mi()!==n?(u.substr(ls,2)===J?(e=J,ls+=2):(e=n,0===Cs&&vs(Jt)),e!==n&&mi()!==n&&(o=Ms())!==n?(t,t=Ue(r,o)):(ls=t,t=n)):(ls=t,t=n),t}function Hs(){var t;return(t=function(){var t,r,e,o,s,a,c;Cs++,t=ls,r=[],e=ls,(o=hi())!==n?(s=ls,(a=Bi())!==n&&(c=ys())!==n&&Ei()!==n?(s,s=Me(o,c)):(ls=s,s=n),s===n&&(s=null),47===u.charCodeAt(ls)?(a=i,ls++):(a=n,0===Cs&&vs(et)),a!==n?(e,e=Ge(o,s)):(ls=e,e=n)):(ls=e,e=n);if(e!==n)for(;e!==n;)r.push(e),e=ls,(o=hi())!==n?(s=ls,(a=Bi())!==n&&(c=ys())!==n&&Ei()!==n?(s,s=Me(o,c)):(ls=s,s=n),s===n&&(s=null),47===u.charCodeAt(ls)?(a=i,ls++):(a=n,0===Cs&&vs(et)),a!==n?(e,e=Ge(o,s)):(ls=e,e=n)):(ls=e,e=n);else r=n;r!==n?(u.substr(ls,6)===f?(e=f,ls+=6):(e=n,0===Cs&&vs(it)),e!==n?(t,t=He(r,e)):(ls=t,t=n)):(ls=t,t=n);Cs--,t===n&&(r=n,0===Cs&&vs(Kt));return t}())===n&&(t=Xs())===n&&(t=Ks())===n&&(t=Js())===n&&(t=Qs())===n&&(t=Vs())===n&&(t=function(){var t,r,e,o,s;Cs++,t=ls,91===u.charCodeAt(ls)?(r=_,ls++):(r=n,0===Cs&&vs(Zt));if(r!==n){for(e=ls,o=[],s=u.charAt(ls),Mu.test(s)?ls++:(s=n,0===Cs&&vs(nr));s!==n;)o.push(s),s=u.charAt(ls),Mu.test(s)?ls++:(s=n,0===Cs&&vs(nr));e=u.substring(e,ls),93===u.charCodeAt(ls)?(o=R,ls++):(o=n,0===Cs&&vs(zt)),o!==n?(t,t=so(e)):(ls=t,t=n)}else ls=t,t=n;Cs--,t===n&&(r=n,0===Cs&&vs(er));return t}()),t}function Js(){var t,r,e,o,s,a;if(Cs++,t=ls,(r=hi())!==n){for(e=[],o=ls,47===u.charCodeAt(ls)?(s=i,ls++):(s=n,0===Cs&&vs(et)),s!==n&&(a=hi())!==n?(o,o=Je(r,a)):(ls=o,o=n);o!==n;)e.push(o),o=ls,47===u.charCodeAt(ls)?(s=i,ls++):(s=n,0===Cs&&vs(et)),s!==n&&(a=hi())!==n?(o,o=Je(r,a)):(ls=o,o=n);t,t=Ke(r,e)}else ls=t,t=n;return Cs--,t===n&&(r=n,0===Cs&&vs(Qt)),t}function Ks(){var t,r;return t=ls,(r=li())!==n&&(t,r=Qe(r)),(t=r)===n&&(t=ls,(r=Ai())!==n&&(t,r=Ve(r)),(t=r)===n&&(t=ls,r=function(){var t,r,e,o,s,i,a,c,f,l;Cs++,t=ls,r=ls,e=u.charAt(ls),Qu.test(e)?ls++:(e=n,0===Cs&&vs(Vr));e!==n?(o=u.charAt(ls),Qu.test(o)?ls++:(o=n,0===Cs&&vs(Vr)),o!==n?(58===u.charCodeAt(ls)?(s=j,ls++):(s=n,0===Cs&&vs(Lt)),s!==n?(i=u.charAt(ls),Qu.test(i)?ls++:(i=n,0===Cs&&vs(Vr)),i!==n?(a=u.charAt(ls),Qu.test(a)?ls++:(a=n,0===Cs&&vs(Vr)),a!==n?(58===u.charCodeAt(ls)?(c=j,ls++):(c=n,0===Cs&&vs(Lt)),c!==n?(f=u.charAt(ls),Qu.test(f)?ls++:(f=n,0===Cs&&vs(Vr)),f!==n?(l=u.charAt(ls),Qu.test(l)?ls++:(l=n,0===Cs&&vs(Vr)),l!==n?r=e=[e,o,s,i,a,c,f,l]:(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n);t=r!==n?u.substring(t,ls):r;Cs--,t===n&&(r=n,0===Cs&&vs(Qr));return t}(),r!==n&&(t,r=We(r)),(t=r)===n&&(t=ls,(r=Ci())!==n&&(t,r=Xe(r)),(t=r)===n&&(t=ls,r=function(){var t,r,e,o,s,i,a,c,f,l,A;Cs++,t=ls,r=ls,Cs++,e=function(){var t,r,e;t=ls,r=[],e=u.charAt(ls),Qu.test(e)?ls++:(e=n,0===Cs&&vs(Vr));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(ls),Qu.test(e)?ls++:(e=n,0===Cs&&vs(Vr));else r=n;r!==n?(45===u.charCodeAt(ls)?(e=ju,ls++):(e=n,0===Cs&&vs(Xr)),e!==n?t=r=[r,e]:(ls=t,t=n)):(ls=t,t=n);return t}(),Cs--,e===n?r=void 0:(ls=r,r=n);if(r!==n){if(e=ls,o=ls,s=u.charAt(ls),Vu.test(s)?ls++:(s=n,0===Cs&&vs(rn)),s===n&&(s=null),i=[],a=u.charAt(ls),Qu.test(a)?ls++:(a=n,0===Cs&&vs(Vr)),a!==n)for(;a!==n;)i.push(a),a=u.charAt(ls),Qu.test(a)?ls++:(a=n,0===Cs&&vs(Vr));else i=n;if(i!==n){if(a=ls,46===u.charCodeAt(ls)?(c=Zu,ls++):(c=n,0===Cs&&vs(un)),c!==n){if(f=[],l=u.charAt(ls),Qu.test(l)?ls++:(l=n,0===Cs&&vs(Vr)),l!==n)for(;l!==n;)f.push(l),l=u.charAt(ls),Qu.test(l)?ls++:(l=n,0===Cs&&vs(Vr));else f=n;f!==n?a=c=[c,f]:(ls=a,a=n)}else ls=a,a=n;if(a===n&&(a=null),c=ls,101===u.charCodeAt(ls)?(f=ku,ls++):(f=n,0===Cs&&vs(en)),f!==n){if(l=[],A=u.charAt(ls),Qu.test(A)?ls++:(A=n,0===Cs&&vs(Vr)),A!==n)for(;A!==n;)l.push(A),A=u.charAt(ls),Qu.test(A)?ls++:(A=n,0===Cs&&vs(Vr));else l=n;l!==n?c=f=[f,l]:(ls=c,c=n)}else ls=c,c=n;c===n&&(c=null),o=s=[s,i,a,c]}else ls=o,o=n;(e=o!==n?u.substring(e,ls):o)!==n?(t,t=ss(e)):(ls=t,t=n)}else ls=t,t=n;Cs--,t===n&&(r=n,0===Cs&&vs(nn));return t}(),r!==n&&(t,r=Ye(r)),(t=r)===n&&(t=ls,r=function(){var t,r,e,o,s;Cs++,t=ls,39===u.charCodeAt(ls)?(r=T,ls++):(r=n,0===Cs&&vs(wt));if(r!==n){for(e=ls,o=[],u.substr(ls,2)===wu?(s=wu,ls+=2):(s=n,0===Cs&&vs(Nr)),s===n&&(s=u.charAt(ls),Hu.test(s)?ls++:(s=n,0===Cs&&vs(qr)));s!==n;)o.push(s),u.substr(ls,2)===wu?(s=wu,ls+=2):(s=n,0===Cs&&vs(Nr)),s===n&&(s=u.charAt(ls),Hu.test(s)?ls++:(s=n,0===Cs&&vs(qr)));e=u.substring(e,ls),39===u.charCodeAt(ls)?(o=T,ls++):(o=n,0===Cs&&vs(wt)),o!==n?(t,t=ns(e)):(ls=t,t=n)}else ls=t,t=n;Cs--,t===n&&(r=n,0===Cs&&vs(Ir));return t}(),r!==n&&(t,r=uo(r)),(t=r)===n&&(t=ls,r=function(){var t,r,e,o,s,i;Cs++,t=ls,u.substr(ls,7)===_u?(r=_u,ls+=7):(r=n,0===Cs&&vs(dn));if(r!==n){if(e=ls,o=ls,s=[],i=u.charAt(ls),rt.test(i)?ls++:(i=n,0===Cs&&vs(Fn)),i!==n)for(;i!==n;)s.push(i),i=u.charAt(ls),rt.test(i)?ls++:(i=n,0===Cs&&vs(Fn));else s=n;s!==n?(u.substr(ls,2)===Ru?(i=Ru,ls+=2):(i=n,0===Cs&&vs(gn)),i===n&&(61===u.charCodeAt(ls)?(i=p,ls++):(i=n,0===Cs&&vs(ft))),i===n&&(i=null),o=s=[s,i]):(ls=o,o=n),(e=o!==n?u.substring(e,ls):o)!==n?(39===u.charCodeAt(ls)?(o=T,ls++):(o=n,0===Cs&&vs(wt)),o!==n?(t,t=fs(e)):(ls=t,t=n)):(ls=t,t=n)}else ls=t,t=n;Cs--,t===n&&(r=n,0===Cs&&vs(Cn));return t}(),r!==n&&(t,r=to(r)),(t=r)===n&&(t=ls,(r=Ps())!==n&&(t,r=ro(r)),(t=r)===n&&(t=function(){var t,r;Cs++,t=ls,u.substr(ls,4)===K?(r=K,ls+=4):(r=n,0===Cs&&vs(Wt));r!==n&&(t,r=no());t=r,Cs--,t===n&&(r=n,0===Cs&&vs(Vt));return t}())))))))),t}function Qs(){var t,r,e,o,s,i;if(Cs++,t=ls,r=ls,e=ls,123===u.charCodeAt(ls)?(o=Q,ls++):(o=n,0===Cs&&vs(Yt)),o!==n){for(s=[],(i=Qs())===n&&(i=u.charAt(ls),Uu.test(i)?ls++:(i=n,0===Cs&&vs(ur)));i!==n;)s.push(i),(i=Qs())===n&&(i=u.charAt(ls),Uu.test(i)?ls++:(i=n,0===Cs&&vs(ur)));125===u.charCodeAt(ls)?(i=V,ls++):(i=n,0===Cs&&vs(tr)),i!==n?e=o=[o,s,i]:(ls=e,e=n)}else ls=e,e=n;return(r=e!==n?u.substring(r,ls):e)!==n&&(t,r=eo(r)),Cs--,(t=r)===n&&(r=n,0===Cs&&vs(Xt)),t}function Vs(){var t,r,e,o,s,i,a,c;if(Cs++,t=ls,r=ls,e=ls,91===u.charCodeAt(ls)?(o=_,ls++):(o=n,0===Cs&&vs(Zt)),o!==n?(s=vi(),93===u.charCodeAt(ls)?(i=R,ls++):(i=n,0===Cs&&vs(zt)),i!==n?e=o=[o,s,i]:(ls=e,e=n)):(ls=e,e=n),e===n)if(e=ls,91===u.charCodeAt(ls)?(o=_,ls++):(o=n,0===Cs&&vs(Zt)),o!==n)if(s=vi(),123===u.charCodeAt(ls)?(i=Q,ls++):(i=n,0===Cs&&vs(Yt)),i!==n){for(a=[],(c=Vs())===n&&(c=u.charAt(ls),Mu.test(c)?ls++:(c=n,0===Cs&&vs(nr)));c!==n;)a.push(c),(c=Vs())===n&&(c=u.charAt(ls),Mu.test(c)?ls++:(c=n,0===Cs&&vs(nr)));93===u.charCodeAt(ls)?(c=R,ls++):(c=n,0===Cs&&vs(zt)),c!==n?e=o=[o,s,i,a,c]:(ls=e,e=n)}else ls=e,e=n;else ls=e,e=n;return(r=e!==n?u.substring(r,ls):e)!==n&&(t,r=oo(r)),Cs--,(t=r)===n&&(r=n,0===Cs&&vs(rr)),t}function Ws(){var t,r,e,o,s,i;if(t=ls,(r=Ks())!==n){for(e=[],o=ls,44===u.charCodeAt(ls)?(s=W,ls++):(s=n,0===Cs&&vs(or)),s!==n&&(i=Ks())!==n?(o,o=io(r,i)):(ls=o,o=n);o!==n;)e.push(o),o=ls,44===u.charCodeAt(ls)?(s=W,ls++):(s=n,0===Cs&&vs(or)),s!==n&&(i=Ks())!==n?(o,o=io(r,i)):(ls=o,o=n);t,t=ao(r,e)}else ls=t,t=n;return t}function Xs(){var t,r,e;return t=ls,r=function(){var t,r,e;if(Cs++,t=ls,r=[],e=u.charAt(ls),Gu.test(e)?ls++:(e=n,0===Cs&&vs(ir)),e!==n)for(;e!==n;)r.push(e),e=u.charAt(ls),Gu.test(e)?ls++:(e=n,0===Cs&&vs(ir));else r=n;return t=r!==n?u.substring(t,ls):r,Cs--,t===n&&(r=n,0===Cs&&vs(sr)),t}(),r!==n&&Bi()!==n?(e=function(){var u,t,r,e,o,s,i;if(u=ls,t=[],r=ls,e=Hs(),e!==n){for(o=[],s=ls,gi()!==n&&(i=Hs())!==n?(s,s=lo(e,i)):(ls=s,s=n);s!==n;)o.push(s),s=ls,gi()!==n&&(i=Hs())!==n?(s,s=lo(e,i)):(ls=s,s=n);r,r=Ao(e,o)}else ls=r,r=n;for(;r!==n;)if(t.push(r),r=ls,(e=Hs())!==n){for(o=[],s=ls,gi()!==n&&(i=Hs())!==n?(s,s=lo(e,i)):(ls=s,s=n);s!==n;)o.push(s),s=ls,gi()!==n&&(i=Hs())!==n?(s,s=lo(e,i)):(ls=s,s=n);r,r=Ao(e,o)}else ls=r,r=n;return u,t=po(t),u=t,u}(),Ei()!==n?(t,t=fo(r,e)):(ls=t,t=n)):(ls=t,t=n),t}function Ys(){var t,r;return t=ls,vi(),(r=u.substr(ls,3)).toLowerCase()===ru?ls+=3:(r=n,0===Cs&&vs(Ar)),r!==n&&mi()!==n?(t,t=Co()):(ls=t,t=n),t}function ui(){var t,r;return t=ls,mi()!==n?((r=u.substr(ls,3)).toLowerCase()===nu?ls+=3:(r=n,0===Cs&&vs(pr)),r!==n&&mi()!==n?(t,t=Fo()):(ls=t,t=n)):(ls=t,t=n),t}function ti(){var u,t;return u=ls,(t=mi())!==n&&(u,t=go()),u=t}function ri(){var t,r;return t=ls,mi()!==n?((r=u.substr(ls,2)).toLowerCase()===eu?ls+=2:(r=n,0===Cs&&vs(hr)),r!==n&&mi()!==n?(t,t=Bo()):(ls=t,t=n)):(ls=t,t=n),t}function ni(){var t,r,e;return t=ls,u.substr(ls,9)===ou?(r=ou,ls+=9):(r=n,0===Cs&&vs(Cr)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=ls,t=Bi(),t!==n)if(vi(),(r=ei())!==n){for(e=[],o=ls,vi(),gi()!==n?(vi(),(s=ei())!==n?(o,o=To(r,s)):(ls=o,o=n)):(ls=o,o=n);o!==n;)e.push(o),o=ls,vi(),gi()!==n?(vi(),(s=ei())!==n?(o,o=To(r,s)):(ls=o,o=n)):(ls=o,o=n);o=vi(),Ei()!==n?(u,u=jo(r,e)):(ls=u,u=n)}else ls=u,u=n;else ls=u,u=n;return u}(),e!==n?(t,t=Eo(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,7)===su?(r=su,ls+=7):(r=n,0===Cs&&vs(dr)),r!==n?(e=function(){var u,t,r,e,o,s,i,a;if(u=ls,t=Bi(),t!==n)if(Bi()!==n)if((r=ci())!==n){for(e=[],o=ls,(s=gi())!==n&&(i=ci())!==n?(o,o=Ro(r,i)):(ls=o,o=n);o!==n;)e.push(o),o=ls,(s=gi())!==n&&(i=ci())!==n?(o,o=Ro(r,i)):(ls=o,o=n);o=ls,(s=Ei())!==n&&(o,s=Io(r,e)),(o=s)!==n?(s=ls,(i=gi())!==n&&(a=qs())!==n?(s,s=No(r,e,a)):(ls=s,s=n),s===n&&(s=null),(i=Ei())!==n?(u,u=qo(r,e,s)):(ls=u,u=n)):(ls=u,u=n)}else ls=u,u=n;else ls=u,u=n;else ls=u,u=n;return u}(),e!==n?(t,t=vo(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,6)===iu?(r=iu,ls+=6):(r=n,0===Cs&&vs(Fr)),r!==n?(e=function(){var u,t,r,e;u=ls,t=Bi(),t!==n?(vi(),r=ls,(e=zs())!==n&&(r,e=Mo(e)),(r=e)!==n?(e=vi(),Ei()!==n?(u,u=Go(r)):(ls=u,u=n)):(ls=u,u=n)):(ls=u,u=n);return u}(),e!==n?(t,t=mo(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,6)===au?(r=au,ls+=6):(r=n,0===Cs&&vs(gr)),r!==n?(e=function(){var u,t,r,e;u=ls,t=Bi(),t!==n?(vi(),r=ls,(e=Os())!==n&&(r,e=Ho(e)),(r=e)!==n?(e=vi(),Ei()!==n?(u,u=Jo(r)):(ls=u,u=n)):(ls=u,u=n)):(ls=u,u=n);return u}(),e!==n?(t,t=bo(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,6)===cu?(r=cu,ls+=6):(r=n,0===Cs&&vs(Br)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=ls,t=Bi(),t!==n)if(vi(),(r=qs())!==n){if(e=[],o=ls,vi(),gi()!==n?(vi(),(s=qs())!==n?(o,o=Ko(r,s)):(ls=o,o=n)):(ls=o,o=n),o!==n)for(;o!==n;)e.push(o),o=ls,vi(),gi()!==n?(vi(),(s=qs())!==n?(o,o=Ko(r,s)):(ls=o,o=n)):(ls=o,o=n);else e=n;e!==n?(o=vi(),Ei()!==n?(u,u=Qo(r,e)):(ls=u,u=n)):(ls=u,u=n)}else ls=u,u=n;else ls=u,u=n;return u}(),e!==n?(t,t=Do(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,7)===fu?(r=fu,ls+=7):(r=n,0===Cs&&vs(Er)),r!==n?(e=function(){var u,t,r,e,o,s,i,a,c,f;if(u=ls,t=Bi(),t!==n)if(r=vi(),(e=fi())!==n){for(o=[],s=ls,i=vi(),(a=gi())!==n?(c=vi(),(f=fi())!==n?s=i=[i,a,c,f]:(ls=s,s=n)):(ls=s,s=n);s!==n;)o.push(s),s=ls,i=vi(),(a=gi())!==n?(c=vi(),(f=fi())!==n?s=i=[i,a,c,f]:(ls=s,s=n)):(ls=s,s=n);s=vi(),(i=Ei())!==n?u=t=[t,r,e,o,s,i]:(ls=u,u=n)}else ls=u,u=n;else ls=u,u=n;return u}(),e!==n?(t,t=yo(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,3)===lu?(r=lu,ls+=3):(r=n,0===Cs&&vs(vr)),r!==n?(e=function(){var u,t,r;u=ls,t=Bi(),t!==n?(vi(),(r=Ts())!==n?(vi(),Ei()!==n?(u,u=Xo(r)):(ls=u,u=n)):(ls=u,u=n)):(ls=u,u=n);return u}(),e!==n?(t,t=$o(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,4)===Au?(r=Au,ls+=4):(r=n,0===Cs&&vs(mr)),r!==n?(e=function(){var u,t,r;u=ls,t=Bi(),t!==n?(vi(),(r=js())!==n?(vi(),Ei()!==n?(u,u=Yo(r)):(ls=u,u=n)):(ls=u,u=n)):(ls=u,u=n);return u}(),e!==n?(t,t=xo(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,7)===pu?(r=pu,ls+=7):(r=n,0===Cs&&vs(br)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=ls,t=Bi(),t!==n)if(vi(),(r=Ns())!==n){for(e=[],o=ls,gi()!==n&&(s=Ns())!==n?(o,o=us(r,s)):(ls=o,o=n);o!==n;)e.push(o),o=ls,gi()!==n&&(s=Ns())!==n?(o,o=us(r,s)):(ls=o,o=n);o=vi(),Ei()!==n?(u,u=ts(r,e)):(ls=u,u=n)}else ls=u,u=n;else ls=u,u=n;return u}(),e!==n?(t,t=wo(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,(r=u.substr(ls,8)).toLowerCase()===hu?ls+=8:(r=n,0===Cs&&vs(Dr)),r===n&&((r=u.substr(ls,11)).toLowerCase()===Cu?ls+=11:(r=n,0===Cs&&vs(yr)),r===n&&((r=u.substr(ls,6)).toLowerCase()===du?ls+=6:(r=n,0===Cs&&vs($r)),r===n&&((r=u.substr(ls,9)).toLowerCase()===Fu?ls+=9:(r=n,0===Cs&&vs(xr)),r===n&&((r=u.substr(ls,10)).toLowerCase()===gu?ls+=10:(r=n,0===Cs&&vs(wr)),r===n&&((r=u.substr(ls,13)).toLowerCase()===Bu?ls+=13:(r=n,0===Cs&&vs(Lr))))))),r!==n?(e=function(){var u,t,r,e;u=ls,t=Bi(),t!==n?(vi(),(r=Hs())!==n?(vi(),gi()!==n?(vi(),(e=Hs())!==n?(vi(),Ei()!==n?(u,u=Vo(r,e)):(ls=u,u=n)):(ls=u,u=n)):(ls=u,u=n)):(ls=u,u=n)):(ls=u,u=n);return u}(),e!==n?(t,t=Lo(r,e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,r=function(){var t,r;t=ls,u.substr(ls,8)===yu?(r=yu,ls+=8):(r=n,0===Cs&&vs(zr));r!==n&&(t,r=Wo());return t=r,t}(),r!==n&&(t,r=So(r)),t=r)))))))))),t}function ei(){var t,r,e,o;return t=ls,r=ls,u.substr(ls,6)===f?(e=f,ls+=6):(e=n,0===Cs&&vs(it)),e!==n&&(o=ai())!==n?(r,r=Oo(o)):(ls=r,r=n),r===n&&(r=oi()),r!==n&&(t,r=Zo(r)),t=r}function oi(){var u,t,r,e,o;return u=ls,(t=Js())!==n?((r=si())===n&&(r=null),(e=ii())===n&&(e=null),(o=ai())===n&&(o=null),u,u=zo(t,r,o)):(ls=u,u=n),u===n&&(u=ls,(t=hi())!==n&&(r=Bi())!==n&&(e=oi())!==n&&(o=Ei())!==n?u=t=[t,r,e,o]:(ls=u,u=n)),u}function si(){var t,r,e,o,s;if(t=ls,mi()!==n)if(u.substr(ls,4)===Eu?(r=Eu,ls+=4):(r=n,0===Cs&&vs(Sr)),r!==n)if(mi()!==n){if(e=ls,o=[],s=u.charAt(ls),Gu.test(s)?ls++:(s=n,0===Cs&&vs(ir)),s!==n)for(;s!==n;)o.push(s),s=u.charAt(ls),Gu.test(s)?ls++:(s=n,0===Cs&&vs(ir));else o=n;(e=o!==n?u.substring(e,ls):o)!==n?(t,t=ko(e)):(ls=t,t=n)}else ls=t,t=n;else ls=t,t=n;else ls=t,t=n;return t}function ii(){var t,r,e,o,s,i,a;return t=ls,(r=mi())!==n?(u.substr(ls,4)===vu?(e=vu,ls+=4):(e=n,0===Cs&&vs(Tr)),e!==n&&(o=mi())!==n&&(s=Js())!==n&&(i=si())!==n?((a=ii())===n&&(a=null),t=r=[r,e,o,s,i,a]):(ls=t,t=n)):(ls=t,t=n),t}function ai(){var t,r,e;return t=ls,mi()!==n?(u.substr(ls,2)===mu?(r=mu,ls+=2):(r=n,0===Cs&&vs(jr)),r!==n&&mi()!==n&&(e=hi())!==n?(t,t=_o(e)):(ls=t,t=n)):(ls=t,t=n),t}function ci(){var t,r;return t=ls,r=function(){var t,r,e,o,s,i,a,c,f,l,A;t=ls,r=ls,u.substr(ls,6)===bu?(e=bu,ls+=6):(e=n,0===Cs&&vs(Or));if(e!==n)if((o=Bi())!==n)if(s=vi(),u.substr(ls,4)===Du?(i=Du,ls+=4):(i=n,0===Cs&&vs(Zr)),i===n&&(i=Js()),i!==n){if(a=[],c=ls,f=vi(),(l=gi())!==n&&(A=Js())!==n?c=f=[f,l,A]:(ls=c,c=n),c!==n)for(;c!==n;)a.push(c),c=ls,f=vi(),(l=gi())!==n&&(A=Js())!==n?c=f=[f,l,A]:(ls=c,c=n);else a=n;a!==n?(c=vi(),(f=Ei())!==n?r=e=[e,o,s,i,a,c,f]:(ls=r,r=n)):(ls=r,r=n)}else ls=r,r=n;else ls=r,r=n;else ls=r,r=n;r!==n&&(t,r=Uo(r));return t=r,t}(),r===n&&(r=Js()),r!==n&&(t,r=Po(r)),t=r}function fi(){var u,t,r;return u=ls,(t=ks())!==n&&(r=ai())!==n?u=t=[t,r]:(ls=u,u=n),u}function li(){var t,r;return Cs++,t=ls,u.substr(ls,4)===$u?(r=$u,ls+=4):(r=n,0===Cs&&vs(_r)),r===n&&(u.substr(ls,5)===xu?(r=xu,ls+=5):(r=n,0===Cs&&vs(Rr))),r!==n&&(t,r=rs(r)),Cs--,(t=r)===n&&(r=n,0===Cs&&vs(kr)),t}function Ai(){var t,r,e,o,s,i,a,c,f,l,A,p,h,C,d,F,g,B,E,v,m,b,D,y,$;if(Cs++,t=ls,r=ls,e=ls,o=[],s=u.charAt(ls),Qu.test(s)?ls++:(s=n,0===Cs&&vs(Vr)),s!==n)for(;s!==n;)o.push(s),s=u.charAt(ls),Qu.test(s)?ls++:(s=n,0===Cs&&vs(Vr));else o=n;if(o!==n)if(45===u.charCodeAt(ls)?(s=ju,ls++):(s=n,0===Cs&&vs(Xr)),s!==n)if(i=u.charAt(ls),Qu.test(i)?ls++:(i=n,0===Cs&&vs(Vr)),i!==n)if(a=u.charAt(ls),Qu.test(a)?ls++:(a=n,0===Cs&&vs(Vr)),a!==n)if(45===u.charCodeAt(ls)?(c=ju,ls++):(c=n,0===Cs&&vs(Xr)),c!==n)if(f=u.charAt(ls),Qu.test(f)?ls++:(f=n,0===Cs&&vs(Vr)),f!==n)if(l=u.charAt(ls),Qu.test(l)?ls++:(l=n,0===Cs&&vs(Vr)),l!==n){if(A=ls,84===u.charCodeAt(ls)?(p=Ou,ls++):(p=n,0===Cs&&vs(Yr)),p!==n)if(h=u.charAt(ls),Qu.test(h)?ls++:(h=n,0===Cs&&vs(Vr)),h!==n)if(C=u.charAt(ls),Qu.test(C)?ls++:(C=n,0===Cs&&vs(Vr)),C!==n)if(58===u.charCodeAt(ls)?(d=j,ls++):(d=n,0===Cs&&vs(Lt)),d!==n)if(F=u.charAt(ls),Qu.test(F)?ls++:(F=n,0===Cs&&vs(Vr)),F!==n)if(g=u.charAt(ls),Qu.test(g)?ls++:(g=n,0===Cs&&vs(Vr)),g!==n){if(B=ls,58===u.charCodeAt(ls)?(E=j,ls++):(E=n,0===Cs&&vs(Lt)),E!==n)if(v=u.charAt(ls),Qu.test(v)?ls++:(v=n,0===Cs&&vs(Vr)),v!==n)if(m=u.charAt(ls),Qu.test(m)?ls++:(m=n,0===Cs&&vs(Vr)),m!==n){if(b=ls,46===u.charCodeAt(ls)?(D=Zu,ls++):(D=n,0===Cs&&vs(un)),D!==n){if(y=[],$=u.charAt(ls),Qu.test($)?ls++:($=n,0===Cs&&vs(Vr)),$!==n)for(;$!==n;)y.push($),$=u.charAt(ls),Qu.test($)?ls++:($=n,0===Cs&&vs(Vr));else y=n;y!==n?b=D=[D,y]:(ls=b,b=n)}else ls=b,b=n;b===n&&(b=null),B=E=[E,v,m,b]}else ls=B,B=n;else ls=B,B=n;else ls=B,B=n;B===n&&(B=null),90===u.charCodeAt(ls)?(E=zu,ls++):(E=n,0===Cs&&vs(tn)),E===n&&(E=ls,v=u.charAt(ls),Vu.test(v)?ls++:(v=n,0===Cs&&vs(rn)),v!==n?(m=u.charAt(ls),Qu.test(m)?ls++:(m=n,0===Cs&&vs(Vr)),m!==n?(b=u.charAt(ls),Qu.test(b)?ls++:(b=n,0===Cs&&vs(Vr)),b!==n?(58===u.charCodeAt(ls)?(D=j,ls++):(D=n,0===Cs&&vs(Lt)),D!==n?(y=u.charAt(ls),Qu.test(y)?ls++:(y=n,0===Cs&&vs(Vr)),y!==n?($=u.charAt(ls),Qu.test($)?ls++:($=n,0===Cs&&vs(Vr)),$!==n?E=v=[v,m,b,D,y,$]:(ls=E,E=n)):(ls=E,E=n)):(ls=E,E=n)):(ls=E,E=n)):(ls=E,E=n)):(ls=E,E=n)),E===n&&(E=null),A=p=[p,h,C,d,F,g,B,E]}else ls=A,A=n;else ls=A,A=n;else ls=A,A=n;else ls=A,A=n;else ls=A,A=n;else ls=A,A=n;A===n&&(A=null),e=o=[o,s,i,a,c,f,l,A]}else ls=e,e=n;else ls=e,e=n;else ls=e,e=n;else ls=e,e=n;else ls=e,e=n;else ls=e,e=n;else ls=e,e=n;return(r=e!==n?u.substring(r,ls):e)!==n&&(t,r=os(r)),Cs--,(t=r)===n&&(r=n,0===Cs&&vs(Wr)),t}function pi(){var t,r,e,o,s,i;if(Cs++,t=ls,r=ls,e=ls,o=u.charAt(ls),Vu.test(o)?ls++:(o=n,0===Cs&&vs(rn)),o===n&&(o=null),s=[],i=u.charAt(ls),Qu.test(i)?ls++:(i=n,0===Cs&&vs(Vr)),i!==n)for(;i!==n;)s.push(i),i=u.charAt(ls),Qu.test(i)?ls++:(i=n,0===Cs&&vs(Vr));else s=n;return s!==n?e=o=[o,s]:(ls=e,e=n),(r=e!==n?u.substring(r,ls):e)!==n&&(t,r=is(r)),Cs--,(t=r)===n&&(r=n,0===Cs&&vs(on)),t}function hi(){var t,r,e,o,s,i,a,c;if(Cs++,t=ls,r=ls,Cs++,e=li(),Cs--,e===n?r=void 0:(ls=r,r=n),r!==n)if(e=ls,Cs++,o=Ci(),Cs--,o===n?e=void 0:(ls=e,e=n),e!==n){if(o=ls,s=ls,i=u.charAt(ls),Wu.test(i)?ls++:(i=n,0===Cs&&vs(an)),i!==n){for(a=[],c=u.charAt(ls),Xu.test(c)?ls++:(c=n,0===Cs&&vs(cn));c!==n;)a.push(c),c=u.charAt(ls),Xu.test(c)?ls++:(c=n,0===Cs&&vs(cn));s=i=[i,a]}else ls=s,s=n;(o=s!==n?u.substring(o,ls):s)!==n?(t,t=as(o)):(ls=t,t=n)}else ls=t,t=n;else ls=t,t=n;return Cs--,t===n&&(r=n,0===Cs&&vs(sn)),t}function Ci(){var t,r,e,o,s,i,a,c,f,l,A,p,h,C;return Cs++,t=ls,r=ls,(e=di())!==n&&(o=di())!==n?(45===u.charCodeAt(ls)?(s=ju,ls++):(s=n,0===Cs&&vs(Xr)),s===n&&(s=null),(i=di())!==n?(45===u.charCodeAt(ls)?(a=ju,ls++):(a=n,0===Cs&&vs(Xr)),a===n&&(a=null),(c=di())!==n?(45===u.charCodeAt(ls)?(f=ju,ls++):(f=n,0===Cs&&vs(Xr)),f===n&&(f=null),(l=di())!==n?(45===u.charCodeAt(ls)?(A=ju,ls++):(A=n,0===Cs&&vs(Xr)),A===n&&(A=null),(p=di())!==n&&(h=di())!==n&&(C=di())!==n?r=e=[e,o,s,i,a,c,f,l,A,p,h,C]:(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n),t=r!==n?u.substring(t,ls):r,Cs--,t===n&&(r=n,0===Cs&&vs(fn)),t}function di(){var t,r,e,o,s,i;return Cs++,t=ls,r=ls,e=u.charAt(ls),Yu.test(e)?ls++:(e=n,0===Cs&&vs(An)),e!==n?(o=u.charAt(ls),Yu.test(o)?ls++:(o=n,0===Cs&&vs(An)),o!==n?(s=u.charAt(ls),Yu.test(s)?ls++:(s=n,0===Cs&&vs(An)),s!==n?(i=u.charAt(ls),Yu.test(i)?ls++:(i=n,0===Cs&&vs(An)),i!==n?r=e=[e,o,s,i]:(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n),t=r!==n?u.substring(t,ls):r,Cs--,t===n&&(r=n,0===Cs&&vs(ln)),t}function Fi(){var t,r,e,o;if(t=ls,r=ls,e=[],o=u.charAt(ls),ut.test(o)?ls++:(o=n,0===Cs&&vs(pn)),o!==n)for(;o!==n;)e.push(o),o=u.charAt(ls),ut.test(o)?ls++:(o=n,0===Cs&&vs(pn));else e=n;return(r=e!==n?u.substring(r,ls):e)!==n&&(t,r=cs(r)),t=r}function gi(){var t,r,e;return t=ls,r=vi(),44===u.charCodeAt(ls)?(e=W,ls++):(e=n,0===Cs&&vs(or)),e!==n?t=r=[r,e,vi()]:(ls=t,t=n),t}function Bi(){var t,r,e;return t=ls,r=vi(),40===u.charCodeAt(ls)?(e=Iu,ls++):(e=n,0===Cs&&vs(Bn)),e!==n?t=r=[r,e,vi()]:(ls=t,t=n),t}function Ei(){var t,r,e;return t=ls,r=vi(),41===u.charCodeAt(ls)?(e=Nu,ls++):(e=n,0===Cs&&vs(En)),e!==n?t=r=[r,e]:(ls=t,t=n),t}function vi(){var t,r,e;for(Cs++,t=ls,r=[],e=u.charAt(ls),nt.test(e)?ls++:(e=n,0===Cs&&vs(mn));e!==n;)r.push(e),e=u.charAt(ls),nt.test(e)?ls++:(e=n,0===Cs&&vs(mn));return t=u.substring(t,ls),Cs--,r=n,0===Cs&&vs(vn),t}function mi(){var t,r,e;if(Cs++,t=ls,r=[],e=u.charAt(ls),nt.test(e)?ls++:(e=n,0===Cs&&vs(mn)),e!==n)for(;e!==n;)r.push(e),e=u.charAt(ls),nt.test(e)?ls++:(e=n,0===Cs&&vs(mn));else r=n;return t=r!==n?u.substring(t,ls):r,Cs--,t===n&&(r=n,0===Cs&&vs(bn)),t}const bi=["$value"],Di={eq:"=",ne:"!=",lt:"<",gt:">",le:"<=",ge:">="},yi={topcount:!0,bottomcount:!0,topsum:!1,bottomsum:!1,toppercent:!1,bottompercent:!1},$i=Object.assign,{strict:xi,minimal:wi}=t,Li=[];let Si,Ti;const ji=t.safeNumber||function(u){if("string"!=typeof u)return u;const t=parseFloat(u);if(!isNaN(t)&&String(t)===u)return t;const r=parseInt(u);return isNaN(r)||String(r)!==u.replace(/^-?\d+\.0+$/,u.split(".")[0])?u:r},Oi=t.skipToken,Zi=t.standardBase64||function(u){return Buffer.from(u,"base64").toString("base64")},zi=u=>t=>u===t||u.as&&t.as&&u.as===t.as||t.as&&u.ref&&t.as===u.ref[u.ref.length-1]||u.ref&&t.ref&&u.ref.join("")===t.ref.join(""),ki=u=>t=>{if(Array.isArray(t))return t.map(ki(u));const r=t.ref&&u.find((u=>u.as&&u.func&&u.as===t.ref[0]));return r||t},_i=u=>t=>Array.isArray(t)?t.map(_i(u)):t.ref&&!u.find(zi(t))?{val:null}:t,Ri=(u,t)=>{if(1===t.ref.length)u.find(zi(t))||u.push(t);else{const r=t.ref.shift(),n=u.find((u=>u.ref&&u.ref[0]===r));if(n)Ri(n.expand,t);else{const n={ref:[r],expand:[]};Ri(n.expand,t),u.push(n)}}},Ii=(u,t,r=!1)=>{let n=Pi({from:u.from},t,r);if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t]=Ni(n[t],u,r);else n=Ni(n,u,r);return n},Ni=(u,t,r)=>{if(!t)return u;t.apply&&delete t.apply;let n={};t.columns&&"$count"===t.columns[0].as||u.SELECT.where&&t.where||u.SELECT.limit&&t.limit||u.SELECT.orderBy&&t.orderBy||u.SELECT.search&&t.search?n.from=u:n=u.SELECT;for(const u in t)"columns"===u?(t.columns=t.columns.map((u=>n.columns&&n.columns.find((t=>u.ref&&u.ref[0]===t.as||t.ref&&u.ref&&u.ref[0]===t.ref[0]&&!u.expand))||u)),n.columns&&n.groupBy&&t.columns.push(...n.columns.filter((u=>r&&n.groupBy.find((t=>u.ref&&u.ref[0]===t.ref[0]))&&!t.columns.some((t=>t.ref&&t.ref[0]===u.as||t.ref&&u.ref&&t.ref[0]===u.ref[0]||t.as&&t.as===u.as))))||[]),n.columns=t.columns):"from"!==u&&(n[u]=t[u]);const e=[...n.columns&&n.columns.filter((u=>n.groupBy&&n.groupBy.find((t=>u.ref&&u.ref[0]===t.ref[0]))))||[],...n.columns&&n.columns.filter((u=>u&&"object"==typeof u&&"func"in u))||[]];return qi(n,e,r),{SELECT:n}},qi=(u,t,r)=>{t.length&&(u.columns=u.columns&&!r?u.columns.reduce(((u,r)=>{const n=t.find(zi(r));return n&&u.push(n),u}),[]):t,u.where&&(u.where=u.where.map(ki(u.columns)),u.groupBy&&(u.having=u.where.map(_i(u.groupBy)),delete u.where)),u.columns=u.columns.reduce(((u,r)=>(r.ref&&r.ref.length>1&&t.find(zi(r))?Ri(u,{ref:[...r.ref]}):u.push(r),u)),[]))},Pi=(u,t,r)=>{if(!t)return;if(u.apply&&delete u.apply,t.identity&&u.from.SELECT&&(u=u.from.SELECT),(t.apply||t.where&&u.where||t.search&&u.search||t.limit&&u.limit||t.orderBy&&u.orderBy)&&(u.from={SELECT:{...u}}),t.where&&(u.where=t.where),t.search&&(u.search=t.search),t.groupBy){u.groupBy=[];for(const r of t.groupBy)u.groupBy.find(zi(r))||u.groupBy.push(r)}t.limit&&(u.limit=t.limit),t.orderBy&&(u.orderBy=t.orderBy);const n=[...u.groupBy||[],...t.aggregate||[]];if(qi(u,n,r),t.apply&&u.from&&Pi(u.from.SELECT,t.apply),t.concat&&Array.isArray(t.concat)){const r=[];for(let n of t.concat){n.from=1===Object.keys(u).length?u.from:{SELECT:u};const t=Pi(n,n.apply);Array.isArray(t)?r.push(...t):r.push(t)}u=r}return Array.isArray(u)?u:{SELECT:u}},Ui=u=>{Si.limit&&Si.limit.offset&&Si.limit.offset.val&&(u+=Si.limit.offset.val),(Si.limit||(Si.limit={})).offset={val:u}},Mi=(u,t=!1)=>{Si.orderBy=Si.orderBy?t?[u,...Si.orderBy]:[...Si.orderBy,u]:[u]},Gi=(u,t)=>{for(const r of t)r.ref&&r.ref[0]===u&&r.ref.shift(),r.func&&Gi(u,r.args);return t},Hi=(u,t,r,n=!1)=>{u?.forEach((u=>{u.val===t?u.val=r.val:u.list===t?u.list=r.list:u.func?u.args.forEach(((u,e)=>{u.val===t?u.val=r.val:u.func&&Hi(u.args,t,r,n)})):u.SELECT&&Ji(u.SELECT,t,r,n)}))},Ji=(u,t,r,n=!1)=>{const{where:e,from:o}=u;Hi(e,t,r),o?.ref?.forEach((u=>{Hi(u.where,t,r,!0)}))};if(r=s(),t.peg$library)return{peg$result:r,peg$currPos:ls,peg$FAILED:n,peg$maxFailExpected:hs,peg$maxFailPos:ps};if(r!==n&&ls===u.length)return r;throw r!==n&&ls<u.length&&vs({type:"end"}),ms(hs,ps<u.length?u.charAt(ps):null,ps<u.length?Es(ps,ps+1):Es(ps,ps))}peg$subclass(peg$SyntaxError,Error),peg$SyntaxError.prototype.format=function(u){var t="Error: "+this.message;if(this.location){var r,n=null;for(r=0;r<u.length;r++)if(u[r].source===this.location.source){n=u[r].text.split(/\r\n|\n|\r/g);break}var e=this.location.start,o=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(e):e,s=this.location.source+":"+o.line+":"+o.column;if(n){var i=this.location.end,a=peg$padEnd("",o.line.toString().length," "),c=n[e.line-1],f=(e.line===i.line?i.column:c.length+1)-e.column||1;t+="\n --\x3e "+s+"\n"+a+" |\n"+o.line+" | "+c+"\n"+a+" | "+peg$padEnd("",e.column-1," ")+peg$padEnd("",f,"^")}else t+="\n at "+s}return t},peg$SyntaxError.buildMessage=function(u,t){var r={literal:function(u){return'"'+e(u.text)+'"'},class:function(u){var t=u.parts.map((function(u){return Array.isArray(u)?o(u[0])+"-"+o(u[1]):o(u)}));return"["+(u.inverted?"^":"")+t.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(u){return u.description}};function n(u){return u.charCodeAt(0).toString(16).toUpperCase()}function e(u){return u.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(u){return"\\x0"+n(u)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(u){return"\\x"+n(u)}))}function o(u){return u.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(u){return"\\x0"+n(u)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(u){return"\\x"+n(u)}))}function s(u){return r[u.type](u)}return"Expected "+function(u){var t,r,n=u.map(s);if(n.sort(),n.length>0){for(t=1,r=1;t<n.length;t++)n[t-1]!==n[t]&&(n[r]=n[t],r++);n.length=r}switch(n.length){case 1:return n[0];case 2:return n[0]+" or "+n[1];default:return n.slice(0,-1).join(", ")+", or "+n[n.length-1]}}(u)+" but "+function(u){return u?'"'+e(u)+'"':"end of input"}(t)+" found."},module.exports={StartRules:["ODataRelativeURI"],SyntaxError:peg$SyntaxError,parse:peg$parse};
|
|
1
|
+
"use strict";function peg$subclass(u,t){function r(){this.constructor=u}r.prototype=t.prototype,u.prototype=new r}function peg$SyntaxError(u,t,r,n){var e=Error.call(this,u);return Object.setPrototypeOf&&Object.setPrototypeOf(e,peg$SyntaxError.prototype),e.expected=t,e.found=r,e.location=n,e.name="SyntaxError",e}function peg$padEnd(u,t,r){return r=r||" ",u.length>t?u:(t-=u.length,u+(r+=r.repeat(t)).slice(0,t))}function peg$parse(u,t){var r,n={},e=(t=void 0!==t?t:{}).grammarSource,o={ODataRelativeURI:ws},s=ws,i="/",a="?",c="&",f="$count",l="$ref",A="$value",h="=",p="$skiptoken=",C="$search=",d="$select=",F="$expand=",g="$filter=",B="$orderby=",v="$top=",E="$skip=",m="$count=",b="$apply=",D="$at",y="$from",$="$toInclusive",w="$to",x="*",L="/$count",S=";",T=":",j="any",O="all",Z="asc",k="desc",z="$deltatoken=",_="'",R=",",I="[",q="]",N="@",P="$format=",U="eq",M="ne",G="lt",H="gt",J="le",K="ge",Q="in",V="null",W="{",X="}",Y="contains",uu="endswith",tu="startswith",ru="matchespattern",nu="not",eu="and",ou="or",su="aggregate",iu="groupby",au="filter",cu="search",fu="concat",lu="compute",Au="top",hu="skip",pu="orderby",Cu="topcount",du="bottomcount",Fu="topsum",gu="bottomsum",Bu="toppercent",vu="bottompercent",Eu="with",mu="from",bu="as",Du="rollup",yu="$all",$u="identity",wu="true",xu="false",Lu="''",Su='"',Tu='\\"',ju="\\\\",Ou="-",Zu="T",ku=".",zu="Z",_u="e",Ru="binary'",Iu="==",qu="(",Nu=")",Pu=/^[^&]/,Uu=/^[^;)]/,Mu=/^[a-zA-Z0-9\-_.~!]/,Gu=/^[^}]/,Hu=/^[^\]]/,Ju=/^[a-zA-Z]/,Ku=/^[^)]/,Qu=/^[^']/,Vu=/^[^"]/,Wu=/^[0-9]/,Xu=/^[+\-]/,Yu=/^[_a-zA-Z]/,ut=/^[_a-zA-Z0-9"."A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,tt=/^[0-9a-fA-F]/,rt=/^[^\/?]/,nt=/^[a-zA-Z0-9\-"."_~!$'()*+,;=:@"\/""?"]/,et=/^[a-zA-Z0-9\-_]/,ot=/^[ \t\n]/,st=vs("/",!1),it=vs("?",!1),at=vs("&",!1),ct=vs("$count",!1),ft=vs("$ref",!1),lt=vs("$value",!1),At=vs("=",!1),ht=vs("$skiptoken=",!1),pt=vs("$search=",!1),Ct=vs("$select=",!1),dt=vs("$expand=",!1),Ft=vs("$filter=",!1),gt=vs("$orderby=",!1),Bt=vs("$top=",!1),vt=vs("$skip=",!1),Et=vs("$count=",!1),mt=vs("$apply=",!1),bt=vs("$at",!1),Dt=vs("$from",!1),yt=vs("$toInclusive",!1),$t=vs("$to",!1),wt=vs("*",!1),xt=vs("/$count",!1),Lt=vs(";",!1),St=Es(["&"],!0,!1),Tt=Es([";",")"],!0,!1),jt=vs(":",!1),Ot=vs("any",!1),Zt=vs("all",!1),kt=vs("asc",!1),zt=vs("desc",!1),_t=vs("$deltatoken=",!1),Rt=ms("value with double-quoted string"),It=vs("'",!1),qt=vs(",",!1),Nt=vs("[",!1),Pt=vs("]",!1),Ut=Es([["a","z"],["A","Z"],["0","9"],"-","_",".","~","!"],!1,!1),Mt=ms("an aliased parameter (@param)"),Gt=vs("@",!1),Ht=vs("$format=",!1),Jt=vs("eq",!1),Kt=vs("ne",!1),Qt=vs("lt",!1),Vt=vs("gt",!1),Wt=vs("le",!1),Xt=vs("ge",!1),Yt=vs("in",!1),ur=(vs("add",!1),vs("sub",!1),vs("mul",!1),vs("div",!1),vs("mod",!1),ms("navigation with $count")),tr=ms("a reference"),rr=ms("null"),nr=vs("null",!1),er=ms("a json object"),or=vs("{",!1),sr=Es(["}"],!0,!1),ir=vs("}",!1),ar=ms("a json array"),cr=Es(["]"],!0,!1),fr=ms("a list"),lr=ms("a function name"),Ar=Es([["a","z"],["A","Z"]],!1,!1),hr=vs("contains",!0),pr=vs("endswith",!0),Cr=vs("startswith",!0),dr=vs("matchespattern",!0),Fr=vs("NOT",!0),gr=vs("AND",!0),Br=vs("OR",!0),vr=vs("aggregate",!1),Er=vs("groupby",!1),mr=vs("filter",!1),br=vs("search",!1),Dr=vs("concat",!1),yr=vs("compute",!1),$r=vs("top",!1),wr=vs("skip",!1),xr=vs("orderby",!1),Lr=vs("topcount",!0),Sr=vs("bottomcount",!0),Tr=vs("topsum",!0),jr=vs("bottomsum",!0),Or=vs("toppercent",!0),Zr=vs("bottompercent",!0),kr=vs("with",!1),zr=vs("from",!1),_r=vs("as",!1),Rr=vs("rollup",!1),Ir=vs("$all",!1),qr=Es([")"],!0,!1),Nr=vs("identity",!1),Pr=ms("a boolean"),Ur=vs("true",!1),Mr=vs("false",!1),Gr=ms("a single quoted string"),Hr=vs("''",!1),Jr=Es(["'"],!0,!1),Kr=ms("a doubled quoted string"),Qr=vs('"',!1),Vr=vs('\\"',!1),Wr=vs("\\\\",!1),Xr=Es(['"'],!0,!1),Yr=(ms("a string"),Es([" ","\t","\n","(",")",'"',"&",";"],!0,!1),ms("a time")),un=Es([["0","9"]],!1,!1),tn=ms("a date"),rn=vs("-",!1),nn=vs("T",!1),en=vs(".",!1),on=vs("Z",!1),sn=Es(["+","-"],!1,!1),an=ms("a number"),cn=vs("e",!1),fn=ms("an integer"),ln=ms("an identifier"),An=Es(["_",["a","z"],["A","Z"]],!1,!1),hn=Es(["_",["a","z"],["A","Z"],["0","9"],'"',".",'"',["A","Z"],["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],"Ͷ","ͷ",["ͺ","ͽ"],"Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԧ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],"ٮ","ٯ",["ٱ","ۓ"],"ە","ۥ","ۦ","ۮ","ۯ",["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],"ߴ","ߵ","ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],"ࢠ",["ࢢ","ࢬ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ॷ"],["ॹ","ॿ"],["অ","ঌ"],"এ","ঐ",["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ","ড়","ঢ়",["য়","ৡ"],"ৰ","ৱ",["ਅ","ਊ"],"ਏ","ਐ",["ਓ","ਨ"],["ਪ","ਰ"],"ਲ","ਲ਼","ਵ","ਸ਼","ਸ","ਹ",["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],"લ","ળ",["વ","હ"],"ઽ","ૐ","ૠ","ૡ",["ଅ","ଌ"],"ଏ","ଐ",["ଓ","ନ"],["ପ","ର"],"ଲ","ଳ",["ଵ","ହ"],"ଽ","ଡ଼","ଢ଼",["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],"ங","ச","ஜ","ஞ","ட","ண","த",["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","ళ"],["వ","హ"],"ఽ","ౘ","ౙ","ౠ","ౡ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ","ೠ","ೡ","ೱ","ೲ",["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ","ൠ","ൡ",["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],"า","ำ",["เ","ๆ"],"ກ","ຂ","ຄ","ງ","ຈ","ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ","ສ","ຫ",["ອ","ະ"],"າ","ຳ","ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ","ၥ","ၦ",["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏼ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤜ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᧁ","ᧇ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],"ᮮ","ᮯ",["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],"ᳵ","ᳶ",["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ","Ↄ","ↄ",["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],"Ⳳ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ","々","〆",["〱","〵"],"〻","〼",["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿌"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],"ꘪ","ꘫ",["Ꙁ","ꙮ"],["ꙿ","ꚗ"],["ꚠ","ꛥ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","ꞎ"],["Ꞑ","ꞓ"],["Ꞡ","Ɦ"],["ꟸ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꪀ","ꪯ"],"ꪱ","ꪵ","ꪶ",["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ","נּ","סּ","ףּ","פּ",["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),pn=ms("a guid"),Cn=ms("a hex value"),dn=Es([["0","9"],["a","f"],["A","F"]],!1,!1),Fn=Es(["/","?"],!0,!1),gn=Es([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","'","(",")","*","+",",",";","=",":","@",'"',"/",'"','"',"?",'"'],!1,!1),Bn=ms("a binary"),vn=vs("binary'",!1),En=Es([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),mn=vs("==",!1),bn=vs("(",!1),Dn=vs(")",!1),yn=ms("an optional whitespace"),$n=Es([" ","\t","\n"],!1,!1),wn=ms("a whitespace"),xn=function(u){Ti=u},Ln=function(){if(ji)return Ti.columns=[{args:[{val:1}],as:"$count",func:"count"}],delete Ti.expand,delete Ti.limit,delete Ti.orderBy,Ti.apply?qi(Ti,Ti.apply):{SELECT:Ti};let u;if(Ti.expand){Ti.columns||(Ti.columns=["*"],u=!0);for(const u of Ti.expand){const t=Ti.columns.findIndex(zi(u));t>-1&&Ti.columns.splice(t,1),Ti.columns.push(u)}delete Ti.expand}return Ti.count&&Ti.apply&&(Ti.__countAggregated=!0),Ti.apply?qi(Ti,Ti.apply,u):{SELECT:Ti}},Sn=function(){ji=!0},Tn=function(u){return!Di.includes(u)&&{from:{ref:[u]}}},jn=function(u){return[u]},On=function(u,t){return t},Zn=function(u,t){if(t=t&&t[1],!u&&!t)return{from:{ref:[""]}};if(!u&&t&&t.from)return t.from.ref.unshift(""),t;const[r,n]=u,e=[];if(n?n.length>2?e.push({id:r,where:n[1].map((u=>u.val&&u.val.match&&u.val.match(/^"(.*)"$/)?{val:u.val.match(/^"(.*)"$/)[1]}:u))}):e.push({id:r,where:[]}):Li?e.push(`${"object"==typeof r&&"val"in r?r.val:r}`):"object"==typeof r&&"string"==typeof r.val&&r.val.match(/^[1-9]\d*$|^0$/)?e.push({val:Oi(r.val)}):e.push(r),t&&t.from){const u=t.from.ref;Object.prototype.hasOwnProperty.call(u[0],"val")&&(e[e.length-1]={id:e[e.length-1],where:[u.shift()]}),e.push(...u)}const o={from:{ref:e}};return t&&t.columns&&(o.columns=t.columns),o},kn=function(u){return[u]},zn=function(u,t,r){const n=[u,"=",t];return r&&n.push("and",...r[1]),n},_n=function(u){u&&(Ti.search=u)},Rn=function(u){u&&u.apply&&(Ti.apply=u.apply)},In=function(u){Ti.where=u},qn=function(u,t){Gi(t)},Nn=function(u){Gi(u,!0)},Pn=function(u){(Ti.limit||(Ti.limit={})).rows={val:u}},Un=function(u){Mi(u)},Mn=function(u){u&&(Ti.search=u)},Gn=function(u){return u},Hn=function(){return null},Jn=function(u){return Ti.columns=Array.isArray(Ti.columns)?Ti.columns:[],Ti.columns.find(zi(u))||Ti.columns.push(u),u},Kn=function(){const u=new Error('"/$count" is not supported for expand operation');throw u.statusCode=501,u},Qn=function(u){return u},Vn=function(u){if(u.find((u=>u&&void 0!==u.apply))){const u=new Error('"$apply" is not supported for expand operation');throw u.statusCode=501,u}if(Ti.columns){for(const u of Ti.columns)Ti.expand.find(zi(u))||Ti.expand.push(u);delete Ti.columns}else Array.isArray(Ti.expand)&&-1===Ti.expand.indexOf("*")&&Ti.expand.unshift("*")},Wn=function(){Si.push(Ti),Ti=Ti.expand[Ti.expand.length-1],Ti.expand=[]},Xn=function(){Ti.expand.length||Ti.expand.push("*"),Ti=Si.pop()},Yn=function(u){const t="*"===u?{}:u;return t.expand=["*"],Array.isArray(Ti.expand)||(Ti.expand=[]),Ti.expand.find(zi(t))||Ti.expand.push(t),t},ue=function(u){return u},te=function(u){Zi(u,{SELECT:Ti})},re=function(u){return u},ne=function(u){return u},ee=function(u){return[{val:u}]},oe=function(u){return[{val:u}]},se=function(u){return u},ie=function(u){return u?[u]:[]},ae=function(u,t){u.push({xpr:t})},ce=function(u,t){u.push(...t)},fe=function(u,t){"not"===u[u.length-1]&&"not"===t[0]?u.push("(",...t,")"):u.push(...t)},le=function(u,t){u.push(t)},Ae=function(u,t){u.push({val:t})},he=function(u,t){u.push(...t)},pe=function(u,t,r){u.push(t,...r)},Ce=function(u){return u},de=function(u){return[u]},Fe=function(u,t){u.push(t)},ge=function(u,t){let r=u.pop();if(!t)return["exists",{ref:[...u,{id:r}]}];let n=[];for(let u=0,e=0;u<t.length;++u){let o=t[u];o.ref&&0===o.ref.length&&"="===t[u+1]?n[e++]={func:"contains",args:[{ref:[r]},t[u+=2]]}:n[e++]=o}return n.length<t.length?u.length?(r=u.pop(),["exists",{ref:[...u,{id:r,where:n}]}]):n:["exists",{ref:[...u,{id:r,where:t}]}]},Be=function(u,t){let r=u.pop();return["not","exists",{ref:[...u,{id:r,where:["not",{xpr:[...t]}]}]}]},ve=function(u,t){return t},Ee=function(u){return u?[u]:[]},me=function(u,t){u.push("(",...t,")")},be=function(u,t){u.push(...t)},De=function(u,t){u.push(t)},ye=function(u,t){u.push(...t)},$e=function(u,t){u.push(...t)},we=function(u,t,r){u.push(t,...r)},xe=function(u){return u},Le=function(u,t){return Hi(u,t)},Se=function(u){return u},Te=function(u){return u},je=function(){const u=new Error('"$orderby" does not support lambda');throw u.statusCode=501,u},Oe=function(u,t){return t},Ze=function(u,t){return wi(u,t&&{sort:t})},ke=function(u){u&&(Ti.count=!0)},ze=function(u,t){return t},_e=function(u,t){if(void 0!==u){t=Array.isArray(t)?t:[t];for(let r of t)for(const t in r)if("limit"===t&&r.limit&&u.limit&&u.limit.offset&&r.limit.rows)u.limit.rows=r.limit.rows;else if(u[t]||"groupBy"===t&&(u.where||u.search)||"aggregate"===t&&"groupBy"in u&&!("groupBy"in r)){let n=u;u={apply:n},"limit"===t&&r[t].offset&&n.limit&&n.limit.offset&&n.limit.offset.val&&(r[t].offset+=n.limit.offset.val),n=u,n[t]=r[t]}else u[t]=r[t];return{apply:u}}},Re=function(u){return u},Ie=function(u){return{val:u}},qe=function(u){return u},Ne=function(u,t){return t},Pe=function(u,t){return[u,...t]},Ue=function(u){return{list:u}},Me=function(u){return"@"+u},Ge=function(u,t){Ki(Ti,u,t)},He=function(u){if("json"!==u.toLowerCase()){const u=new Error('Only query parameter "json" is allowed in "$format".');throw u.statusCode=501,u}},Je=function(u,t,r){return[u,yi[t]||t,r]},Ke=function(u){return{list:u}},Qe=function(u,t){return[u,"in",t]},Ve=function(u,t){return t},We=function(u,t){return t?{id:u,where:t}:u},Xe=function(u,t){return{func:"count",as:"$count",args:[{ref:u}]}},Ye=function(u,t){return t},uo=function(u,t){return"null"===u?{val:null}:{ref:[u,...t]}},to=function(u){return{val:u}},ro=function(u){return{val:u}},no=function(u){return{val:u}},eo=function(u){return{val:u}},oo=function(u){return"number"==typeof u?{val:u}:{val:u,literal:"number"}},so=function(u){return{val:u}},io=function(u){return{val:u}},ao=function(u){return{val:u}},co=function(){return{val:null}},fo=function(u){return{val:u}},lo=function(u){return{val:u}},Ao=function(u){return{list:u.replace(/"/g,"").split(",").map((u=>({val:u})))}},ho=function(u,t){return t},po=function(u,t){return[u,...t]},Co=function(u){return{list:u}},Fo=function(u,t){if(xi&&!(u.toLowerCase()in xi.functions))throw Object.assign(new Error(`Function "${u}" is not supported`),{statusCode:501});return{func:u.toLowerCase(),args:t}},go=function(u,t){return t},Bo=function(u,t){return[u,...t]},vo=function(u){return u.length?u[0]:u},Eo=function(u,t,r){return{func:u.toLowerCase(),args:[t,r]}},mo=function(){return"not"},bo=function(){return"and"},Do=function(){return"or"},yo=function(u){return u},$o=function(u){return u},wo=function(u){return u},xo=function(u){return u},Lo=function(u){return u},So=function(u){return u},To=function(u){return u},jo=function(u){return u},Oo=function(u){return u},Zo=function(u,t){if(u=u.toLowerCase(),!$i[u])throw Object.assign(new Error(`Transformation "${u}" in $apply is not yet supported.`),{statusCode:501});return{aggregate:[{func:u,args:t}]}},ko=function(u){return u},zo=function(u,t){return t},_o=function(u,t){return{aggregate:[u,...t]}},Ro=function(u){return{func:"count",args:[{val:1}],as:u}},Io=function(u){return u},qo=function(u,t,r){return{func:t,args:[u],as:r}},No=function(u){return u.toLowerCase()},Po=function(u){return u},Uo=function(u,t){return t},Mo=function(u,t){return{groupBy:[u,...t]}},Go=function(u,t,r){return r},Ho=function(u,t,r){let n={};return n=r?{groupBy:[u,...t],...r.apply}:{groupBy:[u,...t]},n},Jo=function(u){return u},Ko=function(u){const t=new Error("Rollup in groupby is not supported yet.");throw t.statusCode=501,t},Qo=function(u){return u},Vo=function(u){return{where:u}},Wo=function(u){if(u=u.trim())return{search:[{val:u}]}},Xo=function(u,t){return t},Yo=function(u,t){return{concat:[u,...t]}},us=function(u,t){return[u,t]},ts=function(){return{identity:!0}},rs=function(u){return{limit:{rows:{val:u}}}},ns=function(u){return{limit:{offset:{val:u}}}},es=function(u,t){return t},os=function(u,t){return{orderBy:[u,...t]}},ss=function(u){return"true"===u},is=function(u){return u.replace(/''/g,"'")},as=function(u){return u.replace(/\\\\/g,"\\").replace(/\\"/g,'"')},cs=function(u){if(u.split("-")[0].length>4)throw Object.assign(new Error(`The type Edm.DateTimeOffset is not compatible with "${u}"`),{statusCode:400});return u},fs=function(u){return Oi(u)},ls=function(u){return parseInt(u)},As=function(u){return u},hs=function(u){return{val:u}},ps=function(u){return ki(u)},Cs=0|t.peg$currPos,ds=[{line:1,column:1}],Fs=Cs,gs=t.peg$maxFailExpected||[],Bs=0|t.peg$silentFails;if(t.startRule){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function vs(u,t){return{type:"literal",text:u,ignoreCase:t}}function Es(u,t,r){return{type:"class",parts:u,inverted:t,ignoreCase:r}}function ms(u){return{type:"other",description:u}}function bs(t){var r,n=ds[t];if(n)return n;if(t>=ds.length)r=ds.length-1;else for(r=t;!ds[--r];);for(n={line:(n=ds[r]).line,column:n.column};r<t;)10===u.charCodeAt(r)?(n.line++,n.column=1):n.column++,r++;return ds[t]=n,n}function Ds(u,t,r){var n=bs(u),o=bs(t),s={source:e,start:{offset:u,line:n.line,column:n.column},end:{offset:t,line:o.line,column:o.column}};return r&&e&&"function"==typeof e.offset&&(s.start=e.offset(s.start),s.end=e.offset(s.end)),s}function ys(u){Cs<Fs||(Cs>Fs&&(Fs=Cs,gs=[]),gs.push(u))}function $s(u,t,r){return new peg$SyntaxError(peg$SyntaxError.buildMessage(u,t),u,t,r)}function ws(){var t,r,e,o,s,f,l,A,h,p,C,d,F,g,B,v,E;if(t=Cs,47===u.charCodeAt(Cs)?(r=i,Cs++):(r=n,0===Bs&&ys(st)),r===n&&(r=null),e=Cs,(o=xs())!==n&&(o=xn(o)),(e=o)!==n){if(o=Cs,s=mi(),63===u.charCodeAt(Cs)?(f=a,Cs++):(f=n,0===Bs&&ys(it)),f!==n){if(l=mi(),A=Cs,38===u.charCodeAt(Cs)?(h=c,Cs++):(h=n,0===Bs&&ys(at)),h===n&&(h=null),p=mi(),(C=Ss())!==n){if(d=[],F=Cs,g=mi(),B=[],38===u.charCodeAt(Cs)?(v=c,Cs++):(v=n,0===Bs&&ys(at)),v!==n)for(;v!==n;)B.push(v),38===u.charCodeAt(Cs)?(v=c,Cs++):(v=n,0===Bs&&ys(at));else B=n;for(B!==n?(v=mi(),(E=Ss())!==n?F=g=[g,B,v,E]:(Cs=F,F=n)):(Cs=F,F=n);F!==n;){if(d.push(F),F=Cs,g=mi(),B=[],38===u.charCodeAt(Cs)?(v=c,Cs++):(v=n,0===Bs&&ys(at)),v!==n)for(;v!==n;)B.push(v),38===u.charCodeAt(Cs)?(v=c,Cs++):(v=n,0===Bs&&ys(at));else B=n;B!==n?(v=mi(),(E=Ss())!==n?F=g=[g,B,v,E]:(Cs=F,F=n)):(Cs=F,F=n)}A=h=[h,p,C,d]}else Cs=A,A=n;A===n&&(A=null),o=s=[s,f,l,A]}else Cs=o,o=n;o===n&&(o=null),s=mi(),t=Ln()}else Cs=t,t=n;return t}function xs(){var t,r,e,o,s,a,c;return t=Cs,u.substr(Cs,6)===f?(r=f,Cs+=6):(r=n,0===Bs&&ys(ct)),r!==n&&(r=Sn()),(t=r)===n&&(t=Cs,r=Cs,u.substr(Cs,4)===l?(e=l,Cs+=4):(e=n,0===Bs&&ys(ft)),e===n&&(u.substr(Cs,6)===A?(e=A,Cs+=6):(e=n,0===Bs&&ys(lt))),(r=e!==n?u.substring(r,Cs):e)!==n&&(r=Tn(r)),(t=r)===n&&(t=Cs,r=Cs,(e=Ci())!==n?(o=Cs,(s=vi())!==n&&(a=Ei())!==n?o=s=[s,a]:(Cs=o,o=n),o===n&&(o=Cs,(s=vi())!==n&&(a=Ls())!==n&&(c=Ei())!==n?o=s=[s,a,c]:(Cs=o,o=n)),o===n&&(o=null),s=Cs,Bs++,a=gi(),Bs--,a===n?s=void 0:(Cs=s,s=n),s!==n?r=e=[e,o,s]:(Cs=r,r=n)):(Cs=r,r=n),r===n&&(r=Cs,(e=gi())!==n&&(e=jn(e)),r=e),r===n&&(r=null),e=Cs,o=Cs,47===u.charCodeAt(Cs)?(s=i,Cs++):(s=n,0===Bs&&ys(st)),s!==n&&(s=On(r,s)),(o=s)!==n?((s=xs())===n&&(s=null),e=o=[o,s]):(Cs=e,e=n),e===n&&(e=null),t=Zn(r,e))),t}function Ls(){var t,r,e,o,s,i,a;return t=Cs,(r=Ws())!==n&&(r=kn(r)),(t=r)===n&&(t=Cs,(r=Vs())!==n?(mi(),61===u.charCodeAt(Cs)?(e=h,Cs++):(e=n,0===Bs&&ys(At)),e!==n?(mi(),(o=Ws())!==n?(s=Cs,(i=Bi())!==n&&(a=Ls())!==n?s=i=[i,a]:(Cs=s,s=n),s===n&&(s=null),t=zn(r,o,s)):(Cs=t,t=n)):(Cs=t,t=n)):(Cs=t,t=n)),t}function Ss(){var t,r,e,o;return t=Cs,u.substr(Cs,11)===p?(r=p,Cs+=11):(r=n,0===Bs&&ys(ht)),r!==n?(e=mi(),o=function(){var t,r;t=Cs,r=function(){var t,r,e;t=Cs,r=[],e=u.charAt(Cs),nt.test(e)?Cs++:(e=n,0===Bs&&ys(gn));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(Cs),nt.test(e)?Cs++:(e=n,0===Bs&&ys(gn));else r=n;t=r!==n?u.substring(t,Cs):r;return t}(),r===n&&(r=null);return r=te(r),t=r,t}(),t=r=[r,e,o]):(Cs=t,t=n),t===n&&(t=Cs,u.substr(Cs,8)===C?(r=C,Cs+=8):(r=n,0===Bs&&ys(pt)),r!==n?(e=mi(),o=function(){var t,r;t=Cs,r=function(){var t,r,e,o;t=Cs,r=Cs,e=[],o=u.charAt(Cs),Pu.test(o)?Cs++:(o=n,0===Bs&&ys(St));if(o!==n)for(;o!==n;)e.push(o),o=u.charAt(Cs),Pu.test(o)?Cs++:(o=n,0===Bs&&ys(St));else e=n;r=e!==n?u.substring(r,Cs):e;r!==n&&(r=ee(r));return t=r,t}(),r!==n&&(r=ne(r));t=r,t===n&&(t=mi());return t}(),o!==n?t=_n(o):(Cs=t,t=n)):(Cs=t,t=n),t===n&&(t=Cs,(r=Ts())!==n&&(r=Rn(r)),(t=r)===n&&(t=function(){var t,r,e,o;t=Cs,u.substr(Cs,3)===D?(r=D,Cs+=3):(r=n,0===Bs&&ys(bt));r===n&&(u.substr(Cs,5)===y?(r=y,Cs+=5):(r=n,0===Bs&&ys(Dt)),r===n&&(u.substr(Cs,12)===$?(r=$,Cs+=12):(r=n,0===Bs&&ys(yt)),r===n&&(u.substr(Cs,3)===w?(r=w,Cs+=3):(r=n,0===Bs&&ys($t)))));r!==n?(61===u.charCodeAt(Cs)?(e=h,Cs++):(e=n,0===Bs&&ys(At)),e!==n&&(o=hi())!==n?t=r=[r,e,o]:(Cs=t,t=n)):(Cs=t,t=n);return t}(),t===n&&(t=function(){var t,r,e,o,s;t=Cs,u.substr(Cs,8)===P?(r=P,Cs+=8):(r=n,0===Bs&&ys(Ht));if(r!==n){for(e=Cs,o=[],s=u.charAt(Cs),Pu.test(s)?Cs++:(s=n,0===Bs&&ys(St));s!==n;)o.push(s),s=u.charAt(Cs),Pu.test(s)?Cs++:(s=n,0===Bs&&ys(St));e=u.substring(e,Cs),t=He(e)}else Cs=t,t=n;return t}(),t===n&&(t=function(){var t,r,e,o,s,i;t=Cs,r=[],e=u.charAt(Cs),Mu.test(e)?Cs++:(e=n,0===Bs&&ys(Ut));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(Cs),Mu.test(e)?Cs++:(e=n,0===Bs&&ys(Ut));else r=n;if(r!==n){if(e=Cs,61===u.charCodeAt(Cs)?(o=h,Cs++):(o=n,0===Bs&&ys(At)),o!==n){for(s=[],i=u.charAt(Cs),Pu.test(i)?Cs++:(i=n,0===Bs&&ys(St));i!==n;)s.push(i),i=u.charAt(Cs),Pu.test(i)?Cs++:(i=n,0===Bs&&ys(St));e=o=[o,s]}else Cs=e,e=n;e===n&&(e=null),t=r=[r,e]}else Cs=t,t=n;return t}(),t===n&&(t=function(){var t,r,e,o,s;t=Cs,r=Gs(),r!==n?(61===u.charCodeAt(Cs)?(e=h,Cs++):(e=n,0===Bs&&ys(At)),e!==n?(o=Cs,Bs++,s=Gs(),Bs--,s===n?o=void 0:(Cs=o,o=n),o!==n?(s=function(){var t,r,e,o;t=Ws(),t===n&&(t=Xs())===n&&(t=Ys())===n&&(t=Cs,91===u.charCodeAt(Cs)?(r=I,Cs++):(r=n,0===Bs&&ys(Nt)),r!==n?(e=function(){var t,r,e,o,s,i;if(t=Cs,r=Ms(),r!==n){for(e=[],o=Cs,44===u.charCodeAt(Cs)?(s=R,Cs++):(s=n,0===Bs&&ys(qt)),s!==n&&(i=Ms())!==n?o=Ne(r,i):(Cs=o,o=n);o!==n;)e.push(o),o=Cs,44===u.charCodeAt(Cs)?(s=R,Cs++):(s=n,0===Bs&&ys(qt)),s!==n&&(i=Ms())!==n?o=Ne(r,i):(Cs=o,o=n);t=Pe(r,e)}else Cs=t,t=n;return t}(),e!==n?(93===u.charCodeAt(Cs)?(o=q,Cs++):(o=n,0===Bs&&ys(Pt)),o!==n?t=Ue(e):(Cs=t,t=n)):(Cs=t,t=n)):(Cs=t,t=n));return t}(),s!==n?t=Ge(r,s):(Cs=t,t=n)):(Cs=t,t=n)):(Cs=t,t=n)):(Cs=t,t=n);return t}(),t===n&&(t=function(){var t,r,e,o;t=Cs,u.substr(Cs,12)===z?(r=z,Cs+=12):(r=n,0===Bs&&ys(_t));if(r!==n){for(mi(),e=[],o=u.charAt(Cs),Pu.test(o)?Cs++:(o=n,0===Bs&&ys(St));o!==n;)e.push(o),o=u.charAt(Cs),Pu.test(o)?Cs++:(o=n,0===Bs&&ys(St));t=Re(e)}else Cs=t,t=n;return t}()))))))),t}function Ts(){var t,r,e,o,s,i,a,c;if(t=Cs,u.substr(Cs,8)===d?(r=d,Cs+=8):(r=n,0===Bs&&ys(Ct)),r!==n)if(e=mi(),(o=js())!==n){for(s=[],i=Cs,(a=Bi())!==n&&(c=js())!==n?i=a=[a,c]:(Cs=i,i=n);i!==n;)s.push(i),i=Cs,(a=Bi())!==n&&(c=js())!==n?i=a=[a,c]:(Cs=i,i=n);t=r=[r,e,o,s]}else Cs=t,t=n;else Cs=t,t=n;if(t===n){if(t=Cs,u.substr(Cs,8)===F?(r=F,Cs+=8):(r=n,0===Bs&&ys(dt)),r!==n)if(e=mi(),(o=Zs())!==n){for(s=[],i=Cs,(a=Bi())!==n&&(c=Zs())!==n?i=a=[a,c]:(Cs=i,i=n);i!==n;)s.push(i),i=Cs,(a=Bi())!==n&&(c=Zs())!==n?i=a=[a,c]:(Cs=i,i=n);i=function(){var t,r;t=Cs,u.substr(Cs,7)===L?(r=L,Cs+=7):(r=n,0===Bs&&ys(xt));r!==n&&(r=Kn());return t=r,t}(),i===n&&(i=null),t=r=[r,e,o,s,i]}else Cs=t,t=n;else Cs=t,t=n;if(t===n&&(t=Cs,u.substr(Cs,8)===g?(r=g,Cs+=8):(r=n,0===Bs&&ys(Ft)),r!==n?(e=mi(),(o=_s())!==n?t=In(o):(Cs=t,t=n)):(Cs=t,t=n),t===n)){if(t=Cs,u.substr(Cs,9)===B?(r=B,Cs+=9):(r=n,0===Bs&&ys(gt)),r!==n)if(e=mi(),(o=Ps())!==n){for(s=[],i=Cs,(a=Bi())!==n&&(c=Ps())!==n?i=qn(o,c):(Cs=i,i=n);i!==n;)s.push(i),i=Cs,(a=Bi())!==n&&(c=Ps())!==n?i=qn(o,c):(Cs=i,i=n);t=Nn(o)}else Cs=t,t=n;else Cs=t,t=n;t===n&&(t=Cs,u.substr(Cs,5)===v?(r=v,Cs+=5):(r=n,0===Bs&&ys(Bt)),r!==n?(e=mi(),(o=ks())!==n?t=Pn(o):(Cs=t,t=n)):(Cs=t,t=n),t===n&&(t=Cs,u.substr(Cs,6)===E?(r=E,Cs+=6):(r=n,0===Bs&&ys(vt)),r!==n?(e=mi(),(o=zs())!==n?t=Un(o):(Cs=t,t=n)):(Cs=t,t=n),t===n&&(t=Cs,u.substr(Cs,8)===C?(r=C,Cs+=8):(r=n,0===Bs&&ys(pt)),r!==n?(e=mi(),o=function(){var t,r,e,o;t=Cs,r=Cs,e=[],o=u.charAt(Cs),Uu.test(o)?Cs++:(o=n,0===Bs&&ys(Tt));if(o!==n)for(;o!==n;)e.push(o),o=u.charAt(Cs),Uu.test(o)?Cs++:(o=n,0===Bs&&ys(Tt));else e=n;r=e!==n?u.substring(r,Cs):e;r!==n&&(r=oe(r));t=r,t===n&&(t=mi());return t}(),o!==n?t=Mn(o):(Cs=t,t=n)):(Cs=t,t=n),t===n&&(t=Cs,u.substr(Cs,7)===m?(r=m,Cs+=7):(r=n,0===Bs&&ys(Et)),r!==n?(e=mi(),o=function(){var u,t;u=Cs,t=Ai(),t!==n&&(t=ke(t));return u=t,u}(),o!==n?t=r=[r,e,o]:(Cs=t,t=n)):(Cs=t,t=n),t===n&&(t=Cs,u.substr(Cs,7)===b?(r=b,Cs+=7):(r=n,0===Bs&&ys(mt)),r!==n?(e=mi(),(o=Us())!==n?t=Gn(o):(Cs=t,t=n)):(Cs=t,t=n),t===n&&(t=Cs,u.substr(Cs,8)===F?(r=F,Cs+=8):(r=n,0===Bs&&ys(dt)),r!==n&&(r=Hn()),t=r))))))}}return t}function js(){var t,r;return t=Cs,42===u.charCodeAt(Cs)?(r=x,Cs++):(r=n,0===Bs&&ys(wt)),r===n&&(r=Vs()),r!==n&&(r=Jn(r)),t=r}function Os(){var t,r,e,o,s;return t=Cs,r=Cs,(e=vi())!==n&&(e=Wn()),(r=e)!==n?(e=function(){var t,r,e,o,s;for(t=Cs,r=[],e=Cs,(o=Ts())!==n?(mi(),59===u.charCodeAt(Cs)?(s=S,Cs++):(s=n,0===Bs&&ys(Lt)),s===n&&(s=null),e=Qn(o)):(Cs=e,e=n);e!==n;)r.push(e),e=Cs,(o=Ts())!==n?(mi(),59===u.charCodeAt(Cs)?(s=S,Cs++):(s=n,0===Bs&&ys(Lt)),s===n&&(s=null),e=Qn(o)):(Cs=e,e=n);return Vn(r)}(),o=Cs,(s=Ei())!==n&&(s=Xn()),(o=s)!==n?t=r=[r,e,o]:(Cs=t,t=n)):(Cs=t,t=n),t}function Zs(){var t,r,e;return t=Cs,r=Cs,42===u.charCodeAt(Cs)?(e=x,Cs++):(e=n,0===Bs&&ys(wt)),e===n&&(e=Vs()),e!==n&&(e=Yn(e)),(r=e)!==n?((e=Os())===n&&(e=null),t=r=[r,e]):(Cs=t,t=n),t}function ks(){var u,t;return u=Cs,(t=pi())!==n&&(t=ue(t)),u=t}function zs(){var u,t;return u=Cs,(t=pi())!==n&&(t=re(t)),u=t}function _s(){var u,t;return u=Cs,(t=Rs())!==n&&(t=se(t)),u=t}function Rs(){var t,r,e,o,s,i,a;if(t=Cs,r=Cs,(e=ti())===n&&(e=null),r=e=ie(e),e=Cs,(o=vi())!==n&&(s=Rs())!==n&&(i=Ei())!==n?e=ae(r,s):(Cs=e,e=n),e===n&&(e=Cs,(o=Hs())!==n&&(o=ce(r,o)),(e=o)===n&&(e=Cs,(o=Is())!==n&&(o=fe(r,o)),(e=o)===n&&(e=Cs,o=function(){var t,r,e,o;t=Cs,r=u.substr(Cs,8),r.toLowerCase()===Y?Cs+=8:(r=n,0===Bs&&ys(hr));r===n&&((r=u.substr(Cs,8)).toLowerCase()===uu?Cs+=8:(r=n,0===Bs&&ys(pr)),r===n&&((r=u.substr(Cs,10)).toLowerCase()===tu?Cs+=10:(r=n,0===Bs&&ys(Cr)),r===n&&((r=u.substr(Cs,14)).toLowerCase()===ru?Cs+=14:(r=n,0===Bs&&ys(dr)))));r!==n&&vi()!==n&&(e=Qs())!==n&&Bi()!==n&&(o=Qs())!==n&&Ei()!==n?t=Eo(r,e,o):(Cs=t,t=n);return t}(),o!==n&&(o=le(r,o)),(e=o)===n&&(e=Cs,(o=Ai())!==n&&(o=Ae(r,o)),(e=o)===n&&(e=Cs,(o=Ks())!==n&&(o=he(r,o)),e=o))))),e!==n){for(o=[],s=Cs,(i=ri())===n&&(i=ni()),i!==n&&(a=Rs())!==n?s=pe(r,i,a):(Cs=s,s=n);s!==n;)o.push(s),s=Cs,(i=ri())===n&&(i=ni()),i!==n&&(a=Rs())!==n?s=pe(r,i,a):(Cs=s,s=n);t=Ce(r)}else Cs=t,t=n;return t}function Is(){var t,r,e,o,s,a,c;if(t=Cs,r=Cs,(e=Ci())!==n&&(e=de(e)),(r=e)!==n)if(47===u.charCodeAt(Cs)?(e=i,Cs++):(e=n,0===Bs&&ys(st)),e!==n){for(o=[],s=Cs,(a=Ci())!==n?(47===u.charCodeAt(Cs)?(c=i,Cs++):(c=n,0===Bs&&ys(st)),c!==n?s=Fe(r,a):(Cs=s,s=n)):(Cs=s,s=n);s!==n;)o.push(s),s=Cs,(a=Ci())!==n?(47===u.charCodeAt(Cs)?(c=i,Cs++):(c=n,0===Bs&&ys(st)),c!==n?s=Fe(r,a):(Cs=s,s=n)):(Cs=s,s=n);s=Cs,a=function(){var t,r,e;t=Cs,u.substr(Cs,3)===j?(r=j,Cs+=3):(r=n,0===Bs&&ys(Ot));r!==n&&vi()!==n?((e=Ns())===n&&(e=null),Ei()!==n?t=Se(e):(Cs=t,t=n)):(Cs=t,t=n);return t}(),a!==n&&(a=ge(r,a)),(s=a)===n&&(s=Cs,a=function(){var t,r,e;t=Cs,u.substr(Cs,3)===O?(r=O,Cs+=3):(r=n,0===Bs&&ys(Zt));r!==n&&vi()!==n&&(e=Ns())!==n&&Ei()!==n?t=Te(e):(Cs=t,t=n);return t}(),a!==n&&(a=Be(r,a)),s=a),s!==n?t=ve(r,s):(Cs=t,t=n)}else Cs=t,t=n;else Cs=t,t=n;return t}function qs(){var u,t,r,e,o,s,i;if(u=Cs,t=Cs,(r=ti())===n&&(r=null),t=r=Ee(r),r=Cs,(e=vi())!==n&&(o=qs())!==n&&(s=Ei())!==n?r=me(t,o):(Cs=r,r=n),r===n&&(r=Cs,(e=Hs())!==n&&(e=be(t,e)),(r=e)===n&&(r=Cs,(e=ui())!==n&&(e=De(t,e)),(r=e)===n&&(r=Cs,(e=Is())!==n&&(e=ye(t,e)),(r=e)===n&&(r=Cs,(e=Ks())!==n&&(e=$e(t,e)),r=e)))),r!==n){for(e=[],o=Cs,(s=ri())===n&&(s=ni()),s!==n&&(i=qs())!==n?o=we(t,s,i):(Cs=o,o=n);o!==n;)e.push(o),o=Cs,(s=ri())===n&&(s=ni()),s!==n&&(i=qs())!==n?o=we(t,s,i):(Cs=o,o=n);u=xe(t)}else Cs=u,u=n;return u}function Ns(){var t,r,e,o;return t=Cs,(r=Ci())!==n?(58===u.charCodeAt(Cs)?(e=T,Cs++):(e=n,0===Bs&&ys(jt)),e!==n&&(o=qs())!==n?t=Le(r,o):(Cs=t,t=n)):(Cs=t,t=n),t}function Ps(){var t,r,e,o,s;return t=Cs,r=Cs,(e=Is())!==n&&(e=je()),(r=e)===n&&(r=ui())===n&&(r=Vs()),r!==n?(e=Cs,bi()!==n?(o=Cs,u.substr(Cs,3)===Z?(s=Z,Cs+=3):(s=n,0===Bs&&ys(kt)),s===n&&(u.substr(Cs,4)===k?(s=k,Cs+=4):(s=n,0===Bs&&ys(zt))),(o=s!==n?u.substring(o,Cs):s)!==n?e=Oe(r,o):(Cs=e,e=n)):(Cs=e,e=n),e===n&&(e=null),t=Ze(r,e)):(Cs=t,t=n),t}function Us(){var t,r,e,o,s,a;if(t=Cs,(r=ei())!==n){for(e=[],o=Cs,47===u.charCodeAt(Cs)?(s=i,Cs++):(s=n,0===Bs&&ys(st)),s!==n&&(a=ei())!==n?o=ze(r,a):(Cs=o,o=n);o!==n;)e.push(o),o=Cs,47===u.charCodeAt(Cs)?(s=i,Cs++):(s=n,0===Bs&&ys(st)),s!==n&&(a=ei())!==n?o=ze(r,a):(Cs=o,o=n);t=_e(r,e)}else Cs=t,t=n;return t}function Ms(){var t,r,e;return Bs++,t=Cs,r=function(){var t,r,e,o,s;Bs++,t=Cs,34===u.charCodeAt(Cs)?(r=Su,Cs++):(r=n,0===Bs&&ys(Qr));if(r!==n){for(e=Cs,o=[],u.substr(Cs,2)===Tu?(s=Tu,Cs+=2):(s=n,0===Bs&&ys(Vr)),s===n&&(u.substr(Cs,2)===ju?(s=ju,Cs+=2):(s=n,0===Bs&&ys(Wr)),s===n&&(s=u.charAt(Cs),Vu.test(s)?Cs++:(s=n,0===Bs&&ys(Xr))));s!==n;)o.push(s),u.substr(Cs,2)===Tu?(s=Tu,Cs+=2):(s=n,0===Bs&&ys(Vr)),s===n&&(u.substr(Cs,2)===ju?(s=ju,Cs+=2):(s=n,0===Bs&&ys(Wr)),s===n&&(s=u.charAt(Cs),Vu.test(s)?Cs++:(s=n,0===Bs&&ys(Xr))));e=u.substring(e,Cs),34===u.charCodeAt(Cs)?(o=Su,Cs++):(o=n,0===Bs&&ys(Qr)),o!==n?t=as(e):(Cs=t,t=n)}else Cs=t,t=n;Bs--,t===n&&(r=n,0===Bs&&ys(Kr));return t}(),r!==n&&(r=Ie(r)),(t=r)===n&&(t=Cs,r=Cs,Bs++,39===u.charCodeAt(Cs)?(e=_,Cs++):(e=n,0===Bs&&ys(It)),Bs--,e===n?r=void 0:(Cs=r,r=n),r!==n&&(e=Ws())!==n?t=qe(e):(Cs=t,t=n)),Bs--,t===n&&(r=n,0===Bs&&ys(Rt)),t}function Gs(){var t,r,e;return Bs++,t=Cs,64===u.charCodeAt(Cs)?(r=N,Cs++):(r=n,0===Bs&&ys(Gt)),r!==n&&(e=Ci())!==n?t=Me(e):(Cs=t,t=n),Bs--,t===n&&(r=n,0===Bs&&ys(Mt)),t}function Hs(){var t,r,e,o,s;return t=Cs,(r=Qs())!==n&&bi()!==n?(e=Cs,u.substr(Cs,2)===U?(o=U,Cs+=2):(o=n,0===Bs&&ys(Jt)),o===n&&(u.substr(Cs,2)===M?(o=M,Cs+=2):(o=n,0===Bs&&ys(Kt)),o===n&&(u.substr(Cs,2)===G?(o=G,Cs+=2):(o=n,0===Bs&&ys(Qt)),o===n&&(u.substr(Cs,2)===H?(o=H,Cs+=2):(o=n,0===Bs&&ys(Vt)),o===n&&(u.substr(Cs,2)===J?(o=J,Cs+=2):(o=n,0===Bs&&ys(Wt)),o===n&&(u.substr(Cs,2)===K?(o=K,Cs+=2):(o=n,0===Bs&&ys(Xt))))))),(e=o!==n?u.substring(e,Cs):o)!==n&&(o=bi())!==n&&(s=Qs())!==n?t=Je(r,e,s):(Cs=t,t=n)):(Cs=t,t=n),t}function Js(){var t,r;return t=Cs,(r=Gs())!==n&&(r=Ke(r)),(t=r)===n&&(t=function(){var t,r,e;Bs++,t=Cs,r=vi(),r!==n?(e=function(){var t,r,e,o,s,i;if(t=Cs,r=Ws(),r!==n){for(e=[],o=Cs,44===u.charCodeAt(Cs)?(s=R,Cs++):(s=n,0===Bs&&ys(qt)),s!==n&&(i=Ws())!==n?o=ho(r,i):(Cs=o,o=n);o!==n;)e.push(o),o=Cs,44===u.charCodeAt(Cs)?(s=R,Cs++):(s=n,0===Bs&&ys(qt)),s!==n&&(i=Ws())!==n?o=ho(r,i):(Cs=o,o=n);t=po(r,e)}else Cs=t,t=n;return t}(),e!==n&&Ei()!==n?t=Co(e):(Cs=t,t=n)):(Cs=t,t=n);Bs--,t===n&&(r=n,0===Bs&&ys(fr));return t}()),t}function Ks(){var t,r,e,o;return t=Cs,(r=Qs())!==n&&bi()!==n?(u.substr(Cs,2)===Q?(e=Q,Cs+=2):(e=n,0===Bs&&ys(Yt)),e!==n&&bi()!==n&&(o=Js())!==n?t=Qe(r,o):(Cs=t,t=n)):(Cs=t,t=n),t}function Qs(){var t;return(t=function(){var t,r,e,o,s,a,c;Bs++,t=Cs,r=[],e=Cs,(o=Ci())!==n?(s=Cs,(a=vi())!==n&&(c=Ls())!==n&&Ei()!==n?s=Ve(o,c):(Cs=s,s=n),s===n&&(s=null),47===u.charCodeAt(Cs)?(a=i,Cs++):(a=n,0===Bs&&ys(st)),a!==n?e=We(o,s):(Cs=e,e=n)):(Cs=e,e=n);if(e!==n)for(;e!==n;)r.push(e),e=Cs,(o=Ci())!==n?(s=Cs,(a=vi())!==n&&(c=Ls())!==n&&Ei()!==n?s=Ve(o,c):(Cs=s,s=n),s===n&&(s=null),47===u.charCodeAt(Cs)?(a=i,Cs++):(a=n,0===Bs&&ys(st)),a!==n?e=We(o,s):(Cs=e,e=n)):(Cs=e,e=n);else r=n;r!==n?(u.substr(Cs,6)===f?(e=f,Cs+=6):(e=n,0===Bs&&ys(ct)),e!==n?t=Xe(r,e):(Cs=t,t=n)):(Cs=t,t=n);Bs--,t===n&&(r=n,0===Bs&&ys(ur));return t}())===n&&(t=ui())===n&&(t=Ws())===n&&(t=Vs())===n&&(t=Xs())===n&&(t=Ys())===n&&(t=function(){var t,r,e,o,s;Bs++,t=Cs,91===u.charCodeAt(Cs)?(r=I,Cs++):(r=n,0===Bs&&ys(Nt));if(r!==n){for(e=Cs,o=[],s=u.charAt(Cs),Hu.test(s)?Cs++:(s=n,0===Bs&&ys(cr));s!==n;)o.push(s),s=u.charAt(Cs),Hu.test(s)?Cs++:(s=n,0===Bs&&ys(cr));e=u.substring(e,Cs),93===u.charCodeAt(Cs)?(o=q,Cs++):(o=n,0===Bs&&ys(Pt)),o!==n?t=Ao(e):(Cs=t,t=n)}else Cs=t,t=n;Bs--,t===n&&(r=n,0===Bs&&ys(fr));return t}()),t}function Vs(){var t,r,e,o,s,a;if(Bs++,t=Cs,(r=Ci())!==n){for(e=[],o=Cs,47===u.charCodeAt(Cs)?(s=i,Cs++):(s=n,0===Bs&&ys(st)),s!==n&&(a=Ci())!==n?o=Ye(r,a):(Cs=o,o=n);o!==n;)e.push(o),o=Cs,47===u.charCodeAt(Cs)?(s=i,Cs++):(s=n,0===Bs&&ys(st)),s!==n&&(a=Ci())!==n?o=Ye(r,a):(Cs=o,o=n);t=uo(r,e)}else Cs=t,t=n;return Bs--,t===n&&(r=n,0===Bs&&ys(tr)),t}function Ws(){var t,r;return t=Cs,(r=Ai())!==n&&(r=to(r)),(t=r)===n&&(t=Cs,(r=hi())!==n&&(r=ro(r)),(t=r)===n&&(t=Cs,r=function(){var t,r,e,o,s,i,a,c,f,l;Bs++,t=Cs,r=Cs,e=u.charAt(Cs),Wu.test(e)?Cs++:(e=n,0===Bs&&ys(un));e!==n?(o=u.charAt(Cs),Wu.test(o)?Cs++:(o=n,0===Bs&&ys(un)),o!==n?(58===u.charCodeAt(Cs)?(s=T,Cs++):(s=n,0===Bs&&ys(jt)),s!==n?(i=u.charAt(Cs),Wu.test(i)?Cs++:(i=n,0===Bs&&ys(un)),i!==n?(a=u.charAt(Cs),Wu.test(a)?Cs++:(a=n,0===Bs&&ys(un)),a!==n?(58===u.charCodeAt(Cs)?(c=T,Cs++):(c=n,0===Bs&&ys(jt)),c!==n?(f=u.charAt(Cs),Wu.test(f)?Cs++:(f=n,0===Bs&&ys(un)),f!==n?(l=u.charAt(Cs),Wu.test(l)?Cs++:(l=n,0===Bs&&ys(un)),l!==n?r=e=[e,o,s,i,a,c,f,l]:(Cs=r,r=n)):(Cs=r,r=n)):(Cs=r,r=n)):(Cs=r,r=n)):(Cs=r,r=n)):(Cs=r,r=n)):(Cs=r,r=n)):(Cs=r,r=n);t=r!==n?u.substring(t,Cs):r;Bs--,t===n&&(r=n,0===Bs&&ys(Yr));return t}(),r!==n&&(r=no(r)),(t=r)===n&&(t=Cs,(r=di())!==n&&(r=eo(r)),(t=r)===n&&(t=Cs,r=function(){var t,r,e,o,s,i,a,c,f,l,A;Bs++,t=Cs,r=Cs,Bs++,e=function(){var t,r,e;t=Cs,r=[],e=u.charAt(Cs),Wu.test(e)?Cs++:(e=n,0===Bs&&ys(un));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(Cs),Wu.test(e)?Cs++:(e=n,0===Bs&&ys(un));else r=n;r!==n?(45===u.charCodeAt(Cs)?(e=Ou,Cs++):(e=n,0===Bs&&ys(rn)),e!==n?t=r=[r,e]:(Cs=t,t=n)):(Cs=t,t=n);return t}(),Bs--,e===n?r=void 0:(Cs=r,r=n);if(r!==n){if(e=Cs,o=Cs,s=u.charAt(Cs),Xu.test(s)?Cs++:(s=n,0===Bs&&ys(sn)),s===n&&(s=null),i=[],a=u.charAt(Cs),Wu.test(a)?Cs++:(a=n,0===Bs&&ys(un)),a!==n)for(;a!==n;)i.push(a),a=u.charAt(Cs),Wu.test(a)?Cs++:(a=n,0===Bs&&ys(un));else i=n;if(i!==n){if(a=Cs,46===u.charCodeAt(Cs)?(c=ku,Cs++):(c=n,0===Bs&&ys(en)),c!==n){if(f=[],l=u.charAt(Cs),Wu.test(l)?Cs++:(l=n,0===Bs&&ys(un)),l!==n)for(;l!==n;)f.push(l),l=u.charAt(Cs),Wu.test(l)?Cs++:(l=n,0===Bs&&ys(un));else f=n;f!==n?a=c=[c,f]:(Cs=a,a=n)}else Cs=a,a=n;if(a===n&&(a=null),c=Cs,101===u.charCodeAt(Cs)?(f=_u,Cs++):(f=n,0===Bs&&ys(cn)),f!==n){if(l=[],A=u.charAt(Cs),Wu.test(A)?Cs++:(A=n,0===Bs&&ys(un)),A!==n)for(;A!==n;)l.push(A),A=u.charAt(Cs),Wu.test(A)?Cs++:(A=n,0===Bs&&ys(un));else l=n;l!==n?c=f=[f,l]:(Cs=c,c=n)}else Cs=c,c=n;c===n&&(c=null),o=s=[s,i,a,c]}else Cs=o,o=n;(e=o!==n?u.substring(e,Cs):o)!==n?t=fs(e):(Cs=t,t=n)}else Cs=t,t=n;Bs--,t===n&&(r=n,0===Bs&&ys(an));return t}(),r!==n&&(r=oo(r)),(t=r)===n&&(t=Cs,r=function(){var t,r,e,o,s;Bs++,t=Cs,39===u.charCodeAt(Cs)?(r=_,Cs++):(r=n,0===Bs&&ys(It));if(r!==n){for(e=Cs,o=[],u.substr(Cs,2)===Lu?(s=Lu,Cs+=2):(s=n,0===Bs&&ys(Hr)),s===n&&(s=u.charAt(Cs),Qu.test(s)?Cs++:(s=n,0===Bs&&ys(Jr)));s!==n;)o.push(s),u.substr(Cs,2)===Lu?(s=Lu,Cs+=2):(s=n,0===Bs&&ys(Hr)),s===n&&(s=u.charAt(Cs),Qu.test(s)?Cs++:(s=n,0===Bs&&ys(Jr)));e=u.substring(e,Cs),39===u.charCodeAt(Cs)?(o=_,Cs++):(o=n,0===Bs&&ys(It)),o!==n?t=is(e):(Cs=t,t=n)}else Cs=t,t=n;Bs--,t===n&&(r=n,0===Bs&&ys(Gr));return t}(),r!==n&&(r=so(r)),(t=r)===n&&(t=Cs,r=function(){var t,r,e,o,s,i;Bs++,t=Cs,u.substr(Cs,7)===Ru?(r=Ru,Cs+=7):(r=n,0===Bs&&ys(vn));if(r!==n){if(e=Cs,o=Cs,s=[],i=u.charAt(Cs),et.test(i)?Cs++:(i=n,0===Bs&&ys(En)),i!==n)for(;i!==n;)s.push(i),i=u.charAt(Cs),et.test(i)?Cs++:(i=n,0===Bs&&ys(En));else s=n;s!==n?(u.substr(Cs,2)===Iu?(i=Iu,Cs+=2):(i=n,0===Bs&&ys(mn)),i===n&&(61===u.charCodeAt(Cs)?(i=h,Cs++):(i=n,0===Bs&&ys(At))),i===n&&(i=null),o=s=[s,i]):(Cs=o,o=n),(e=o!==n?u.substring(e,Cs):o)!==n?(39===u.charCodeAt(Cs)?(o=_,Cs++):(o=n,0===Bs&&ys(It)),o!==n?t=ps(e):(Cs=t,t=n)):(Cs=t,t=n)}else Cs=t,t=n;Bs--,t===n&&(r=n,0===Bs&&ys(Bn));return t}(),r!==n&&(r=io(r)),(t=r)===n&&(t=Cs,(r=Gs())!==n&&(r=ao(r)),(t=r)===n&&(t=function(){var t,r;Bs++,t=Cs,u.substr(Cs,4)===V?(r=V,Cs+=4):(r=n,0===Bs&&ys(nr));r!==n&&(r=co());t=r,Bs--,t===n&&(r=n,0===Bs&&ys(rr));return t}())))))))),t}function Xs(){var t,r,e,o,s,i;if(Bs++,t=Cs,r=Cs,e=Cs,123===u.charCodeAt(Cs)?(o=W,Cs++):(o=n,0===Bs&&ys(or)),o!==n){for(s=[],(i=Xs())===n&&(i=u.charAt(Cs),Gu.test(i)?Cs++:(i=n,0===Bs&&ys(sr)));i!==n;)s.push(i),(i=Xs())===n&&(i=u.charAt(Cs),Gu.test(i)?Cs++:(i=n,0===Bs&&ys(sr)));125===u.charCodeAt(Cs)?(i=X,Cs++):(i=n,0===Bs&&ys(ir)),i!==n?e=o=[o,s,i]:(Cs=e,e=n)}else Cs=e,e=n;return(r=e!==n?u.substring(r,Cs):e)!==n&&(r=fo(r)),Bs--,(t=r)===n&&(r=n,0===Bs&&ys(er)),t}function Ys(){var t,r,e,o,s,i,a,c;if(Bs++,t=Cs,r=Cs,e=Cs,91===u.charCodeAt(Cs)?(o=I,Cs++):(o=n,0===Bs&&ys(Nt)),o!==n?(s=mi(),93===u.charCodeAt(Cs)?(i=q,Cs++):(i=n,0===Bs&&ys(Pt)),i!==n?e=o=[o,s,i]:(Cs=e,e=n)):(Cs=e,e=n),e===n)if(e=Cs,91===u.charCodeAt(Cs)?(o=I,Cs++):(o=n,0===Bs&&ys(Nt)),o!==n)if(s=mi(),123===u.charCodeAt(Cs)?(i=W,Cs++):(i=n,0===Bs&&ys(or)),i!==n){for(a=[],(c=Ys())===n&&(c=u.charAt(Cs),Hu.test(c)?Cs++:(c=n,0===Bs&&ys(cr)));c!==n;)a.push(c),(c=Ys())===n&&(c=u.charAt(Cs),Hu.test(c)?Cs++:(c=n,0===Bs&&ys(cr)));93===u.charCodeAt(Cs)?(c=q,Cs++):(c=n,0===Bs&&ys(Pt)),c!==n?e=o=[o,s,i,a,c]:(Cs=e,e=n)}else Cs=e,e=n;else Cs=e,e=n;return(r=e!==n?u.substring(r,Cs):e)!==n&&(r=lo(r)),Bs--,(t=r)===n&&(r=n,0===Bs&&ys(ar)),t}function ui(){var t,r,e;return t=Cs,r=function(){var t,r,e;if(Bs++,t=Cs,r=[],e=u.charAt(Cs),Ju.test(e)?Cs++:(e=n,0===Bs&&ys(Ar)),e!==n)for(;e!==n;)r.push(e),e=u.charAt(Cs),Ju.test(e)?Cs++:(e=n,0===Bs&&ys(Ar));else r=n;return t=r!==n?u.substring(t,Cs):r,Bs--,t===n&&(r=n,0===Bs&&ys(lr)),t}(),r!==n&&vi()!==n?(e=function(){var u,t,r,e,o,s,i;if(u=Cs,t=[],r=Cs,e=Qs(),e!==n){for(o=[],s=Cs,Bi()!==n&&(i=Qs())!==n?s=go(e,i):(Cs=s,s=n);s!==n;)o.push(s),s=Cs,Bi()!==n&&(i=Qs())!==n?s=go(e,i):(Cs=s,s=n);r=Bo(e,o)}else Cs=r,r=n;for(;r!==n;)if(t.push(r),r=Cs,(e=Qs())!==n){for(o=[],s=Cs,Bi()!==n&&(i=Qs())!==n?s=go(e,i):(Cs=s,s=n);s!==n;)o.push(s),s=Cs,Bi()!==n&&(i=Qs())!==n?s=go(e,i):(Cs=s,s=n);r=Bo(e,o)}else Cs=r,r=n;return t=vo(t),u=t,u}(),Ei()!==n?t=Fo(r,e):(Cs=t,t=n)):(Cs=t,t=n),t}function ti(){var t,r;return t=Cs,mi(),(r=u.substr(Cs,3)).toLowerCase()===nu?Cs+=3:(r=n,0===Bs&&ys(Fr)),r!==n&&bi()!==n?t=mo():(Cs=t,t=n),t}function ri(){var t,r;return t=Cs,bi()!==n?((r=u.substr(Cs,3)).toLowerCase()===eu?Cs+=3:(r=n,0===Bs&&ys(gr)),r!==n&&bi()!==n?t=bo():(Cs=t,t=n)):(Cs=t,t=n),t}function ni(){var t,r;return t=Cs,bi()!==n?((r=u.substr(Cs,2)).toLowerCase()===ou?Cs+=2:(r=n,0===Bs&&ys(Br)),r!==n&&bi()!==n?t=Do():(Cs=t,t=n)):(Cs=t,t=n),t}function ei(){var t,r,e;return t=Cs,u.substr(Cs,9)===su?(r=su,Cs+=9):(r=n,0===Bs&&ys(vr)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=Cs,t=vi(),t!==n)if(mi(),(r=oi())!==n){for(e=[],o=Cs,mi(),Bi()!==n?(mi(),(s=oi())!==n?o=zo(r,s):(Cs=o,o=n)):(Cs=o,o=n);o!==n;)e.push(o),o=Cs,mi(),Bi()!==n?(mi(),(s=oi())!==n?o=zo(r,s):(Cs=o,o=n)):(Cs=o,o=n);o=mi(),Ei()!==n?u=_o(r,e):(Cs=u,u=n)}else Cs=u,u=n;else Cs=u,u=n;return u}(),e!==n?t=yo(e):(Cs=t,t=n)):(Cs=t,t=n),t===n&&(t=Cs,u.substr(Cs,7)===iu?(r=iu,Cs+=7):(r=n,0===Bs&&ys(Er)),r!==n?(e=function(){var u,t,r,e,o,s,i,a;if(u=Cs,t=vi(),t!==n)if(vi()!==n)if((r=fi())!==n){for(e=[],o=Cs,(s=Bi())!==n&&(i=fi())!==n?o=Uo(r,i):(Cs=o,o=n);o!==n;)e.push(o),o=Cs,(s=Bi())!==n&&(i=fi())!==n?o=Uo(r,i):(Cs=o,o=n);o=Cs,(s=Ei())!==n&&(s=Mo(r,e)),(o=s)!==n?(s=Cs,(i=Bi())!==n&&(a=Us())!==n?s=Go(r,e,a):(Cs=s,s=n),s===n&&(s=null),(i=Ei())!==n?u=Ho(r,e,s):(Cs=u,u=n)):(Cs=u,u=n)}else Cs=u,u=n;else Cs=u,u=n;else Cs=u,u=n;return u}(),e!==n?t=$o(e):(Cs=t,t=n)):(Cs=t,t=n),t===n&&(t=Cs,u.substr(Cs,6)===au?(r=au,Cs+=6):(r=n,0===Bs&&ys(mr)),r!==n?(e=function(){var u,t,r,e;u=Cs,t=vi(),t!==n?(mi(),r=Cs,(e=_s())!==n&&(e=Qo(e)),(r=e)!==n?(e=mi(),Ei()!==n?u=Vo(r):(Cs=u,u=n)):(Cs=u,u=n)):(Cs=u,u=n);return u}(),e!==n?t=wo(e):(Cs=t,t=n)):(Cs=t,t=n),t===n&&(t=Cs,u.substr(Cs,6)===cu?(r=cu,Cs+=6):(r=n,0===Bs&&ys(br)),r!==n?(e=function(){var t,r,e,o,s;if(t=Cs,r=vi(),r!==n){for(e=Cs,o=[],s=u.charAt(Cs),Ku.test(s)?Cs++:(s=n,0===Bs&&ys(qr));s!==n;)o.push(s),s=u.charAt(Cs),Ku.test(s)?Cs++:(s=n,0===Bs&&ys(qr));e=u.substring(e,Cs),(o=Ei())!==n?t=Wo(e):(Cs=t,t=n)}else Cs=t,t=n;return t}(),e!==n?t=xo(e):(Cs=t,t=n)):(Cs=t,t=n),t===n&&(t=Cs,u.substr(Cs,6)===fu?(r=fu,Cs+=6):(r=n,0===Bs&&ys(Dr)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=Cs,t=vi(),t!==n)if(mi(),(r=Us())!==n){if(e=[],o=Cs,mi(),Bi()!==n?(mi(),(s=Us())!==n?o=Xo(r,s):(Cs=o,o=n)):(Cs=o,o=n),o!==n)for(;o!==n;)e.push(o),o=Cs,mi(),Bi()!==n?(mi(),(s=Us())!==n?o=Xo(r,s):(Cs=o,o=n)):(Cs=o,o=n);else e=n;e!==n?(o=mi(),Ei()!==n?u=Yo(r,e):(Cs=u,u=n)):(Cs=u,u=n)}else Cs=u,u=n;else Cs=u,u=n;return u}(),e!==n?t=Lo(e):(Cs=t,t=n)):(Cs=t,t=n),t===n&&(t=Cs,u.substr(Cs,7)===lu?(r=lu,Cs+=7):(r=n,0===Bs&&ys(yr)),r!==n?(e=function(){var u,t,r,e,o,s,i,a,c,f;if(u=Cs,t=vi(),t!==n)if(r=mi(),(e=li())!==n){for(o=[],s=Cs,i=mi(),(a=Bi())!==n?(c=mi(),(f=li())!==n?s=i=[i,a,c,f]:(Cs=s,s=n)):(Cs=s,s=n);s!==n;)o.push(s),s=Cs,i=mi(),(a=Bi())!==n?(c=mi(),(f=li())!==n?s=i=[i,a,c,f]:(Cs=s,s=n)):(Cs=s,s=n);s=mi(),(i=Ei())!==n?u=t=[t,r,e,o,s,i]:(Cs=u,u=n)}else Cs=u,u=n;else Cs=u,u=n;return u}(),e!==n?t=So(e):(Cs=t,t=n)):(Cs=t,t=n),t===n&&(t=Cs,u.substr(Cs,3)===Au?(r=Au,Cs+=3):(r=n,0===Bs&&ys($r)),r!==n?(e=function(){var u,t,r;u=Cs,t=vi(),t!==n?(mi(),(r=ks())!==n?(mi(),Ei()!==n?u=rs(r):(Cs=u,u=n)):(Cs=u,u=n)):(Cs=u,u=n);return u}(),e!==n?t=To(e):(Cs=t,t=n)):(Cs=t,t=n),t===n&&(t=Cs,u.substr(Cs,4)===hu?(r=hu,Cs+=4):(r=n,0===Bs&&ys(wr)),r!==n?(e=function(){var u,t,r;u=Cs,t=vi(),t!==n?(mi(),(r=zs())!==n?(mi(),Ei()!==n?u=ns(r):(Cs=u,u=n)):(Cs=u,u=n)):(Cs=u,u=n);return u}(),e!==n?t=jo(e):(Cs=t,t=n)):(Cs=t,t=n),t===n&&(t=Cs,u.substr(Cs,7)===pu?(r=pu,Cs+=7):(r=n,0===Bs&&ys(xr)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=Cs,t=vi(),t!==n)if(mi(),(r=Ps())!==n){for(e=[],o=Cs,Bi()!==n&&(s=Ps())!==n?o=es(r,s):(Cs=o,o=n);o!==n;)e.push(o),o=Cs,Bi()!==n&&(s=Ps())!==n?o=es(r,s):(Cs=o,o=n);o=mi(),Ei()!==n?u=os(r,e):(Cs=u,u=n)}else Cs=u,u=n;else Cs=u,u=n;return u}(),e!==n?t=Oo(e):(Cs=t,t=n)):(Cs=t,t=n),t===n&&(t=Cs,(r=u.substr(Cs,8)).toLowerCase()===Cu?Cs+=8:(r=n,0===Bs&&ys(Lr)),r===n&&((r=u.substr(Cs,11)).toLowerCase()===du?Cs+=11:(r=n,0===Bs&&ys(Sr)),r===n&&((r=u.substr(Cs,6)).toLowerCase()===Fu?Cs+=6:(r=n,0===Bs&&ys(Tr)),r===n&&((r=u.substr(Cs,9)).toLowerCase()===gu?Cs+=9:(r=n,0===Bs&&ys(jr)),r===n&&((r=u.substr(Cs,10)).toLowerCase()===Bu?Cs+=10:(r=n,0===Bs&&ys(Or)),r===n&&((r=u.substr(Cs,13)).toLowerCase()===vu?Cs+=13:(r=n,0===Bs&&ys(Zr))))))),r!==n?(e=function(){var u,t,r,e;u=Cs,t=vi(),t!==n?(mi(),(r=Qs())!==n?(mi(),Bi()!==n?(mi(),(e=Qs())!==n?(mi(),Ei()!==n?u=us(r,e):(Cs=u,u=n)):(Cs=u,u=n)):(Cs=u,u=n)):(Cs=u,u=n)):(Cs=u,u=n);return u}(),e!==n?t=Zo(r,e):(Cs=t,t=n)):(Cs=t,t=n),t===n&&(t=Cs,r=function(){var t,r;t=Cs,u.substr(Cs,8)===$u?(r=$u,Cs+=8):(r=n,0===Bs&&ys(Nr));r!==n&&(r=ts());return t=r,t}(),r!==n&&(r=ko(r)),t=r)))))))))),t}function oi(){var t,r,e,o;return t=Cs,r=Cs,u.substr(Cs,6)===f?(e=f,Cs+=6):(e=n,0===Bs&&ys(ct)),e!==n&&(o=ci())!==n?r=Ro(o):(Cs=r,r=n),r===n&&(r=si()),r!==n&&(r=Io(r)),t=r}function si(){var u,t,r,e,o;return u=Cs,(t=Vs())!==n?((r=ii())===n&&(r=null),(e=ai())===n&&(e=null),(o=ci())===n&&(o=null),u=qo(t,r,o)):(Cs=u,u=n),u===n&&(u=Cs,(t=Ci())!==n&&(r=vi())!==n&&(e=si())!==n&&(o=Ei())!==n?u=t=[t,r,e,o]:(Cs=u,u=n)),u}function ii(){var t,r,e,o,s;if(t=Cs,bi()!==n)if(u.substr(Cs,4)===Eu?(r=Eu,Cs+=4):(r=n,0===Bs&&ys(kr)),r!==n)if(bi()!==n){if(e=Cs,o=[],s=u.charAt(Cs),Ju.test(s)?Cs++:(s=n,0===Bs&&ys(Ar)),s!==n)for(;s!==n;)o.push(s),s=u.charAt(Cs),Ju.test(s)?Cs++:(s=n,0===Bs&&ys(Ar));else o=n;(e=o!==n?u.substring(e,Cs):o)!==n?t=No(e):(Cs=t,t=n)}else Cs=t,t=n;else Cs=t,t=n;else Cs=t,t=n;return t}function ai(){var t,r,e,o,s,i,a;return t=Cs,(r=bi())!==n?(u.substr(Cs,4)===mu?(e=mu,Cs+=4):(e=n,0===Bs&&ys(zr)),e!==n&&(o=bi())!==n&&(s=Vs())!==n&&(i=ii())!==n?((a=ai())===n&&(a=null),t=r=[r,e,o,s,i,a]):(Cs=t,t=n)):(Cs=t,t=n),t}function ci(){var t,r,e;return t=Cs,bi()!==n?(u.substr(Cs,2)===bu?(r=bu,Cs+=2):(r=n,0===Bs&&ys(_r)),r!==n&&bi()!==n&&(e=Ci())!==n?t=Po(e):(Cs=t,t=n)):(Cs=t,t=n),t}function fi(){var t,r;return t=Cs,r=function(){var t,r,e,o,s,i,a,c,f,l,A;t=Cs,r=Cs,u.substr(Cs,6)===Du?(e=Du,Cs+=6):(e=n,0===Bs&&ys(Rr));if(e!==n)if((o=vi())!==n)if(s=mi(),u.substr(Cs,4)===yu?(i=yu,Cs+=4):(i=n,0===Bs&&ys(Ir)),i===n&&(i=Vs()),i!==n){if(a=[],c=Cs,f=mi(),(l=Bi())!==n&&(A=Vs())!==n?c=f=[f,l,A]:(Cs=c,c=n),c!==n)for(;c!==n;)a.push(c),c=Cs,f=mi(),(l=Bi())!==n&&(A=Vs())!==n?c=f=[f,l,A]:(Cs=c,c=n);else a=n;a!==n?(c=mi(),(f=Ei())!==n?r=e=[e,o,s,i,a,c,f]:(Cs=r,r=n)):(Cs=r,r=n)}else Cs=r,r=n;else Cs=r,r=n;else Cs=r,r=n;r!==n&&(r=Ko(r));return t=r,t}(),r===n&&(r=Vs()),r!==n&&(r=Jo(r)),t=r}function li(){var u,t,r;return u=Cs,(t=Rs())!==n&&(r=ci())!==n?u=t=[t,r]:(Cs=u,u=n),u}function Ai(){var t,r;return Bs++,t=Cs,u.substr(Cs,4)===wu?(r=wu,Cs+=4):(r=n,0===Bs&&ys(Ur)),r===n&&(u.substr(Cs,5)===xu?(r=xu,Cs+=5):(r=n,0===Bs&&ys(Mr))),r!==n&&(r=ss(r)),Bs--,(t=r)===n&&(r=n,0===Bs&&ys(Pr)),t}function hi(){var t,r,e,o,s,i,a,c,f,l,A,h,p,C,d,F,g,B,v,E,m,b,D,y,$;if(Bs++,t=Cs,r=Cs,e=Cs,o=[],s=u.charAt(Cs),Wu.test(s)?Cs++:(s=n,0===Bs&&ys(un)),s!==n)for(;s!==n;)o.push(s),s=u.charAt(Cs),Wu.test(s)?Cs++:(s=n,0===Bs&&ys(un));else o=n;if(o!==n)if(45===u.charCodeAt(Cs)?(s=Ou,Cs++):(s=n,0===Bs&&ys(rn)),s!==n)if(i=u.charAt(Cs),Wu.test(i)?Cs++:(i=n,0===Bs&&ys(un)),i!==n)if(a=u.charAt(Cs),Wu.test(a)?Cs++:(a=n,0===Bs&&ys(un)),a!==n)if(45===u.charCodeAt(Cs)?(c=Ou,Cs++):(c=n,0===Bs&&ys(rn)),c!==n)if(f=u.charAt(Cs),Wu.test(f)?Cs++:(f=n,0===Bs&&ys(un)),f!==n)if(l=u.charAt(Cs),Wu.test(l)?Cs++:(l=n,0===Bs&&ys(un)),l!==n){if(A=Cs,84===u.charCodeAt(Cs)?(h=Zu,Cs++):(h=n,0===Bs&&ys(nn)),h!==n)if(p=u.charAt(Cs),Wu.test(p)?Cs++:(p=n,0===Bs&&ys(un)),p!==n)if(C=u.charAt(Cs),Wu.test(C)?Cs++:(C=n,0===Bs&&ys(un)),C!==n)if(58===u.charCodeAt(Cs)?(d=T,Cs++):(d=n,0===Bs&&ys(jt)),d!==n)if(F=u.charAt(Cs),Wu.test(F)?Cs++:(F=n,0===Bs&&ys(un)),F!==n)if(g=u.charAt(Cs),Wu.test(g)?Cs++:(g=n,0===Bs&&ys(un)),g!==n){if(B=Cs,58===u.charCodeAt(Cs)?(v=T,Cs++):(v=n,0===Bs&&ys(jt)),v!==n)if(E=u.charAt(Cs),Wu.test(E)?Cs++:(E=n,0===Bs&&ys(un)),E!==n)if(m=u.charAt(Cs),Wu.test(m)?Cs++:(m=n,0===Bs&&ys(un)),m!==n){if(b=Cs,46===u.charCodeAt(Cs)?(D=ku,Cs++):(D=n,0===Bs&&ys(en)),D!==n){if(y=[],$=u.charAt(Cs),Wu.test($)?Cs++:($=n,0===Bs&&ys(un)),$!==n)for(;$!==n;)y.push($),$=u.charAt(Cs),Wu.test($)?Cs++:($=n,0===Bs&&ys(un));else y=n;y!==n?b=D=[D,y]:(Cs=b,b=n)}else Cs=b,b=n;b===n&&(b=null),B=v=[v,E,m,b]}else Cs=B,B=n;else Cs=B,B=n;else Cs=B,B=n;B===n&&(B=null),90===u.charCodeAt(Cs)?(v=zu,Cs++):(v=n,0===Bs&&ys(on)),v===n&&(v=Cs,E=u.charAt(Cs),Xu.test(E)?Cs++:(E=n,0===Bs&&ys(sn)),E!==n?(m=u.charAt(Cs),Wu.test(m)?Cs++:(m=n,0===Bs&&ys(un)),m!==n?(b=u.charAt(Cs),Wu.test(b)?Cs++:(b=n,0===Bs&&ys(un)),b!==n?(58===u.charCodeAt(Cs)?(D=T,Cs++):(D=n,0===Bs&&ys(jt)),D!==n?(y=u.charAt(Cs),Wu.test(y)?Cs++:(y=n,0===Bs&&ys(un)),y!==n?($=u.charAt(Cs),Wu.test($)?Cs++:($=n,0===Bs&&ys(un)),$!==n?v=E=[E,m,b,D,y,$]:(Cs=v,v=n)):(Cs=v,v=n)):(Cs=v,v=n)):(Cs=v,v=n)):(Cs=v,v=n)):(Cs=v,v=n)),v===n&&(v=null),A=h=[h,p,C,d,F,g,B,v]}else Cs=A,A=n;else Cs=A,A=n;else Cs=A,A=n;else Cs=A,A=n;else Cs=A,A=n;else Cs=A,A=n;A===n&&(A=null),e=o=[o,s,i,a,c,f,l,A]}else Cs=e,e=n;else Cs=e,e=n;else Cs=e,e=n;else Cs=e,e=n;else Cs=e,e=n;else Cs=e,e=n;else Cs=e,e=n;return(r=e!==n?u.substring(r,Cs):e)!==n&&(r=cs(r)),Bs--,(t=r)===n&&(r=n,0===Bs&&ys(tn)),t}function pi(){var t,r,e,o,s,i;if(Bs++,t=Cs,r=Cs,e=Cs,o=u.charAt(Cs),Xu.test(o)?Cs++:(o=n,0===Bs&&ys(sn)),o===n&&(o=null),s=[],i=u.charAt(Cs),Wu.test(i)?Cs++:(i=n,0===Bs&&ys(un)),i!==n)for(;i!==n;)s.push(i),i=u.charAt(Cs),Wu.test(i)?Cs++:(i=n,0===Bs&&ys(un));else s=n;return s!==n?e=o=[o,s]:(Cs=e,e=n),(r=e!==n?u.substring(r,Cs):e)!==n&&(r=ls(r)),Bs--,(t=r)===n&&(r=n,0===Bs&&ys(fn)),t}function Ci(){var t,r,e,o,s,i,a,c;if(Bs++,t=Cs,r=Cs,Bs++,e=Ai(),Bs--,e===n?r=void 0:(Cs=r,r=n),r!==n)if(e=Cs,Bs++,o=di(),Bs--,o===n?e=void 0:(Cs=e,e=n),e!==n){if(o=Cs,s=Cs,i=u.charAt(Cs),Yu.test(i)?Cs++:(i=n,0===Bs&&ys(An)),i!==n){for(a=[],c=u.charAt(Cs),ut.test(c)?Cs++:(c=n,0===Bs&&ys(hn));c!==n;)a.push(c),c=u.charAt(Cs),ut.test(c)?Cs++:(c=n,0===Bs&&ys(hn));s=i=[i,a]}else Cs=s,s=n;(o=s!==n?u.substring(o,Cs):s)!==n?t=As(o):(Cs=t,t=n)}else Cs=t,t=n;else Cs=t,t=n;return Bs--,t===n&&(r=n,0===Bs&&ys(ln)),t}function di(){var t,r,e,o,s,i,a,c,f,l,A,h,p,C;return Bs++,t=Cs,r=Cs,(e=Fi())!==n&&(o=Fi())!==n?(45===u.charCodeAt(Cs)?(s=Ou,Cs++):(s=n,0===Bs&&ys(rn)),s===n&&(s=null),(i=Fi())!==n?(45===u.charCodeAt(Cs)?(a=Ou,Cs++):(a=n,0===Bs&&ys(rn)),a===n&&(a=null),(c=Fi())!==n?(45===u.charCodeAt(Cs)?(f=Ou,Cs++):(f=n,0===Bs&&ys(rn)),f===n&&(f=null),(l=Fi())!==n?(45===u.charCodeAt(Cs)?(A=Ou,Cs++):(A=n,0===Bs&&ys(rn)),A===n&&(A=null),(h=Fi())!==n&&(p=Fi())!==n&&(C=Fi())!==n?r=e=[e,o,s,i,a,c,f,l,A,h,p,C]:(Cs=r,r=n)):(Cs=r,r=n)):(Cs=r,r=n)):(Cs=r,r=n)):(Cs=r,r=n),t=r!==n?u.substring(t,Cs):r,Bs--,t===n&&(r=n,0===Bs&&ys(pn)),t}function Fi(){var t,r,e,o,s,i;return Bs++,t=Cs,r=Cs,e=u.charAt(Cs),tt.test(e)?Cs++:(e=n,0===Bs&&ys(dn)),e!==n?(o=u.charAt(Cs),tt.test(o)?Cs++:(o=n,0===Bs&&ys(dn)),o!==n?(s=u.charAt(Cs),tt.test(s)?Cs++:(s=n,0===Bs&&ys(dn)),s!==n?(i=u.charAt(Cs),tt.test(i)?Cs++:(i=n,0===Bs&&ys(dn)),i!==n?r=e=[e,o,s,i]:(Cs=r,r=n)):(Cs=r,r=n)):(Cs=r,r=n)):(Cs=r,r=n),t=r!==n?u.substring(t,Cs):r,Bs--,t===n&&(r=n,0===Bs&&ys(Cn)),t}function gi(){var t,r,e,o;if(t=Cs,r=Cs,e=[],o=u.charAt(Cs),rt.test(o)?Cs++:(o=n,0===Bs&&ys(Fn)),o!==n)for(;o!==n;)e.push(o),o=u.charAt(Cs),rt.test(o)?Cs++:(o=n,0===Bs&&ys(Fn));else e=n;return(r=e!==n?u.substring(r,Cs):e)!==n&&(r=hs(r)),t=r}function Bi(){var t,r,e;return t=Cs,r=mi(),44===u.charCodeAt(Cs)?(e=R,Cs++):(e=n,0===Bs&&ys(qt)),e!==n?t=r=[r,e,mi()]:(Cs=t,t=n),t}function vi(){var t,r,e;return t=Cs,r=mi(),40===u.charCodeAt(Cs)?(e=qu,Cs++):(e=n,0===Bs&&ys(bn)),e!==n?t=r=[r,e,mi()]:(Cs=t,t=n),t}function Ei(){var t,r,e;return t=Cs,r=mi(),41===u.charCodeAt(Cs)?(e=Nu,Cs++):(e=n,0===Bs&&ys(Dn)),e!==n?t=r=[r,e]:(Cs=t,t=n),t}function mi(){var t,r,e;for(Bs++,t=Cs,r=[],e=u.charAt(Cs),ot.test(e)?Cs++:(e=n,0===Bs&&ys($n));e!==n;)r.push(e),e=u.charAt(Cs),ot.test(e)?Cs++:(e=n,0===Bs&&ys($n));return t=u.substring(t,Cs),Bs--,r=n,0===Bs&&ys(yn),t}function bi(){var t,r,e;if(Bs++,t=Cs,r=[],e=u.charAt(Cs),ot.test(e)?Cs++:(e=n,0===Bs&&ys($n)),e!==n)for(;e!==n;)r.push(e),e=u.charAt(Cs),ot.test(e)?Cs++:(e=n,0===Bs&&ys($n));else r=n;return t=r!==n?u.substring(t,Cs):r,Bs--,t===n&&(r=n,0===Bs&&ys(wn)),t}const Di=["$value"],yi={eq:"=",ne:"!=",lt:"<",gt:">",le:"<=",ge:">="},$i={topcount:!0,bottomcount:!0,topsum:!1,bottomsum:!1,toppercent:!1,bottompercent:!1},wi=Object.assign,{strict:xi,minimal:Li}=t,Si=[];let Ti,ji;const Oi=t.safeNumber||function(u){if("string"!=typeof u)return u;const t=parseFloat(u);if(!isNaN(t)&&String(t)===u)return t;const r=parseInt(u);return isNaN(r)||String(r)!==u.replace(/^-?\d+\.0+$/,u.split(".")[0])?u:r},Zi=t.skipToken,ki=t.standardBase64||function(u){return Buffer.from(u,"base64").toString("base64")},zi=u=>t=>u===t||u.as&&t.as&&u.as===t.as||t.as&&u.ref&&t.as===u.ref[u.ref.length-1]||u.ref&&t.ref&&u.ref.join("")===t.ref.join(""),_i=u=>t=>{if(Array.isArray(t))return t.map(_i(u));const r=t.ref&&u.find((u=>u.as&&u.func&&u.as===t.ref[0]));return r||t},Ri=u=>t=>Array.isArray(t)?t.map(Ri(u)):t.ref&&!u.find(zi(t))?{val:null}:t,Ii=(u,t)=>{if(1===t.ref.length)u.find(zi(t))||u.push(t);else{const r=t.ref.shift(),n=u.find((u=>u.ref&&u.ref[0]===r));if(n)Ii(n.expand,t);else{const n={ref:[r],expand:[]};Ii(n.expand,t),u.push(n)}}},qi=(u,t,r=!1)=>{let n=Ui({from:u.from},t,r);if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t]=Ni(n[t],u,r);else n=Ni(n,u,r);return n},Ni=(u,t,r)=>{if(!t)return u;t.apply&&delete t.apply;let n={};t.columns&&"$count"===t.columns[0].as||u.SELECT.where&&t.where||u.SELECT.limit&&t.limit||u.SELECT.orderBy&&t.orderBy||u.SELECT.search&&t.search?n.from=u:n=u.SELECT;for(const u in t)"columns"===u?(t.columns=t.columns.map((u=>n.columns&&n.columns.find((t=>u.ref&&u.ref[0]===t.as||t.ref&&u.ref&&u.ref[0]===t.ref[0]&&!u.expand))||u)),n.columns&&n.groupBy&&t.columns.push(...n.columns.filter((u=>r&&n.groupBy.find((t=>u.ref&&u.ref[0]===t.ref[0]))&&!t.columns.some((t=>t.ref&&t.ref[0]===u.as||t.ref&&u.ref&&t.ref[0]===u.ref[0]||t.as&&t.as===u.as))))||[]),n.columns=t.columns):"from"!==u&&(n[u]=t[u]);const e=[...n.columns&&n.columns.filter((u=>n.groupBy&&n.groupBy.find((t=>u.ref&&u.ref[0]===t.ref[0]))))||[],...n.columns&&n.columns.filter((u=>u&&"object"==typeof u&&"func"in u))||[]];return Pi(n,e,r),{SELECT:n}},Pi=(u,t,r)=>{t.length&&(u.columns=u.columns&&!r?u.columns.reduce(((u,r)=>{const n=t.find(zi(r));return n&&u.push(n),u}),[]):t,u.where&&(u.where=u.where.map(_i(u.columns)),u.groupBy&&(u.having=u.where.map(Ri(u.groupBy)),delete u.where)),u.columns=u.columns.reduce(((u,r)=>(r.ref&&r.ref.length>1&&t.find(zi(r))?Ii(u,{ref:[...r.ref]}):u.push(r),u)),[]))},Ui=(u,t,r)=>{if(!t)return;if(u.apply&&delete u.apply,t.identity&&u.from.SELECT&&(u=u.from.SELECT),(t.apply||t.where&&u.where||t.search&&u.search||t.limit&&u.limit||t.orderBy&&u.orderBy)&&(u.from={SELECT:{...u}}),t.where&&(u.where=t.where),t.search&&(u.search=t.search),t.groupBy){u.groupBy=[];for(const r of t.groupBy)u.groupBy.find(zi(r))||u.groupBy.push(r)}t.limit&&(u.limit=t.limit),t.orderBy&&(u.orderBy=t.orderBy);const n=[...u.groupBy||[],...t.aggregate||[]];if(Pi(u,n,r),t.apply&&u.from&&Ui(u.from.SELECT,t.apply),t.concat&&Array.isArray(t.concat)){const r=[];for(let n of t.concat){n.from=1===Object.keys(u).length?u.from:{SELECT:u};const t=Ui(n,n.apply);Array.isArray(t)?r.push(...t):r.push(t)}u=r}return Array.isArray(u)?u:{SELECT:u}},Mi=u=>{Ti.limit&&Ti.limit.offset&&Ti.limit.offset.val&&(u+=Ti.limit.offset.val),(Ti.limit||(Ti.limit={})).offset={val:u}},Gi=(u,t=!1)=>{Ti.orderBy=Ti.orderBy?t?[u,...Ti.orderBy]:[...Ti.orderBy,u]:[u]},Hi=(u,t)=>{for(const r of t)r.ref&&r.ref[0]===u&&r.ref.shift(),r.func&&Hi(u,r.args);return t},Ji=(u,t,r,n=!1)=>{u?.forEach((u=>{u.val===t?u.val="list"in r?r.list.map((u=>u.val)):r.val:u.list===t?u.list=r.list:u.func?u.args.forEach(((u,e)=>{u.val===t?u.val=r.val:u.func&&Ji(u.args,t,r,n)})):u.SELECT&&Ki(u.SELECT,t,r,n)}))},Ki=(u,t,r,n=!1)=>{const{where:e,from:o}=u;Ji(e,t,r),o?.ref?.forEach((u=>{Ji(u.where,t,r,!0)}))};if(r=s(),t.peg$library)return{peg$result:r,peg$currPos:Cs,peg$FAILED:n,peg$maxFailExpected:gs,peg$maxFailPos:Fs};if(r!==n&&Cs===u.length)return r;throw r!==n&&Cs<u.length&&ys({type:"end"}),$s(gs,Fs<u.length?u.charAt(Fs):null,Fs<u.length?Ds(Fs,Fs+1):Ds(Fs,Fs))}peg$subclass(peg$SyntaxError,Error),peg$SyntaxError.prototype.format=function(u){var t="Error: "+this.message;if(this.location){var r,n=null;for(r=0;r<u.length;r++)if(u[r].source===this.location.source){n=u[r].text.split(/\r\n|\n|\r/g);break}var e=this.location.start,o=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(e):e,s=this.location.source+":"+o.line+":"+o.column;if(n){var i=this.location.end,a=peg$padEnd("",o.line.toString().length," "),c=n[e.line-1],f=(e.line===i.line?i.column:c.length+1)-e.column||1;t+="\n --\x3e "+s+"\n"+a+" |\n"+o.line+" | "+c+"\n"+a+" | "+peg$padEnd("",e.column-1," ")+peg$padEnd("",f,"^")}else t+="\n at "+s}return t},peg$SyntaxError.buildMessage=function(u,t){var r={literal:function(u){return'"'+e(u.text)+'"'},class:function(u){var t=u.parts.map((function(u){return Array.isArray(u)?o(u[0])+"-"+o(u[1]):o(u)}));return"["+(u.inverted?"^":"")+t.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(u){return u.description}};function n(u){return u.charCodeAt(0).toString(16).toUpperCase()}function e(u){return u.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(u){return"\\x0"+n(u)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(u){return"\\x"+n(u)}))}function o(u){return u.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(u){return"\\x0"+n(u)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(u){return"\\x"+n(u)}))}function s(u){return r[u.type](u)}return"Expected "+function(u){var t,r,n=u.map(s);if(n.sort(),n.length>0){for(t=1,r=1;t<n.length;t++)n[t-1]!==n[t]&&(n[r]=n[t],r++);n.length=r}switch(n.length){case 1:return n[0];case 2:return n[0]+" or "+n[1];default:return n.slice(0,-1).join(", ")+", or "+n[n.length-1]}}(u)+" but "+function(u){return u?'"'+e(u)+'"':"end of input"}(t)+" found."},module.exports={StartRules:["ODataRelativeURI"],SyntaxError:peg$SyntaxError,parse:peg$parse};
|
package/libx/odata/utils/etag.js
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
|
-
const validateIfNoneMatch = (
|
|
2
|
-
if (
|
|
3
|
-
let
|
|
1
|
+
const validateIfNoneMatch = (target, header, result) => {
|
|
2
|
+
if (target._etag && header && result) {
|
|
3
|
+
let ifm = extractIfNoneMatch(header)
|
|
4
|
+
if (ifm === '*') return true
|
|
5
|
+
if (result[target._etag.name] === ifm) return true
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const extractIfNoneMatch = header => {
|
|
10
|
+
if (header) {
|
|
4
11
|
if (header.startsWith('W/')) header = header.substring(2)
|
|
5
12
|
if (header.startsWith('"') && header.endsWith('"')) header = header.substring(1, header.length - 1)
|
|
6
|
-
if (header === '*') return true
|
|
7
|
-
if (result[cdsReq.target._etag.name] === header) return true
|
|
8
13
|
}
|
|
14
|
+
|
|
15
|
+
return header
|
|
9
16
|
}
|
|
10
17
|
|
|
11
18
|
module.exports = {
|
|
12
|
-
validateIfNoneMatch
|
|
19
|
+
validateIfNoneMatch,
|
|
20
|
+
extractIfNoneMatch
|
|
13
21
|
}
|