@arcforges/api-client 1.0.0-ci.195.1 → 1.0.0-ci.201.1

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.
@@ -0,0 +1,4188 @@
1
+ export function isPolicyBody(value) { return check0(value); }
2
+ /** The schema's declared UTF-8 document bound in bytes. */
3
+ export const policyBodyJsonMaxBytes = 1048576;
4
+ /** Parses one strict PolicyBody document; refusal kinds match the C# codec. */
5
+ export function tryParsePolicyBodyJson(input) {
6
+ const parsed = strictJson(input, 1048576);
7
+ if (!parsed.ok)
8
+ return parsed;
9
+ return isPolicyBody(parsed.value) ? { ok: true, value: parsed.value } : { ok: false, failure: "invalid" };
10
+ }
11
+ /** Parses one strict PolicyBody document or throws an error carrying the refusal kind. */
12
+ export function parsePolicyBodyJson(input) {
13
+ const result = tryParsePolicyBodyJson(input);
14
+ if (!result.ok)
15
+ throw Object.assign(new Error(`PolicyBody JSON refused: ${result.failure}.`), { failure: result.failure });
16
+ return result.value;
17
+ }
18
+ /** Writes compact UTF-8 in schema property order and refuses output the schema rejects. */
19
+ export function serializePolicyBodyJson(value) {
20
+ if (!isPolicyBody(value))
21
+ throw Object.assign(new Error('Invalid recursive shape'), { failure: 'invalid' });
22
+ const bytes = new TextEncoder().encode(JSON.stringify(orderPolicyBody(value)));
23
+ const result = tryParsePolicyBodyJson(bytes);
24
+ if (!result.ok)
25
+ throw Object.assign(new Error(`PolicyBody JSON refused: ${result.failure}.`), { failure: result.failure });
26
+ return bytes;
27
+ }
28
+ function orderPolicyActiveTimeRule(value) {
29
+ const out = {};
30
+ out["ruleId"] = value["ruleId"];
31
+ out["key"] = value["key"];
32
+ out["value"] = value["value"];
33
+ out["scope"] = value["scope"];
34
+ out["target"] = orderPolicyTarget(value["target"]);
35
+ out["priority"] = value["priority"];
36
+ if (value["effectiveAt"] !== undefined)
37
+ out["effectiveAt"] = value["effectiveAt"];
38
+ if (value["expiresAt"] !== undefined)
39
+ out["expiresAt"] = value["expiresAt"];
40
+ return out;
41
+ }
42
+ function orderPolicyAll(value) {
43
+ const out = {};
44
+ out["op"] = value["op"];
45
+ out["terms"] = value["terms"].map(item => orderPolicyPredicate(item));
46
+ return out;
47
+ }
48
+ function orderPolicyAny(value) {
49
+ const out = {};
50
+ out["op"] = value["op"];
51
+ out["terms"] = value["terms"].map(item => orderPolicyPredicate(item));
52
+ return out;
53
+ }
54
+ function orderPolicyBody(value) {
55
+ const out = {};
56
+ out["schemaVersion"] = value["schemaVersion"];
57
+ out["version"] = value["version"];
58
+ if (value["parentVersion"] !== undefined)
59
+ out["parentVersion"] = value["parentVersion"];
60
+ out["issuedAt"] = value["issuedAt"];
61
+ out["expiresAt"] = value["expiresAt"];
62
+ out["rules"] = value["rules"].map(item => orderPolicyRule(item));
63
+ out["experiments"] = value["experiments"].map(item => orderPolicyExperiment(item));
64
+ out["reason"] = value["reason"];
65
+ return out;
66
+ }
67
+ function orderPolicyCacheRule(value) {
68
+ const out = {};
69
+ out["ruleId"] = value["ruleId"];
70
+ out["key"] = value["key"];
71
+ out["value"] = value["value"];
72
+ out["scope"] = value["scope"];
73
+ out["target"] = orderPolicyTarget(value["target"]);
74
+ out["priority"] = value["priority"];
75
+ if (value["effectiveAt"] !== undefined)
76
+ out["effectiveAt"] = value["effectiveAt"];
77
+ if (value["expiresAt"] !== undefined)
78
+ out["expiresAt"] = value["expiresAt"];
79
+ return out;
80
+ }
81
+ function orderPolicyDensityRule(value) {
82
+ const out = {};
83
+ out["ruleId"] = value["ruleId"];
84
+ out["key"] = value["key"];
85
+ out["value"] = value["value"];
86
+ out["scope"] = value["scope"];
87
+ out["target"] = orderPolicyTarget(value["target"]);
88
+ out["priority"] = value["priority"];
89
+ if (value["effectiveAt"] !== undefined)
90
+ out["effectiveAt"] = value["effectiveAt"];
91
+ if (value["expiresAt"] !== undefined)
92
+ out["expiresAt"] = value["expiresAt"];
93
+ return out;
94
+ }
95
+ function orderPolicyEqualMajor(value) {
96
+ const out = {};
97
+ out["op"] = value["op"];
98
+ out["field"] = value["field"];
99
+ out["value"] = value["value"];
100
+ return out;
101
+ }
102
+ function orderPolicyEqualText(value) {
103
+ const out = {};
104
+ out["op"] = value["op"];
105
+ out["field"] = value["field"];
106
+ out["value"] = value["value"];
107
+ return out;
108
+ }
109
+ function orderPolicyExperiment(value) {
110
+ const out = {};
111
+ out["experimentId"] = value["experimentId"];
112
+ out["version"] = value["version"];
113
+ out["hypothesis"] = value["hypothesis"];
114
+ out["subject"] = value["subject"];
115
+ out["eligibility"] = orderPolicyPredicate(value["eligibility"]);
116
+ out["variants"] = value["variants"].map(item => orderPolicyVariant(item));
117
+ out["allocation"] = value["allocation"];
118
+ out["startsAt"] = value["startsAt"];
119
+ out["endsAt"] = value["endsAt"];
120
+ out["successMetrics"] = value["successMetrics"];
121
+ out["exitCriteria"] = value["exitCriteria"];
122
+ if (value["exclusionGroup"] !== undefined)
123
+ out["exclusionGroup"] = value["exclusionGroup"];
124
+ out["holdoutBasisPoints"] = value["holdoutBasisPoints"];
125
+ return out;
126
+ }
127
+ function orderPolicyHomeSummaryRule(value) {
128
+ const out = {};
129
+ out["ruleId"] = value["ruleId"];
130
+ out["key"] = value["key"];
131
+ out["value"] = value["value"];
132
+ out["scope"] = value["scope"];
133
+ out["target"] = orderPolicyTarget(value["target"]);
134
+ out["priority"] = value["priority"];
135
+ if (value["effectiveAt"] !== undefined)
136
+ out["effectiveAt"] = value["effectiveAt"];
137
+ if (value["expiresAt"] !== undefined)
138
+ out["expiresAt"] = value["expiresAt"];
139
+ return out;
140
+ }
141
+ function orderPolicyInMajor(value) {
142
+ const out = {};
143
+ out["op"] = value["op"];
144
+ out["field"] = value["field"];
145
+ out["values"] = value["values"];
146
+ return out;
147
+ }
148
+ function orderPolicyInText(value) {
149
+ const out = {};
150
+ out["op"] = value["op"];
151
+ out["field"] = value["field"];
152
+ out["values"] = value["values"];
153
+ return out;
154
+ }
155
+ function orderPolicyMinimumApp(value) {
156
+ const out = {};
157
+ out["product"] = value["product"];
158
+ out["platform"] = value["platform"];
159
+ out["minimumVersionName"] = value["minimumVersionName"];
160
+ if (value["minimumVersionCode"] !== undefined)
161
+ out["minimumVersionCode"] = value["minimumVersionCode"];
162
+ return out;
163
+ }
164
+ function orderPolicyMinimumAppRule(value) {
165
+ const out = {};
166
+ out["ruleId"] = value["ruleId"];
167
+ out["key"] = value["key"];
168
+ out["value"] = value["value"].map(item => orderPolicyMinimumApp(item));
169
+ out["scope"] = value["scope"];
170
+ out["target"] = orderPolicyTarget(value["target"]);
171
+ out["priority"] = value["priority"];
172
+ if (value["effectiveAt"] !== undefined)
173
+ out["effectiveAt"] = value["effectiveAt"];
174
+ if (value["expiresAt"] !== undefined)
175
+ out["expiresAt"] = value["expiresAt"];
176
+ return out;
177
+ }
178
+ function orderPolicyMinimumContracts(value) {
179
+ const out = {};
180
+ out["publicMajor"] = value["publicMajor"];
181
+ out["localMajor"] = value["localMajor"];
182
+ out["minimumRelease"] = value["minimumRelease"];
183
+ return out;
184
+ }
185
+ function orderPolicyMinimumContractsRule(value) {
186
+ const out = {};
187
+ out["ruleId"] = value["ruleId"];
188
+ out["key"] = value["key"];
189
+ out["value"] = orderPolicyMinimumContracts(value["value"]);
190
+ out["scope"] = value["scope"];
191
+ out["target"] = orderPolicyTarget(value["target"]);
192
+ out["priority"] = value["priority"];
193
+ if (value["effectiveAt"] !== undefined)
194
+ out["effectiveAt"] = value["effectiveAt"];
195
+ if (value["expiresAt"] !== undefined)
196
+ out["expiresAt"] = value["expiresAt"];
197
+ return out;
198
+ }
199
+ function orderPolicyModelCallsRule(value) {
200
+ const out = {};
201
+ out["ruleId"] = value["ruleId"];
202
+ out["key"] = value["key"];
203
+ out["value"] = value["value"];
204
+ out["scope"] = value["scope"];
205
+ out["target"] = orderPolicyTarget(value["target"]);
206
+ out["priority"] = value["priority"];
207
+ if (value["effectiveAt"] !== undefined)
208
+ out["effectiveAt"] = value["effectiveAt"];
209
+ if (value["expiresAt"] !== undefined)
210
+ out["expiresAt"] = value["expiresAt"];
211
+ return out;
212
+ }
213
+ function orderPolicyNot(value) {
214
+ const out = {};
215
+ out["op"] = value["op"];
216
+ out["term"] = orderPolicyPredicate(value["term"]);
217
+ return out;
218
+ }
219
+ function orderPolicyParallelToolsRule(value) {
220
+ const out = {};
221
+ out["ruleId"] = value["ruleId"];
222
+ out["key"] = value["key"];
223
+ out["value"] = value["value"];
224
+ out["scope"] = value["scope"];
225
+ out["target"] = orderPolicyTarget(value["target"]);
226
+ out["priority"] = value["priority"];
227
+ if (value["effectiveAt"] !== undefined)
228
+ out["effectiveAt"] = value["effectiveAt"];
229
+ if (value["expiresAt"] !== undefined)
230
+ out["expiresAt"] = value["expiresAt"];
231
+ return out;
232
+ }
233
+ function orderPolicyPercent(value) {
234
+ const out = {};
235
+ out["op"] = value["op"];
236
+ out["subject"] = value["subject"];
237
+ out["salt"] = value["salt"];
238
+ out["allocation"] = value["allocation"];
239
+ return out;
240
+ }
241
+ function orderPolicyPollRule(value) {
242
+ const out = {};
243
+ out["ruleId"] = value["ruleId"];
244
+ out["key"] = value["key"];
245
+ out["value"] = value["value"];
246
+ out["scope"] = value["scope"];
247
+ out["target"] = orderPolicyTarget(value["target"]);
248
+ out["priority"] = value["priority"];
249
+ if (value["effectiveAt"] !== undefined)
250
+ out["effectiveAt"] = value["effectiveAt"];
251
+ if (value["expiresAt"] !== undefined)
252
+ out["expiresAt"] = value["expiresAt"];
253
+ return out;
254
+ }
255
+ function orderPolicyPredicate(value) {
256
+ if (check21(value))
257
+ return orderPolicyAll(value);
258
+ if (check25(value))
259
+ return orderPolicyAny(value);
260
+ if (check28(value))
261
+ return orderPolicyNot(value);
262
+ if (check30(value))
263
+ return orderPolicyEqualText(value);
264
+ if (check34(value))
265
+ return orderPolicyEqualMajor(value);
266
+ if (check38(value))
267
+ return orderPolicyInText(value);
268
+ if (check43(value))
269
+ return orderPolicyInMajor(value);
270
+ if (check48(value))
271
+ return orderPolicyVersionAtLeast(value);
272
+ if (check52(value))
273
+ return orderPolicyPercent(value);
274
+ throw new TypeError('Invalid closed union');
275
+ }
276
+ function orderPolicyPresentation(value) {
277
+ const out = {};
278
+ if (value["ui.density"] !== undefined)
279
+ out["ui.density"] = value["ui.density"];
280
+ if (value["mobile.homeSummary"] !== undefined)
281
+ out["mobile.homeSummary"] = value["mobile.homeSummary"];
282
+ return out;
283
+ }
284
+ function orderPolicyRevocationsRule(value) {
285
+ const out = {};
286
+ out["ruleId"] = value["ruleId"];
287
+ out["key"] = value["key"];
288
+ out["value"] = value["value"].map(item => orderPolicyRevokedVersion(item));
289
+ out["scope"] = value["scope"];
290
+ out["target"] = orderPolicyTarget(value["target"]);
291
+ out["priority"] = value["priority"];
292
+ if (value["effectiveAt"] !== undefined)
293
+ out["effectiveAt"] = value["effectiveAt"];
294
+ if (value["expiresAt"] !== undefined)
295
+ out["expiresAt"] = value["expiresAt"];
296
+ return out;
297
+ }
298
+ function orderPolicyRevokedVersion(value) {
299
+ const out = {};
300
+ out["packageId"] = value["packageId"];
301
+ out["version"] = value["version"];
302
+ out["hash"] = value["hash"];
303
+ out["reason"] = value["reason"];
304
+ return out;
305
+ }
306
+ function orderPolicyRule(value) {
307
+ if (check8(value))
308
+ return orderPolicyStopRule(value);
309
+ if (check60(value))
310
+ return orderPolicyRevocationsRule(value);
311
+ if (check73(value))
312
+ return orderPolicyMinimumContractsRule(value);
313
+ if (check84(value))
314
+ return orderPolicyMinimumAppRule(value);
315
+ if (check97(value))
316
+ return orderPolicyCacheRule(value);
317
+ if (check105(value))
318
+ return orderPolicyPollRule(value);
319
+ if (check113(value))
320
+ return orderPolicyTraceSampleRule(value);
321
+ if (check121(value))
322
+ return orderPolicyTraceBufferRule(value);
323
+ if (check129(value))
324
+ return orderPolicyModelCallsRule(value);
325
+ if (check137(value))
326
+ return orderPolicyToolCallsRule(value);
327
+ if (check145(value))
328
+ return orderPolicyParallelToolsRule(value);
329
+ if (check153(value))
330
+ return orderPolicyActiveTimeRule(value);
331
+ if (check161(value))
332
+ return orderPolicySearchRule(value);
333
+ if (check169(value))
334
+ return orderPolicyDensityRule(value);
335
+ if (check177(value))
336
+ return orderPolicyHomeSummaryRule(value);
337
+ throw new TypeError('Invalid closed union');
338
+ }
339
+ function orderPolicySearchRule(value) {
340
+ const out = {};
341
+ out["ruleId"] = value["ruleId"];
342
+ out["key"] = value["key"];
343
+ out["value"] = value["value"];
344
+ out["scope"] = value["scope"];
345
+ out["target"] = orderPolicyTarget(value["target"]);
346
+ out["priority"] = value["priority"];
347
+ if (value["effectiveAt"] !== undefined)
348
+ out["effectiveAt"] = value["effectiveAt"];
349
+ if (value["expiresAt"] !== undefined)
350
+ out["expiresAt"] = value["expiresAt"];
351
+ return out;
352
+ }
353
+ function orderPolicyStop(value) {
354
+ const out = {};
355
+ out["mode"] = value["mode"];
356
+ out["reason"] = value["reason"];
357
+ out["effectiveAt"] = value["effectiveAt"];
358
+ out["until"] = value["until"];
359
+ if (value["capabilities"] !== undefined)
360
+ out["capabilities"] = value["capabilities"];
361
+ return out;
362
+ }
363
+ function orderPolicyStopRule(value) {
364
+ const out = {};
365
+ out["ruleId"] = value["ruleId"];
366
+ out["key"] = value["key"];
367
+ out["value"] = orderPolicyStop(value["value"]);
368
+ out["scope"] = value["scope"];
369
+ out["target"] = orderPolicyTarget(value["target"]);
370
+ out["priority"] = value["priority"];
371
+ if (value["effectiveAt"] !== undefined)
372
+ out["effectiveAt"] = value["effectiveAt"];
373
+ if (value["expiresAt"] !== undefined)
374
+ out["expiresAt"] = value["expiresAt"];
375
+ return out;
376
+ }
377
+ function orderPolicyTarget(value) {
378
+ if (check20(value))
379
+ return value;
380
+ if (check21(value))
381
+ return orderPolicyAll(value);
382
+ if (check25(value))
383
+ return orderPolicyAny(value);
384
+ if (check28(value))
385
+ return orderPolicyNot(value);
386
+ if (check30(value))
387
+ return orderPolicyEqualText(value);
388
+ if (check34(value))
389
+ return orderPolicyEqualMajor(value);
390
+ if (check38(value))
391
+ return orderPolicyInText(value);
392
+ if (check43(value))
393
+ return orderPolicyInMajor(value);
394
+ if (check48(value))
395
+ return orderPolicyVersionAtLeast(value);
396
+ if (check52(value))
397
+ return orderPolicyPercent(value);
398
+ throw new TypeError('Invalid closed union');
399
+ }
400
+ function orderPolicyToolCallsRule(value) {
401
+ const out = {};
402
+ out["ruleId"] = value["ruleId"];
403
+ out["key"] = value["key"];
404
+ out["value"] = value["value"];
405
+ out["scope"] = value["scope"];
406
+ out["target"] = orderPolicyTarget(value["target"]);
407
+ out["priority"] = value["priority"];
408
+ if (value["effectiveAt"] !== undefined)
409
+ out["effectiveAt"] = value["effectiveAt"];
410
+ if (value["expiresAt"] !== undefined)
411
+ out["expiresAt"] = value["expiresAt"];
412
+ return out;
413
+ }
414
+ function orderPolicyTraceBufferRule(value) {
415
+ const out = {};
416
+ out["ruleId"] = value["ruleId"];
417
+ out["key"] = value["key"];
418
+ out["value"] = value["value"];
419
+ out["scope"] = value["scope"];
420
+ out["target"] = orderPolicyTarget(value["target"]);
421
+ out["priority"] = value["priority"];
422
+ if (value["effectiveAt"] !== undefined)
423
+ out["effectiveAt"] = value["effectiveAt"];
424
+ if (value["expiresAt"] !== undefined)
425
+ out["expiresAt"] = value["expiresAt"];
426
+ return out;
427
+ }
428
+ function orderPolicyTraceSampleRule(value) {
429
+ const out = {};
430
+ out["ruleId"] = value["ruleId"];
431
+ out["key"] = value["key"];
432
+ out["value"] = value["value"];
433
+ out["scope"] = value["scope"];
434
+ out["target"] = orderPolicyTarget(value["target"]);
435
+ out["priority"] = value["priority"];
436
+ if (value["effectiveAt"] !== undefined)
437
+ out["effectiveAt"] = value["effectiveAt"];
438
+ if (value["expiresAt"] !== undefined)
439
+ out["expiresAt"] = value["expiresAt"];
440
+ return out;
441
+ }
442
+ function orderPolicyVariant(value) {
443
+ const out = {};
444
+ out["variantId"] = value["variantId"];
445
+ out["allocation"] = value["allocation"];
446
+ out["values"] = orderPolicyPresentation(value["values"]);
447
+ return out;
448
+ }
449
+ function orderPolicyVersionAtLeast(value) {
450
+ const out = {};
451
+ out["op"] = value["op"];
452
+ out["field"] = value["field"];
453
+ out["version"] = value["version"];
454
+ return out;
455
+ }
456
+ function check0(value, depth = 0) {
457
+ if (depth >= 128)
458
+ return false;
459
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
460
+ return false;
461
+ const object = value;
462
+ for (const key of Object.keys(object)) {
463
+ switch (key) {
464
+ case "schemaVersion":
465
+ if (!check1(object[key], depth + 1))
466
+ return false;
467
+ break;
468
+ case "version":
469
+ if (!check2(object[key], depth + 1))
470
+ return false;
471
+ break;
472
+ case "parentVersion":
473
+ if (!check3(object[key], depth + 1))
474
+ return false;
475
+ break;
476
+ case "issuedAt":
477
+ if (!check4(object[key], depth + 1))
478
+ return false;
479
+ break;
480
+ case "expiresAt":
481
+ if (!check5(object[key], depth + 1))
482
+ return false;
483
+ break;
484
+ case "rules":
485
+ if (!check6(object[key], depth + 1))
486
+ return false;
487
+ break;
488
+ case "experiments":
489
+ if (!check185(object[key], depth + 1))
490
+ return false;
491
+ break;
492
+ case "reason":
493
+ if (!check206(object[key], depth + 1))
494
+ return false;
495
+ break;
496
+ default: return false;
497
+ }
498
+ }
499
+ if (!Object.prototype.hasOwnProperty.call(object, "schemaVersion"))
500
+ return false;
501
+ if (!Object.prototype.hasOwnProperty.call(object, "version"))
502
+ return false;
503
+ if (!Object.prototype.hasOwnProperty.call(object, "issuedAt"))
504
+ return false;
505
+ if (!Object.prototype.hasOwnProperty.call(object, "expiresAt"))
506
+ return false;
507
+ if (!Object.prototype.hasOwnProperty.call(object, "rules"))
508
+ return false;
509
+ if (!Object.prototype.hasOwnProperty.call(object, "experiments"))
510
+ return false;
511
+ if (!Object.prototype.hasOwnProperty.call(object, "reason"))
512
+ return false;
513
+ if (!policyBody(value))
514
+ return false;
515
+ return true;
516
+ }
517
+ function check1(value, depth = 0) {
518
+ if (depth >= 128)
519
+ return false;
520
+ if (typeof value !== 'string' || !validText(value))
521
+ return false;
522
+ if (value !== "policy.body.v1")
523
+ return false;
524
+ return true;
525
+ }
526
+ function check2(value, depth = 0) {
527
+ if (depth >= 128)
528
+ return false;
529
+ if (typeof value !== 'string' || !validText(value))
530
+ return false;
531
+ if ([...value].length < 1)
532
+ return false;
533
+ if ([...value].length > 128)
534
+ return false;
535
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
536
+ return false;
537
+ return true;
538
+ }
539
+ function check3(value, depth = 0) {
540
+ if (depth >= 128)
541
+ return false;
542
+ if (typeof value !== 'string' || !validText(value))
543
+ return false;
544
+ if ([...value].length < 1)
545
+ return false;
546
+ if ([...value].length > 128)
547
+ return false;
548
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
549
+ return false;
550
+ return true;
551
+ }
552
+ function check4(value, depth = 0) {
553
+ if (depth >= 128)
554
+ return false;
555
+ if (typeof value !== 'string' || !validText(value))
556
+ return false;
557
+ if ([...value].length < 1)
558
+ return false;
559
+ if ([...value].length > 32)
560
+ return false;
561
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
562
+ return false;
563
+ return true;
564
+ }
565
+ function check5(value, depth = 0) {
566
+ if (depth >= 128)
567
+ return false;
568
+ if (typeof value !== 'string' || !validText(value))
569
+ return false;
570
+ if ([...value].length < 1)
571
+ return false;
572
+ if ([...value].length > 32)
573
+ return false;
574
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
575
+ return false;
576
+ return true;
577
+ }
578
+ function check6(value, depth = 0) {
579
+ if (depth >= 128)
580
+ return false;
581
+ if (!Array.isArray(value))
582
+ return false;
583
+ if (value.length < 0)
584
+ return false;
585
+ if (value.length > 1000)
586
+ return false;
587
+ if (!value.every(item => check7(item, depth + 1)))
588
+ return false;
589
+ return true;
590
+ }
591
+ function check7(value, depth = 0) {
592
+ if (depth >= 128)
593
+ return false;
594
+ if ((check8(value, depth + 1) ? 1 : 0) + (check60(value, depth + 1) ? 1 : 0) + (check73(value, depth + 1) ? 1 : 0) + (check84(value, depth + 1) ? 1 : 0) + (check97(value, depth + 1) ? 1 : 0) + (check105(value, depth + 1) ? 1 : 0) + (check113(value, depth + 1) ? 1 : 0) + (check121(value, depth + 1) ? 1 : 0) + (check129(value, depth + 1) ? 1 : 0) + (check137(value, depth + 1) ? 1 : 0) + (check145(value, depth + 1) ? 1 : 0) + (check153(value, depth + 1) ? 1 : 0) + (check161(value, depth + 1) ? 1 : 0) + (check169(value, depth + 1) ? 1 : 0) + (check177(value, depth + 1) ? 1 : 0) !== 1)
595
+ return false;
596
+ return true;
597
+ }
598
+ function check8(value, depth = 0) {
599
+ if (depth >= 128)
600
+ return false;
601
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
602
+ return false;
603
+ const object = value;
604
+ for (const key of Object.keys(object)) {
605
+ switch (key) {
606
+ case "ruleId":
607
+ if (!check9(object[key], depth + 1))
608
+ return false;
609
+ break;
610
+ case "key":
611
+ if (!check10(object[key], depth + 1))
612
+ return false;
613
+ break;
614
+ case "value":
615
+ if (!check11(object[key], depth + 1))
616
+ return false;
617
+ break;
618
+ case "scope":
619
+ if (!check18(object[key], depth + 1))
620
+ return false;
621
+ break;
622
+ case "target":
623
+ if (!check19(object[key], depth + 1))
624
+ return false;
625
+ break;
626
+ case "priority":
627
+ if (!check57(object[key], depth + 1))
628
+ return false;
629
+ break;
630
+ case "effectiveAt":
631
+ if (!check58(object[key], depth + 1))
632
+ return false;
633
+ break;
634
+ case "expiresAt":
635
+ if (!check59(object[key], depth + 1))
636
+ return false;
637
+ break;
638
+ default: return false;
639
+ }
640
+ }
641
+ if (!Object.prototype.hasOwnProperty.call(object, "ruleId"))
642
+ return false;
643
+ if (!Object.prototype.hasOwnProperty.call(object, "key"))
644
+ return false;
645
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
646
+ return false;
647
+ if (!Object.prototype.hasOwnProperty.call(object, "scope"))
648
+ return false;
649
+ if (!Object.prototype.hasOwnProperty.call(object, "target"))
650
+ return false;
651
+ if (!Object.prototype.hasOwnProperty.call(object, "priority"))
652
+ return false;
653
+ return true;
654
+ }
655
+ function check9(value, depth = 0) {
656
+ if (depth >= 128)
657
+ return false;
658
+ if (typeof value !== 'string' || !validText(value))
659
+ return false;
660
+ if ([...value].length < 1)
661
+ return false;
662
+ if ([...value].length > 128)
663
+ return false;
664
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
665
+ return false;
666
+ return true;
667
+ }
668
+ function check10(value, depth = 0) {
669
+ if (depth >= 128)
670
+ return false;
671
+ if (typeof value !== 'string' || !validText(value))
672
+ return false;
673
+ if (value !== "cloud.ai.stop" && value !== "cloud.tools.stop" && value !== "cloud.upload.stop" && value !== "cloud.sync.stop")
674
+ return false;
675
+ return true;
676
+ }
677
+ function check11(value, depth = 0) {
678
+ if (depth >= 128)
679
+ return false;
680
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
681
+ return false;
682
+ const object = value;
683
+ for (const key of Object.keys(object)) {
684
+ switch (key) {
685
+ case "mode":
686
+ if (!check12(object[key], depth + 1))
687
+ return false;
688
+ break;
689
+ case "reason":
690
+ if (!check13(object[key], depth + 1))
691
+ return false;
692
+ break;
693
+ case "effectiveAt":
694
+ if (!check14(object[key], depth + 1))
695
+ return false;
696
+ break;
697
+ case "until":
698
+ if (!check15(object[key], depth + 1))
699
+ return false;
700
+ break;
701
+ case "capabilities":
702
+ if (!check16(object[key], depth + 1))
703
+ return false;
704
+ break;
705
+ default: return false;
706
+ }
707
+ }
708
+ if (!Object.prototype.hasOwnProperty.call(object, "mode"))
709
+ return false;
710
+ if (!Object.prototype.hasOwnProperty.call(object, "reason"))
711
+ return false;
712
+ if (!Object.prototype.hasOwnProperty.call(object, "effectiveAt"))
713
+ return false;
714
+ if (!Object.prototype.hasOwnProperty.call(object, "until"))
715
+ return false;
716
+ return true;
717
+ }
718
+ function check12(value, depth = 0) {
719
+ if (depth >= 128)
720
+ return false;
721
+ if (typeof value !== 'string' || !validText(value))
722
+ return false;
723
+ if (value !== "BlockNew" && value !== "DrainExisting" && value !== "StopAtSafePoint" && value !== "ReadOnly")
724
+ return false;
725
+ return true;
726
+ }
727
+ function check13(value, depth = 0) {
728
+ if (depth >= 128)
729
+ return false;
730
+ if (typeof value !== 'string' || !validText(value))
731
+ return false;
732
+ if ([...value].length < 1)
733
+ return false;
734
+ if ([...value].length > 2048)
735
+ return false;
736
+ return true;
737
+ }
738
+ function check14(value, depth = 0) {
739
+ if (depth >= 128)
740
+ return false;
741
+ if (typeof value !== 'string' || !validText(value))
742
+ return false;
743
+ if ([...value].length < 1)
744
+ return false;
745
+ if ([...value].length > 32)
746
+ return false;
747
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
748
+ return false;
749
+ return true;
750
+ }
751
+ function check15(value, depth = 0) {
752
+ if (depth >= 128)
753
+ return false;
754
+ if (typeof value !== 'string' || !validText(value))
755
+ return false;
756
+ if ([...value].length < 1)
757
+ return false;
758
+ if ([...value].length > 32)
759
+ return false;
760
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
761
+ return false;
762
+ return true;
763
+ }
764
+ function check16(value, depth = 0) {
765
+ if (depth >= 128)
766
+ return false;
767
+ if (!Array.isArray(value))
768
+ return false;
769
+ if (value.length < 0)
770
+ return false;
771
+ if (value.length > 256)
772
+ return false;
773
+ if (!value.every(item => check17(item, depth + 1)))
774
+ return false;
775
+ return true;
776
+ }
777
+ function check17(value, depth = 0) {
778
+ if (depth >= 128)
779
+ return false;
780
+ if (typeof value !== 'string' || !validText(value))
781
+ return false;
782
+ if ([...value].length < 1)
783
+ return false;
784
+ if ([...value].length > 128)
785
+ return false;
786
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
787
+ return false;
788
+ return true;
789
+ }
790
+ function check18(value, depth = 0) {
791
+ if (depth >= 128)
792
+ return false;
793
+ if (typeof value !== 'string' || !validText(value))
794
+ return false;
795
+ if (value !== "realm" && value !== "workspace")
796
+ return false;
797
+ return true;
798
+ }
799
+ function check19(value, depth = 0) {
800
+ if (depth >= 128)
801
+ return false;
802
+ if ((check20(value, depth + 1) ? 1 : 0) + (check21(value, depth + 1) ? 1 : 0) + (check25(value, depth + 1) ? 1 : 0) + (check28(value, depth + 1) ? 1 : 0) + (check30(value, depth + 1) ? 1 : 0) + (check34(value, depth + 1) ? 1 : 0) + (check38(value, depth + 1) ? 1 : 0) + (check43(value, depth + 1) ? 1 : 0) + (check48(value, depth + 1) ? 1 : 0) + (check52(value, depth + 1) ? 1 : 0) !== 1)
803
+ return false;
804
+ return true;
805
+ }
806
+ function check20(value, depth = 0) {
807
+ if (depth >= 128)
808
+ return false;
809
+ if (typeof value !== 'string' || !validText(value))
810
+ return false;
811
+ if ([...value].length < 1)
812
+ return false;
813
+ if ([...value].length > 36)
814
+ return false;
815
+ if ((new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$", 'u')).exec(value)?.[0] !== value)
816
+ return false;
817
+ if (value === '00000000-0000-0000-0000-000000000000')
818
+ return false;
819
+ return true;
820
+ }
821
+ function check21(value, depth = 0) {
822
+ if (depth >= 128)
823
+ return false;
824
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
825
+ return false;
826
+ const object = value;
827
+ for (const key of Object.keys(object)) {
828
+ switch (key) {
829
+ case "op":
830
+ if (!check22(object[key], depth + 1))
831
+ return false;
832
+ break;
833
+ case "terms":
834
+ if (!check23(object[key], depth + 1))
835
+ return false;
836
+ break;
837
+ default: return false;
838
+ }
839
+ }
840
+ if (!Object.prototype.hasOwnProperty.call(object, "op"))
841
+ return false;
842
+ if (!Object.prototype.hasOwnProperty.call(object, "terms"))
843
+ return false;
844
+ return true;
845
+ }
846
+ function check22(value, depth = 0) {
847
+ if (depth >= 128)
848
+ return false;
849
+ if (typeof value !== 'string' || !validText(value))
850
+ return false;
851
+ if (value !== "all")
852
+ return false;
853
+ return true;
854
+ }
855
+ function check23(value, depth = 0) {
856
+ if (depth >= 128)
857
+ return false;
858
+ if (!Array.isArray(value))
859
+ return false;
860
+ if (value.length < 1)
861
+ return false;
862
+ if (value.length > 128)
863
+ return false;
864
+ if (!value.every(item => check24(item, depth + 1)))
865
+ return false;
866
+ return true;
867
+ }
868
+ function check24(value, depth = 0) {
869
+ if (depth >= 128)
870
+ return false;
871
+ if ((check21(value, depth + 1) ? 1 : 0) + (check25(value, depth + 1) ? 1 : 0) + (check28(value, depth + 1) ? 1 : 0) + (check30(value, depth + 1) ? 1 : 0) + (check34(value, depth + 1) ? 1 : 0) + (check38(value, depth + 1) ? 1 : 0) + (check43(value, depth + 1) ? 1 : 0) + (check48(value, depth + 1) ? 1 : 0) + (check52(value, depth + 1) ? 1 : 0) !== 1)
872
+ return false;
873
+ return true;
874
+ }
875
+ function check25(value, depth = 0) {
876
+ if (depth >= 128)
877
+ return false;
878
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
879
+ return false;
880
+ const object = value;
881
+ for (const key of Object.keys(object)) {
882
+ switch (key) {
883
+ case "op":
884
+ if (!check26(object[key], depth + 1))
885
+ return false;
886
+ break;
887
+ case "terms":
888
+ if (!check27(object[key], depth + 1))
889
+ return false;
890
+ break;
891
+ default: return false;
892
+ }
893
+ }
894
+ if (!Object.prototype.hasOwnProperty.call(object, "op"))
895
+ return false;
896
+ if (!Object.prototype.hasOwnProperty.call(object, "terms"))
897
+ return false;
898
+ return true;
899
+ }
900
+ function check26(value, depth = 0) {
901
+ if (depth >= 128)
902
+ return false;
903
+ if (typeof value !== 'string' || !validText(value))
904
+ return false;
905
+ if (value !== "any")
906
+ return false;
907
+ return true;
908
+ }
909
+ function check27(value, depth = 0) {
910
+ if (depth >= 128)
911
+ return false;
912
+ if (!Array.isArray(value))
913
+ return false;
914
+ if (value.length < 1)
915
+ return false;
916
+ if (value.length > 128)
917
+ return false;
918
+ if (!value.every(item => check24(item, depth + 1)))
919
+ return false;
920
+ return true;
921
+ }
922
+ function check28(value, depth = 0) {
923
+ if (depth >= 128)
924
+ return false;
925
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
926
+ return false;
927
+ const object = value;
928
+ for (const key of Object.keys(object)) {
929
+ switch (key) {
930
+ case "op":
931
+ if (!check29(object[key], depth + 1))
932
+ return false;
933
+ break;
934
+ case "term":
935
+ if (!check24(object[key], depth + 1))
936
+ return false;
937
+ break;
938
+ default: return false;
939
+ }
940
+ }
941
+ if (!Object.prototype.hasOwnProperty.call(object, "op"))
942
+ return false;
943
+ if (!Object.prototype.hasOwnProperty.call(object, "term"))
944
+ return false;
945
+ return true;
946
+ }
947
+ function check29(value, depth = 0) {
948
+ if (depth >= 128)
949
+ return false;
950
+ if (typeof value !== 'string' || !validText(value))
951
+ return false;
952
+ if (value !== "not")
953
+ return false;
954
+ return true;
955
+ }
956
+ function check30(value, depth = 0) {
957
+ if (depth >= 128)
958
+ return false;
959
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
960
+ return false;
961
+ const object = value;
962
+ for (const key of Object.keys(object)) {
963
+ switch (key) {
964
+ case "op":
965
+ if (!check31(object[key], depth + 1))
966
+ return false;
967
+ break;
968
+ case "field":
969
+ if (!check32(object[key], depth + 1))
970
+ return false;
971
+ break;
972
+ case "value":
973
+ if (!check33(object[key], depth + 1))
974
+ return false;
975
+ break;
976
+ default: return false;
977
+ }
978
+ }
979
+ if (!Object.prototype.hasOwnProperty.call(object, "op"))
980
+ return false;
981
+ if (!Object.prototype.hasOwnProperty.call(object, "field"))
982
+ return false;
983
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
984
+ return false;
985
+ return true;
986
+ }
987
+ function check31(value, depth = 0) {
988
+ if (depth >= 128)
989
+ return false;
990
+ if (typeof value !== 'string' || !validText(value))
991
+ return false;
992
+ if (value !== "equal")
993
+ return false;
994
+ return true;
995
+ }
996
+ function check32(value, depth = 0) {
997
+ if (depth >= 128)
998
+ return false;
999
+ if (typeof value !== 'string' || !validText(value))
1000
+ return false;
1001
+ if (value !== "realmId" && value !== "workspaceId" && value !== "userId" && value !== "installationId" && value !== "product" && value !== "platform" && value !== "appVersion")
1002
+ return false;
1003
+ return true;
1004
+ }
1005
+ function check33(value, depth = 0) {
1006
+ if (depth >= 128)
1007
+ return false;
1008
+ if (typeof value !== 'string' || !validText(value))
1009
+ return false;
1010
+ if ([...value].length < 1)
1011
+ return false;
1012
+ if ([...value].length > 128)
1013
+ return false;
1014
+ return true;
1015
+ }
1016
+ function check34(value, depth = 0) {
1017
+ if (depth >= 128)
1018
+ return false;
1019
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
1020
+ return false;
1021
+ const object = value;
1022
+ for (const key of Object.keys(object)) {
1023
+ switch (key) {
1024
+ case "op":
1025
+ if (!check35(object[key], depth + 1))
1026
+ return false;
1027
+ break;
1028
+ case "field":
1029
+ if (!check36(object[key], depth + 1))
1030
+ return false;
1031
+ break;
1032
+ case "value":
1033
+ if (!check37(object[key], depth + 1))
1034
+ return false;
1035
+ break;
1036
+ default: return false;
1037
+ }
1038
+ }
1039
+ if (!Object.prototype.hasOwnProperty.call(object, "op"))
1040
+ return false;
1041
+ if (!Object.prototype.hasOwnProperty.call(object, "field"))
1042
+ return false;
1043
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
1044
+ return false;
1045
+ return true;
1046
+ }
1047
+ function check35(value, depth = 0) {
1048
+ if (depth >= 128)
1049
+ return false;
1050
+ if (typeof value !== 'string' || !validText(value))
1051
+ return false;
1052
+ if (value !== "equal")
1053
+ return false;
1054
+ return true;
1055
+ }
1056
+ function check36(value, depth = 0) {
1057
+ if (depth >= 128)
1058
+ return false;
1059
+ if (typeof value !== 'string' || !validText(value))
1060
+ return false;
1061
+ if (value !== "contractsMajor")
1062
+ return false;
1063
+ return true;
1064
+ }
1065
+ function check37(value, depth = 0) {
1066
+ if (depth >= 128)
1067
+ return false;
1068
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
1069
+ return false;
1070
+ if (value < 1)
1071
+ return false;
1072
+ if (value > 4294967295)
1073
+ return false;
1074
+ return true;
1075
+ }
1076
+ function check38(value, depth = 0) {
1077
+ if (depth >= 128)
1078
+ return false;
1079
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
1080
+ return false;
1081
+ const object = value;
1082
+ for (const key of Object.keys(object)) {
1083
+ switch (key) {
1084
+ case "op":
1085
+ if (!check39(object[key], depth + 1))
1086
+ return false;
1087
+ break;
1088
+ case "field":
1089
+ if (!check40(object[key], depth + 1))
1090
+ return false;
1091
+ break;
1092
+ case "values":
1093
+ if (!check41(object[key], depth + 1))
1094
+ return false;
1095
+ break;
1096
+ default: return false;
1097
+ }
1098
+ }
1099
+ if (!Object.prototype.hasOwnProperty.call(object, "op"))
1100
+ return false;
1101
+ if (!Object.prototype.hasOwnProperty.call(object, "field"))
1102
+ return false;
1103
+ if (!Object.prototype.hasOwnProperty.call(object, "values"))
1104
+ return false;
1105
+ return true;
1106
+ }
1107
+ function check39(value, depth = 0) {
1108
+ if (depth >= 128)
1109
+ return false;
1110
+ if (typeof value !== 'string' || !validText(value))
1111
+ return false;
1112
+ if (value !== "in")
1113
+ return false;
1114
+ return true;
1115
+ }
1116
+ function check40(value, depth = 0) {
1117
+ if (depth >= 128)
1118
+ return false;
1119
+ if (typeof value !== 'string' || !validText(value))
1120
+ return false;
1121
+ if (value !== "realmId" && value !== "workspaceId" && value !== "userId" && value !== "installationId" && value !== "product" && value !== "platform" && value !== "appVersion")
1122
+ return false;
1123
+ return true;
1124
+ }
1125
+ function check41(value, depth = 0) {
1126
+ if (depth >= 128)
1127
+ return false;
1128
+ if (!Array.isArray(value))
1129
+ return false;
1130
+ if (value.length < 1)
1131
+ return false;
1132
+ if (value.length > 100)
1133
+ return false;
1134
+ if (!value.every(item => check42(item, depth + 1)))
1135
+ return false;
1136
+ return true;
1137
+ }
1138
+ function check42(value, depth = 0) {
1139
+ if (depth >= 128)
1140
+ return false;
1141
+ if (typeof value !== 'string' || !validText(value))
1142
+ return false;
1143
+ if ([...value].length < 1)
1144
+ return false;
1145
+ if ([...value].length > 128)
1146
+ return false;
1147
+ return true;
1148
+ }
1149
+ function check43(value, depth = 0) {
1150
+ if (depth >= 128)
1151
+ return false;
1152
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
1153
+ return false;
1154
+ const object = value;
1155
+ for (const key of Object.keys(object)) {
1156
+ switch (key) {
1157
+ case "op":
1158
+ if (!check44(object[key], depth + 1))
1159
+ return false;
1160
+ break;
1161
+ case "field":
1162
+ if (!check45(object[key], depth + 1))
1163
+ return false;
1164
+ break;
1165
+ case "values":
1166
+ if (!check46(object[key], depth + 1))
1167
+ return false;
1168
+ break;
1169
+ default: return false;
1170
+ }
1171
+ }
1172
+ if (!Object.prototype.hasOwnProperty.call(object, "op"))
1173
+ return false;
1174
+ if (!Object.prototype.hasOwnProperty.call(object, "field"))
1175
+ return false;
1176
+ if (!Object.prototype.hasOwnProperty.call(object, "values"))
1177
+ return false;
1178
+ return true;
1179
+ }
1180
+ function check44(value, depth = 0) {
1181
+ if (depth >= 128)
1182
+ return false;
1183
+ if (typeof value !== 'string' || !validText(value))
1184
+ return false;
1185
+ if (value !== "in")
1186
+ return false;
1187
+ return true;
1188
+ }
1189
+ function check45(value, depth = 0) {
1190
+ if (depth >= 128)
1191
+ return false;
1192
+ if (typeof value !== 'string' || !validText(value))
1193
+ return false;
1194
+ if (value !== "contractsMajor")
1195
+ return false;
1196
+ return true;
1197
+ }
1198
+ function check46(value, depth = 0) {
1199
+ if (depth >= 128)
1200
+ return false;
1201
+ if (!Array.isArray(value))
1202
+ return false;
1203
+ if (value.length < 1)
1204
+ return false;
1205
+ if (value.length > 100)
1206
+ return false;
1207
+ if (!value.every(item => check47(item, depth + 1)))
1208
+ return false;
1209
+ return true;
1210
+ }
1211
+ function check47(value, depth = 0) {
1212
+ if (depth >= 128)
1213
+ return false;
1214
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
1215
+ return false;
1216
+ if (value < 1)
1217
+ return false;
1218
+ if (value > 4294967295)
1219
+ return false;
1220
+ return true;
1221
+ }
1222
+ function check48(value, depth = 0) {
1223
+ if (depth >= 128)
1224
+ return false;
1225
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
1226
+ return false;
1227
+ const object = value;
1228
+ for (const key of Object.keys(object)) {
1229
+ switch (key) {
1230
+ case "op":
1231
+ if (!check49(object[key], depth + 1))
1232
+ return false;
1233
+ break;
1234
+ case "field":
1235
+ if (!check50(object[key], depth + 1))
1236
+ return false;
1237
+ break;
1238
+ case "version":
1239
+ if (!check51(object[key], depth + 1))
1240
+ return false;
1241
+ break;
1242
+ default: return false;
1243
+ }
1244
+ }
1245
+ if (!Object.prototype.hasOwnProperty.call(object, "op"))
1246
+ return false;
1247
+ if (!Object.prototype.hasOwnProperty.call(object, "field"))
1248
+ return false;
1249
+ if (!Object.prototype.hasOwnProperty.call(object, "version"))
1250
+ return false;
1251
+ return true;
1252
+ }
1253
+ function check49(value, depth = 0) {
1254
+ if (depth >= 128)
1255
+ return false;
1256
+ if (typeof value !== 'string' || !validText(value))
1257
+ return false;
1258
+ if (value !== "versionAtLeast")
1259
+ return false;
1260
+ return true;
1261
+ }
1262
+ function check50(value, depth = 0) {
1263
+ if (depth >= 128)
1264
+ return false;
1265
+ if (typeof value !== 'string' || !validText(value))
1266
+ return false;
1267
+ if (value !== "appVersion")
1268
+ return false;
1269
+ return true;
1270
+ }
1271
+ function check51(value, depth = 0) {
1272
+ if (depth >= 128)
1273
+ return false;
1274
+ if (typeof value !== 'string' || !validText(value))
1275
+ return false;
1276
+ if ([...value].length < 1)
1277
+ return false;
1278
+ if ([...value].length > 128)
1279
+ return false;
1280
+ return true;
1281
+ }
1282
+ function check52(value, depth = 0) {
1283
+ if (depth >= 128)
1284
+ return false;
1285
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
1286
+ return false;
1287
+ const object = value;
1288
+ for (const key of Object.keys(object)) {
1289
+ switch (key) {
1290
+ case "op":
1291
+ if (!check53(object[key], depth + 1))
1292
+ return false;
1293
+ break;
1294
+ case "subject":
1295
+ if (!check54(object[key], depth + 1))
1296
+ return false;
1297
+ break;
1298
+ case "salt":
1299
+ if (!check55(object[key], depth + 1))
1300
+ return false;
1301
+ break;
1302
+ case "allocation":
1303
+ if (!check56(object[key], depth + 1))
1304
+ return false;
1305
+ break;
1306
+ default: return false;
1307
+ }
1308
+ }
1309
+ if (!Object.prototype.hasOwnProperty.call(object, "op"))
1310
+ return false;
1311
+ if (!Object.prototype.hasOwnProperty.call(object, "subject"))
1312
+ return false;
1313
+ if (!Object.prototype.hasOwnProperty.call(object, "salt"))
1314
+ return false;
1315
+ if (!Object.prototype.hasOwnProperty.call(object, "allocation"))
1316
+ return false;
1317
+ return true;
1318
+ }
1319
+ function check53(value, depth = 0) {
1320
+ if (depth >= 128)
1321
+ return false;
1322
+ if (typeof value !== 'string' || !validText(value))
1323
+ return false;
1324
+ if (value !== "percent")
1325
+ return false;
1326
+ return true;
1327
+ }
1328
+ function check54(value, depth = 0) {
1329
+ if (depth >= 128)
1330
+ return false;
1331
+ if (typeof value !== 'string' || !validText(value))
1332
+ return false;
1333
+ if (value !== "user" && value !== "workspace" && value !== "installation")
1334
+ return false;
1335
+ return true;
1336
+ }
1337
+ function check55(value, depth = 0) {
1338
+ if (depth >= 128)
1339
+ return false;
1340
+ if (typeof value !== 'string' || !validText(value))
1341
+ return false;
1342
+ if ([...value].length < 1)
1343
+ return false;
1344
+ if ([...value].length > 128)
1345
+ return false;
1346
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
1347
+ return false;
1348
+ return true;
1349
+ }
1350
+ function check56(value, depth = 0) {
1351
+ if (depth >= 128)
1352
+ return false;
1353
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
1354
+ return false;
1355
+ if (value < 0)
1356
+ return false;
1357
+ if (value > 10000)
1358
+ return false;
1359
+ return true;
1360
+ }
1361
+ function check57(value, depth = 0) {
1362
+ if (depth >= 128)
1363
+ return false;
1364
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
1365
+ return false;
1366
+ if (value < 0)
1367
+ return false;
1368
+ if (value > 1000)
1369
+ return false;
1370
+ return true;
1371
+ }
1372
+ function check58(value, depth = 0) {
1373
+ if (depth >= 128)
1374
+ return false;
1375
+ if (typeof value !== 'string' || !validText(value))
1376
+ return false;
1377
+ if ([...value].length < 1)
1378
+ return false;
1379
+ if ([...value].length > 32)
1380
+ return false;
1381
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
1382
+ return false;
1383
+ return true;
1384
+ }
1385
+ function check59(value, depth = 0) {
1386
+ if (depth >= 128)
1387
+ return false;
1388
+ if (typeof value !== 'string' || !validText(value))
1389
+ return false;
1390
+ if ([...value].length < 1)
1391
+ return false;
1392
+ if ([...value].length > 32)
1393
+ return false;
1394
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
1395
+ return false;
1396
+ return true;
1397
+ }
1398
+ function check60(value, depth = 0) {
1399
+ if (depth >= 128)
1400
+ return false;
1401
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
1402
+ return false;
1403
+ const object = value;
1404
+ for (const key of Object.keys(object)) {
1405
+ switch (key) {
1406
+ case "ruleId":
1407
+ if (!check61(object[key], depth + 1))
1408
+ return false;
1409
+ break;
1410
+ case "key":
1411
+ if (!check62(object[key], depth + 1))
1412
+ return false;
1413
+ break;
1414
+ case "value":
1415
+ if (!check63(object[key], depth + 1))
1416
+ return false;
1417
+ break;
1418
+ case "scope":
1419
+ if (!check69(object[key], depth + 1))
1420
+ return false;
1421
+ break;
1422
+ case "target":
1423
+ if (!check19(object[key], depth + 1))
1424
+ return false;
1425
+ break;
1426
+ case "priority":
1427
+ if (!check70(object[key], depth + 1))
1428
+ return false;
1429
+ break;
1430
+ case "effectiveAt":
1431
+ if (!check71(object[key], depth + 1))
1432
+ return false;
1433
+ break;
1434
+ case "expiresAt":
1435
+ if (!check72(object[key], depth + 1))
1436
+ return false;
1437
+ break;
1438
+ default: return false;
1439
+ }
1440
+ }
1441
+ if (!Object.prototype.hasOwnProperty.call(object, "ruleId"))
1442
+ return false;
1443
+ if (!Object.prototype.hasOwnProperty.call(object, "key"))
1444
+ return false;
1445
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
1446
+ return false;
1447
+ if (!Object.prototype.hasOwnProperty.call(object, "scope"))
1448
+ return false;
1449
+ if (!Object.prototype.hasOwnProperty.call(object, "target"))
1450
+ return false;
1451
+ if (!Object.prototype.hasOwnProperty.call(object, "priority"))
1452
+ return false;
1453
+ return true;
1454
+ }
1455
+ function check61(value, depth = 0) {
1456
+ if (depth >= 128)
1457
+ return false;
1458
+ if (typeof value !== 'string' || !validText(value))
1459
+ return false;
1460
+ if ([...value].length < 1)
1461
+ return false;
1462
+ if ([...value].length > 128)
1463
+ return false;
1464
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
1465
+ return false;
1466
+ return true;
1467
+ }
1468
+ function check62(value, depth = 0) {
1469
+ if (depth >= 128)
1470
+ return false;
1471
+ if (typeof value !== 'string' || !validText(value))
1472
+ return false;
1473
+ if (value !== "extension.revokedVersions")
1474
+ return false;
1475
+ return true;
1476
+ }
1477
+ function check63(value, depth = 0) {
1478
+ if (depth >= 128)
1479
+ return false;
1480
+ if (!Array.isArray(value))
1481
+ return false;
1482
+ if (value.length < 0)
1483
+ return false;
1484
+ if (value.length > 1000)
1485
+ return false;
1486
+ if (!value.every(item => check64(item, depth + 1)))
1487
+ return false;
1488
+ return true;
1489
+ }
1490
+ function check64(value, depth = 0) {
1491
+ if (depth >= 128)
1492
+ return false;
1493
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
1494
+ return false;
1495
+ const object = value;
1496
+ for (const key of Object.keys(object)) {
1497
+ switch (key) {
1498
+ case "packageId":
1499
+ if (!check65(object[key], depth + 1))
1500
+ return false;
1501
+ break;
1502
+ case "version":
1503
+ if (!check66(object[key], depth + 1))
1504
+ return false;
1505
+ break;
1506
+ case "hash":
1507
+ if (!check67(object[key], depth + 1))
1508
+ return false;
1509
+ break;
1510
+ case "reason":
1511
+ if (!check68(object[key], depth + 1))
1512
+ return false;
1513
+ break;
1514
+ default: return false;
1515
+ }
1516
+ }
1517
+ if (!Object.prototype.hasOwnProperty.call(object, "packageId"))
1518
+ return false;
1519
+ if (!Object.prototype.hasOwnProperty.call(object, "version"))
1520
+ return false;
1521
+ if (!Object.prototype.hasOwnProperty.call(object, "hash"))
1522
+ return false;
1523
+ if (!Object.prototype.hasOwnProperty.call(object, "reason"))
1524
+ return false;
1525
+ return true;
1526
+ }
1527
+ function check65(value, depth = 0) {
1528
+ if (depth >= 128)
1529
+ return false;
1530
+ if (typeof value !== 'string' || !validText(value))
1531
+ return false;
1532
+ if ([...value].length < 1)
1533
+ return false;
1534
+ if ([...value].length > 128)
1535
+ return false;
1536
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._-]*$", 'u')).exec(value)?.[0] !== value)
1537
+ return false;
1538
+ return true;
1539
+ }
1540
+ function check66(value, depth = 0) {
1541
+ if (depth >= 128)
1542
+ return false;
1543
+ if (typeof value !== 'string' || !validText(value))
1544
+ return false;
1545
+ if ([...value].length < 1)
1546
+ return false;
1547
+ if ([...value].length > 128)
1548
+ return false;
1549
+ if ((new RegExp("^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(\\.(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*))?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$", 'u')).exec(value)?.[0] !== value)
1550
+ return false;
1551
+ return true;
1552
+ }
1553
+ function check67(value, depth = 0) {
1554
+ if (depth >= 128)
1555
+ return false;
1556
+ if (typeof value !== 'string' || !validText(value))
1557
+ return false;
1558
+ if ([...value].length < 1)
1559
+ return false;
1560
+ if ([...value].length > 64)
1561
+ return false;
1562
+ if ((new RegExp("^[0-9a-f]{64}$", 'u')).exec(value)?.[0] !== value)
1563
+ return false;
1564
+ return true;
1565
+ }
1566
+ function check68(value, depth = 0) {
1567
+ if (depth >= 128)
1568
+ return false;
1569
+ if (typeof value !== 'string' || !validText(value))
1570
+ return false;
1571
+ if ([...value].length < 1)
1572
+ return false;
1573
+ if ([...value].length > 2048)
1574
+ return false;
1575
+ return true;
1576
+ }
1577
+ function check69(value, depth = 0) {
1578
+ if (depth >= 128)
1579
+ return false;
1580
+ if (typeof value !== 'string' || !validText(value))
1581
+ return false;
1582
+ if (value !== "realm")
1583
+ return false;
1584
+ return true;
1585
+ }
1586
+ function check70(value, depth = 0) {
1587
+ if (depth >= 128)
1588
+ return false;
1589
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
1590
+ return false;
1591
+ if (value < 0)
1592
+ return false;
1593
+ if (value > 1000)
1594
+ return false;
1595
+ return true;
1596
+ }
1597
+ function check71(value, depth = 0) {
1598
+ if (depth >= 128)
1599
+ return false;
1600
+ if (typeof value !== 'string' || !validText(value))
1601
+ return false;
1602
+ if ([...value].length < 1)
1603
+ return false;
1604
+ if ([...value].length > 32)
1605
+ return false;
1606
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
1607
+ return false;
1608
+ return true;
1609
+ }
1610
+ function check72(value, depth = 0) {
1611
+ if (depth >= 128)
1612
+ return false;
1613
+ if (typeof value !== 'string' || !validText(value))
1614
+ return false;
1615
+ if ([...value].length < 1)
1616
+ return false;
1617
+ if ([...value].length > 32)
1618
+ return false;
1619
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
1620
+ return false;
1621
+ return true;
1622
+ }
1623
+ function check73(value, depth = 0) {
1624
+ if (depth >= 128)
1625
+ return false;
1626
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
1627
+ return false;
1628
+ const object = value;
1629
+ for (const key of Object.keys(object)) {
1630
+ switch (key) {
1631
+ case "ruleId":
1632
+ if (!check74(object[key], depth + 1))
1633
+ return false;
1634
+ break;
1635
+ case "key":
1636
+ if (!check75(object[key], depth + 1))
1637
+ return false;
1638
+ break;
1639
+ case "value":
1640
+ if (!check76(object[key], depth + 1))
1641
+ return false;
1642
+ break;
1643
+ case "scope":
1644
+ if (!check80(object[key], depth + 1))
1645
+ return false;
1646
+ break;
1647
+ case "target":
1648
+ if (!check19(object[key], depth + 1))
1649
+ return false;
1650
+ break;
1651
+ case "priority":
1652
+ if (!check81(object[key], depth + 1))
1653
+ return false;
1654
+ break;
1655
+ case "effectiveAt":
1656
+ if (!check82(object[key], depth + 1))
1657
+ return false;
1658
+ break;
1659
+ case "expiresAt":
1660
+ if (!check83(object[key], depth + 1))
1661
+ return false;
1662
+ break;
1663
+ default: return false;
1664
+ }
1665
+ }
1666
+ if (!Object.prototype.hasOwnProperty.call(object, "ruleId"))
1667
+ return false;
1668
+ if (!Object.prototype.hasOwnProperty.call(object, "key"))
1669
+ return false;
1670
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
1671
+ return false;
1672
+ if (!Object.prototype.hasOwnProperty.call(object, "scope"))
1673
+ return false;
1674
+ if (!Object.prototype.hasOwnProperty.call(object, "target"))
1675
+ return false;
1676
+ if (!Object.prototype.hasOwnProperty.call(object, "priority"))
1677
+ return false;
1678
+ return true;
1679
+ }
1680
+ function check74(value, depth = 0) {
1681
+ if (depth >= 128)
1682
+ return false;
1683
+ if (typeof value !== 'string' || !validText(value))
1684
+ return false;
1685
+ if ([...value].length < 1)
1686
+ return false;
1687
+ if ([...value].length > 128)
1688
+ return false;
1689
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
1690
+ return false;
1691
+ return true;
1692
+ }
1693
+ function check75(value, depth = 0) {
1694
+ if (depth >= 128)
1695
+ return false;
1696
+ if (typeof value !== 'string' || !validText(value))
1697
+ return false;
1698
+ if (value !== "client.minimumContracts")
1699
+ return false;
1700
+ return true;
1701
+ }
1702
+ function check76(value, depth = 0) {
1703
+ if (depth >= 128)
1704
+ return false;
1705
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
1706
+ return false;
1707
+ const object = value;
1708
+ for (const key of Object.keys(object)) {
1709
+ switch (key) {
1710
+ case "publicMajor":
1711
+ if (!check77(object[key], depth + 1))
1712
+ return false;
1713
+ break;
1714
+ case "localMajor":
1715
+ if (!check78(object[key], depth + 1))
1716
+ return false;
1717
+ break;
1718
+ case "minimumRelease":
1719
+ if (!check79(object[key], depth + 1))
1720
+ return false;
1721
+ break;
1722
+ default: return false;
1723
+ }
1724
+ }
1725
+ if (!Object.prototype.hasOwnProperty.call(object, "publicMajor"))
1726
+ return false;
1727
+ if (!Object.prototype.hasOwnProperty.call(object, "localMajor"))
1728
+ return false;
1729
+ if (!Object.prototype.hasOwnProperty.call(object, "minimumRelease"))
1730
+ return false;
1731
+ return true;
1732
+ }
1733
+ function check77(value, depth = 0) {
1734
+ if (depth >= 128)
1735
+ return false;
1736
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
1737
+ return false;
1738
+ if (value < 1)
1739
+ return false;
1740
+ if (value > 4294967295)
1741
+ return false;
1742
+ return true;
1743
+ }
1744
+ function check78(value, depth = 0) {
1745
+ if (depth >= 128)
1746
+ return false;
1747
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
1748
+ return false;
1749
+ if (value < 1)
1750
+ return false;
1751
+ if (value > 4294967295)
1752
+ return false;
1753
+ return true;
1754
+ }
1755
+ function check79(value, depth = 0) {
1756
+ if (depth >= 128)
1757
+ return false;
1758
+ if (typeof value !== 'string' || !validText(value))
1759
+ return false;
1760
+ if ([...value].length < 1)
1761
+ return false;
1762
+ if ([...value].length > 128)
1763
+ return false;
1764
+ if ((new RegExp("^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(\\.(0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*))?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$", 'u')).exec(value)?.[0] !== value)
1765
+ return false;
1766
+ return true;
1767
+ }
1768
+ function check80(value, depth = 0) {
1769
+ if (depth >= 128)
1770
+ return false;
1771
+ if (typeof value !== 'string' || !validText(value))
1772
+ return false;
1773
+ if (value !== "realm")
1774
+ return false;
1775
+ return true;
1776
+ }
1777
+ function check81(value, depth = 0) {
1778
+ if (depth >= 128)
1779
+ return false;
1780
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
1781
+ return false;
1782
+ if (value < 0)
1783
+ return false;
1784
+ if (value > 1000)
1785
+ return false;
1786
+ return true;
1787
+ }
1788
+ function check82(value, depth = 0) {
1789
+ if (depth >= 128)
1790
+ return false;
1791
+ if (typeof value !== 'string' || !validText(value))
1792
+ return false;
1793
+ if ([...value].length < 1)
1794
+ return false;
1795
+ if ([...value].length > 32)
1796
+ return false;
1797
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
1798
+ return false;
1799
+ return true;
1800
+ }
1801
+ function check83(value, depth = 0) {
1802
+ if (depth >= 128)
1803
+ return false;
1804
+ if (typeof value !== 'string' || !validText(value))
1805
+ return false;
1806
+ if ([...value].length < 1)
1807
+ return false;
1808
+ if ([...value].length > 32)
1809
+ return false;
1810
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
1811
+ return false;
1812
+ return true;
1813
+ }
1814
+ function check84(value, depth = 0) {
1815
+ if (depth >= 128)
1816
+ return false;
1817
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
1818
+ return false;
1819
+ const object = value;
1820
+ for (const key of Object.keys(object)) {
1821
+ switch (key) {
1822
+ case "ruleId":
1823
+ if (!check85(object[key], depth + 1))
1824
+ return false;
1825
+ break;
1826
+ case "key":
1827
+ if (!check86(object[key], depth + 1))
1828
+ return false;
1829
+ break;
1830
+ case "value":
1831
+ if (!check87(object[key], depth + 1))
1832
+ return false;
1833
+ break;
1834
+ case "scope":
1835
+ if (!check93(object[key], depth + 1))
1836
+ return false;
1837
+ break;
1838
+ case "target":
1839
+ if (!check19(object[key], depth + 1))
1840
+ return false;
1841
+ break;
1842
+ case "priority":
1843
+ if (!check94(object[key], depth + 1))
1844
+ return false;
1845
+ break;
1846
+ case "effectiveAt":
1847
+ if (!check95(object[key], depth + 1))
1848
+ return false;
1849
+ break;
1850
+ case "expiresAt":
1851
+ if (!check96(object[key], depth + 1))
1852
+ return false;
1853
+ break;
1854
+ default: return false;
1855
+ }
1856
+ }
1857
+ if (!Object.prototype.hasOwnProperty.call(object, "ruleId"))
1858
+ return false;
1859
+ if (!Object.prototype.hasOwnProperty.call(object, "key"))
1860
+ return false;
1861
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
1862
+ return false;
1863
+ if (!Object.prototype.hasOwnProperty.call(object, "scope"))
1864
+ return false;
1865
+ if (!Object.prototype.hasOwnProperty.call(object, "target"))
1866
+ return false;
1867
+ if (!Object.prototype.hasOwnProperty.call(object, "priority"))
1868
+ return false;
1869
+ return true;
1870
+ }
1871
+ function check85(value, depth = 0) {
1872
+ if (depth >= 128)
1873
+ return false;
1874
+ if (typeof value !== 'string' || !validText(value))
1875
+ return false;
1876
+ if ([...value].length < 1)
1877
+ return false;
1878
+ if ([...value].length > 128)
1879
+ return false;
1880
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
1881
+ return false;
1882
+ return true;
1883
+ }
1884
+ function check86(value, depth = 0) {
1885
+ if (depth >= 128)
1886
+ return false;
1887
+ if (typeof value !== 'string' || !validText(value))
1888
+ return false;
1889
+ if (value !== "client.minimumApp")
1890
+ return false;
1891
+ return true;
1892
+ }
1893
+ function check87(value, depth = 0) {
1894
+ if (depth >= 128)
1895
+ return false;
1896
+ if (!Array.isArray(value))
1897
+ return false;
1898
+ if (value.length < 1)
1899
+ return false;
1900
+ if (value.length > 32)
1901
+ return false;
1902
+ if (!value.every(item => check88(item, depth + 1)))
1903
+ return false;
1904
+ return true;
1905
+ }
1906
+ function check88(value, depth = 0) {
1907
+ if (depth >= 128)
1908
+ return false;
1909
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
1910
+ return false;
1911
+ const object = value;
1912
+ for (const key of Object.keys(object)) {
1913
+ switch (key) {
1914
+ case "product":
1915
+ if (!check89(object[key], depth + 1))
1916
+ return false;
1917
+ break;
1918
+ case "platform":
1919
+ if (!check90(object[key], depth + 1))
1920
+ return false;
1921
+ break;
1922
+ case "minimumVersionName":
1923
+ if (!check91(object[key], depth + 1))
1924
+ return false;
1925
+ break;
1926
+ case "minimumVersionCode":
1927
+ if (!check92(object[key], depth + 1))
1928
+ return false;
1929
+ break;
1930
+ default: return false;
1931
+ }
1932
+ }
1933
+ if (!Object.prototype.hasOwnProperty.call(object, "product"))
1934
+ return false;
1935
+ if (!Object.prototype.hasOwnProperty.call(object, "platform"))
1936
+ return false;
1937
+ if (!Object.prototype.hasOwnProperty.call(object, "minimumVersionName"))
1938
+ return false;
1939
+ return true;
1940
+ }
1941
+ function check89(value, depth = 0) {
1942
+ if (depth >= 128)
1943
+ return false;
1944
+ if (typeof value !== 'string' || !validText(value))
1945
+ return false;
1946
+ if ([...value].length < 1)
1947
+ return false;
1948
+ if ([...value].length > 128)
1949
+ return false;
1950
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
1951
+ return false;
1952
+ return true;
1953
+ }
1954
+ function check90(value, depth = 0) {
1955
+ if (depth >= 128)
1956
+ return false;
1957
+ if (typeof value !== 'string' || !validText(value))
1958
+ return false;
1959
+ if ([...value].length < 1)
1960
+ return false;
1961
+ if ([...value].length > 128)
1962
+ return false;
1963
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
1964
+ return false;
1965
+ return true;
1966
+ }
1967
+ function check91(value, depth = 0) {
1968
+ if (depth >= 128)
1969
+ return false;
1970
+ if (typeof value !== 'string' || !validText(value))
1971
+ return false;
1972
+ if ([...value].length < 1)
1973
+ return false;
1974
+ if ([...value].length > 128)
1975
+ return false;
1976
+ return true;
1977
+ }
1978
+ function check92(value, depth = 0) {
1979
+ if (depth >= 128)
1980
+ return false;
1981
+ if (typeof value !== 'string' || !validText(value))
1982
+ return false;
1983
+ if ([...value].length < 1)
1984
+ return false;
1985
+ if ([...value].length > 20)
1986
+ return false;
1987
+ if ((new RegExp("^(0|[1-9][0-9]*)$", 'u')).exec(value)?.[0] !== value)
1988
+ return false;
1989
+ if (BigInt(value) > 18446744073709551615n)
1990
+ return false;
1991
+ return true;
1992
+ }
1993
+ function check93(value, depth = 0) {
1994
+ if (depth >= 128)
1995
+ return false;
1996
+ if (typeof value !== 'string' || !validText(value))
1997
+ return false;
1998
+ if (value !== "realm")
1999
+ return false;
2000
+ return true;
2001
+ }
2002
+ function check94(value, depth = 0) {
2003
+ if (depth >= 128)
2004
+ return false;
2005
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
2006
+ return false;
2007
+ if (value < 0)
2008
+ return false;
2009
+ if (value > 1000)
2010
+ return false;
2011
+ return true;
2012
+ }
2013
+ function check95(value, depth = 0) {
2014
+ if (depth >= 128)
2015
+ return false;
2016
+ if (typeof value !== 'string' || !validText(value))
2017
+ return false;
2018
+ if ([...value].length < 1)
2019
+ return false;
2020
+ if ([...value].length > 32)
2021
+ return false;
2022
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
2023
+ return false;
2024
+ return true;
2025
+ }
2026
+ function check96(value, depth = 0) {
2027
+ if (depth >= 128)
2028
+ return false;
2029
+ if (typeof value !== 'string' || !validText(value))
2030
+ return false;
2031
+ if ([...value].length < 1)
2032
+ return false;
2033
+ if ([...value].length > 32)
2034
+ return false;
2035
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
2036
+ return false;
2037
+ return true;
2038
+ }
2039
+ function check97(value, depth = 0) {
2040
+ if (depth >= 128)
2041
+ return false;
2042
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
2043
+ return false;
2044
+ const object = value;
2045
+ for (const key of Object.keys(object)) {
2046
+ switch (key) {
2047
+ case "ruleId":
2048
+ if (!check98(object[key], depth + 1))
2049
+ return false;
2050
+ break;
2051
+ case "key":
2052
+ if (!check99(object[key], depth + 1))
2053
+ return false;
2054
+ break;
2055
+ case "value":
2056
+ if (!check100(object[key], depth + 1))
2057
+ return false;
2058
+ break;
2059
+ case "scope":
2060
+ if (!check101(object[key], depth + 1))
2061
+ return false;
2062
+ break;
2063
+ case "target":
2064
+ if (!check19(object[key], depth + 1))
2065
+ return false;
2066
+ break;
2067
+ case "priority":
2068
+ if (!check102(object[key], depth + 1))
2069
+ return false;
2070
+ break;
2071
+ case "effectiveAt":
2072
+ if (!check103(object[key], depth + 1))
2073
+ return false;
2074
+ break;
2075
+ case "expiresAt":
2076
+ if (!check104(object[key], depth + 1))
2077
+ return false;
2078
+ break;
2079
+ default: return false;
2080
+ }
2081
+ }
2082
+ if (!Object.prototype.hasOwnProperty.call(object, "ruleId"))
2083
+ return false;
2084
+ if (!Object.prototype.hasOwnProperty.call(object, "key"))
2085
+ return false;
2086
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
2087
+ return false;
2088
+ if (!Object.prototype.hasOwnProperty.call(object, "scope"))
2089
+ return false;
2090
+ if (!Object.prototype.hasOwnProperty.call(object, "target"))
2091
+ return false;
2092
+ if (!Object.prototype.hasOwnProperty.call(object, "priority"))
2093
+ return false;
2094
+ return true;
2095
+ }
2096
+ function check98(value, depth = 0) {
2097
+ if (depth >= 128)
2098
+ return false;
2099
+ if (typeof value !== 'string' || !validText(value))
2100
+ return false;
2101
+ if ([...value].length < 1)
2102
+ return false;
2103
+ if ([...value].length > 128)
2104
+ return false;
2105
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
2106
+ return false;
2107
+ return true;
2108
+ }
2109
+ function check99(value, depth = 0) {
2110
+ if (depth >= 128)
2111
+ return false;
2112
+ if (typeof value !== 'string' || !validText(value))
2113
+ return false;
2114
+ if (value !== "mobile.cacheBytes")
2115
+ return false;
2116
+ return true;
2117
+ }
2118
+ function check100(value, depth = 0) {
2119
+ if (depth >= 128)
2120
+ return false;
2121
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
2122
+ return false;
2123
+ if (value < 1048576)
2124
+ return false;
2125
+ if (value > 536870912)
2126
+ return false;
2127
+ return true;
2128
+ }
2129
+ function check101(value, depth = 0) {
2130
+ if (depth >= 128)
2131
+ return false;
2132
+ if (typeof value !== 'string' || !validText(value))
2133
+ return false;
2134
+ if (value !== "realm" && value !== "user" && value !== "installation")
2135
+ return false;
2136
+ return true;
2137
+ }
2138
+ function check102(value, depth = 0) {
2139
+ if (depth >= 128)
2140
+ return false;
2141
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
2142
+ return false;
2143
+ if (value < 0)
2144
+ return false;
2145
+ if (value > 1000)
2146
+ return false;
2147
+ return true;
2148
+ }
2149
+ function check103(value, depth = 0) {
2150
+ if (depth >= 128)
2151
+ return false;
2152
+ if (typeof value !== 'string' || !validText(value))
2153
+ return false;
2154
+ if ([...value].length < 1)
2155
+ return false;
2156
+ if ([...value].length > 32)
2157
+ return false;
2158
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
2159
+ return false;
2160
+ return true;
2161
+ }
2162
+ function check104(value, depth = 0) {
2163
+ if (depth >= 128)
2164
+ return false;
2165
+ if (typeof value !== 'string' || !validText(value))
2166
+ return false;
2167
+ if ([...value].length < 1)
2168
+ return false;
2169
+ if ([...value].length > 32)
2170
+ return false;
2171
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
2172
+ return false;
2173
+ return true;
2174
+ }
2175
+ function check105(value, depth = 0) {
2176
+ if (depth >= 128)
2177
+ return false;
2178
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
2179
+ return false;
2180
+ const object = value;
2181
+ for (const key of Object.keys(object)) {
2182
+ switch (key) {
2183
+ case "ruleId":
2184
+ if (!check106(object[key], depth + 1))
2185
+ return false;
2186
+ break;
2187
+ case "key":
2188
+ if (!check107(object[key], depth + 1))
2189
+ return false;
2190
+ break;
2191
+ case "value":
2192
+ if (!check108(object[key], depth + 1))
2193
+ return false;
2194
+ break;
2195
+ case "scope":
2196
+ if (!check109(object[key], depth + 1))
2197
+ return false;
2198
+ break;
2199
+ case "target":
2200
+ if (!check19(object[key], depth + 1))
2201
+ return false;
2202
+ break;
2203
+ case "priority":
2204
+ if (!check110(object[key], depth + 1))
2205
+ return false;
2206
+ break;
2207
+ case "effectiveAt":
2208
+ if (!check111(object[key], depth + 1))
2209
+ return false;
2210
+ break;
2211
+ case "expiresAt":
2212
+ if (!check112(object[key], depth + 1))
2213
+ return false;
2214
+ break;
2215
+ default: return false;
2216
+ }
2217
+ }
2218
+ if (!Object.prototype.hasOwnProperty.call(object, "ruleId"))
2219
+ return false;
2220
+ if (!Object.prototype.hasOwnProperty.call(object, "key"))
2221
+ return false;
2222
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
2223
+ return false;
2224
+ if (!Object.prototype.hasOwnProperty.call(object, "scope"))
2225
+ return false;
2226
+ if (!Object.prototype.hasOwnProperty.call(object, "target"))
2227
+ return false;
2228
+ if (!Object.prototype.hasOwnProperty.call(object, "priority"))
2229
+ return false;
2230
+ return true;
2231
+ }
2232
+ function check106(value, depth = 0) {
2233
+ if (depth >= 128)
2234
+ return false;
2235
+ if (typeof value !== 'string' || !validText(value))
2236
+ return false;
2237
+ if ([...value].length < 1)
2238
+ return false;
2239
+ if ([...value].length > 128)
2240
+ return false;
2241
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
2242
+ return false;
2243
+ return true;
2244
+ }
2245
+ function check107(value, depth = 0) {
2246
+ if (depth >= 128)
2247
+ return false;
2248
+ if (typeof value !== 'string' || !validText(value))
2249
+ return false;
2250
+ if (value !== "client.pollIntervalMs")
2251
+ return false;
2252
+ return true;
2253
+ }
2254
+ function check108(value, depth = 0) {
2255
+ if (depth >= 128)
2256
+ return false;
2257
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
2258
+ return false;
2259
+ if (value < 1000)
2260
+ return false;
2261
+ if (value > 60000)
2262
+ return false;
2263
+ return true;
2264
+ }
2265
+ function check109(value, depth = 0) {
2266
+ if (depth >= 128)
2267
+ return false;
2268
+ if (typeof value !== 'string' || !validText(value))
2269
+ return false;
2270
+ if (value !== "realm" && value !== "installation")
2271
+ return false;
2272
+ return true;
2273
+ }
2274
+ function check110(value, depth = 0) {
2275
+ if (depth >= 128)
2276
+ return false;
2277
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
2278
+ return false;
2279
+ if (value < 0)
2280
+ return false;
2281
+ if (value > 1000)
2282
+ return false;
2283
+ return true;
2284
+ }
2285
+ function check111(value, depth = 0) {
2286
+ if (depth >= 128)
2287
+ return false;
2288
+ if (typeof value !== 'string' || !validText(value))
2289
+ return false;
2290
+ if ([...value].length < 1)
2291
+ return false;
2292
+ if ([...value].length > 32)
2293
+ return false;
2294
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
2295
+ return false;
2296
+ return true;
2297
+ }
2298
+ function check112(value, depth = 0) {
2299
+ if (depth >= 128)
2300
+ return false;
2301
+ if (typeof value !== 'string' || !validText(value))
2302
+ return false;
2303
+ if ([...value].length < 1)
2304
+ return false;
2305
+ if ([...value].length > 32)
2306
+ return false;
2307
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
2308
+ return false;
2309
+ return true;
2310
+ }
2311
+ function check113(value, depth = 0) {
2312
+ if (depth >= 128)
2313
+ return false;
2314
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
2315
+ return false;
2316
+ const object = value;
2317
+ for (const key of Object.keys(object)) {
2318
+ switch (key) {
2319
+ case "ruleId":
2320
+ if (!check114(object[key], depth + 1))
2321
+ return false;
2322
+ break;
2323
+ case "key":
2324
+ if (!check115(object[key], depth + 1))
2325
+ return false;
2326
+ break;
2327
+ case "value":
2328
+ if (!check116(object[key], depth + 1))
2329
+ return false;
2330
+ break;
2331
+ case "scope":
2332
+ if (!check117(object[key], depth + 1))
2333
+ return false;
2334
+ break;
2335
+ case "target":
2336
+ if (!check19(object[key], depth + 1))
2337
+ return false;
2338
+ break;
2339
+ case "priority":
2340
+ if (!check118(object[key], depth + 1))
2341
+ return false;
2342
+ break;
2343
+ case "effectiveAt":
2344
+ if (!check119(object[key], depth + 1))
2345
+ return false;
2346
+ break;
2347
+ case "expiresAt":
2348
+ if (!check120(object[key], depth + 1))
2349
+ return false;
2350
+ break;
2351
+ default: return false;
2352
+ }
2353
+ }
2354
+ if (!Object.prototype.hasOwnProperty.call(object, "ruleId"))
2355
+ return false;
2356
+ if (!Object.prototype.hasOwnProperty.call(object, "key"))
2357
+ return false;
2358
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
2359
+ return false;
2360
+ if (!Object.prototype.hasOwnProperty.call(object, "scope"))
2361
+ return false;
2362
+ if (!Object.prototype.hasOwnProperty.call(object, "target"))
2363
+ return false;
2364
+ if (!Object.prototype.hasOwnProperty.call(object, "priority"))
2365
+ return false;
2366
+ return true;
2367
+ }
2368
+ function check114(value, depth = 0) {
2369
+ if (depth >= 128)
2370
+ return false;
2371
+ if (typeof value !== 'string' || !validText(value))
2372
+ return false;
2373
+ if ([...value].length < 1)
2374
+ return false;
2375
+ if ([...value].length > 128)
2376
+ return false;
2377
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
2378
+ return false;
2379
+ return true;
2380
+ }
2381
+ function check115(value, depth = 0) {
2382
+ if (depth >= 128)
2383
+ return false;
2384
+ if (typeof value !== 'string' || !validText(value))
2385
+ return false;
2386
+ if (value !== "telemetry.traceSamplePpm")
2387
+ return false;
2388
+ return true;
2389
+ }
2390
+ function check116(value, depth = 0) {
2391
+ if (depth >= 128)
2392
+ return false;
2393
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
2394
+ return false;
2395
+ if (value < 0)
2396
+ return false;
2397
+ if (value > 1000000)
2398
+ return false;
2399
+ return true;
2400
+ }
2401
+ function check117(value, depth = 0) {
2402
+ if (depth >= 128)
2403
+ return false;
2404
+ if (typeof value !== 'string' || !validText(value))
2405
+ return false;
2406
+ if (value !== "realm")
2407
+ return false;
2408
+ return true;
2409
+ }
2410
+ function check118(value, depth = 0) {
2411
+ if (depth >= 128)
2412
+ return false;
2413
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
2414
+ return false;
2415
+ if (value < 0)
2416
+ return false;
2417
+ if (value > 1000)
2418
+ return false;
2419
+ return true;
2420
+ }
2421
+ function check119(value, depth = 0) {
2422
+ if (depth >= 128)
2423
+ return false;
2424
+ if (typeof value !== 'string' || !validText(value))
2425
+ return false;
2426
+ if ([...value].length < 1)
2427
+ return false;
2428
+ if ([...value].length > 32)
2429
+ return false;
2430
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
2431
+ return false;
2432
+ return true;
2433
+ }
2434
+ function check120(value, depth = 0) {
2435
+ if (depth >= 128)
2436
+ return false;
2437
+ if (typeof value !== 'string' || !validText(value))
2438
+ return false;
2439
+ if ([...value].length < 1)
2440
+ return false;
2441
+ if ([...value].length > 32)
2442
+ return false;
2443
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
2444
+ return false;
2445
+ return true;
2446
+ }
2447
+ function check121(value, depth = 0) {
2448
+ if (depth >= 128)
2449
+ return false;
2450
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
2451
+ return false;
2452
+ const object = value;
2453
+ for (const key of Object.keys(object)) {
2454
+ switch (key) {
2455
+ case "ruleId":
2456
+ if (!check122(object[key], depth + 1))
2457
+ return false;
2458
+ break;
2459
+ case "key":
2460
+ if (!check123(object[key], depth + 1))
2461
+ return false;
2462
+ break;
2463
+ case "value":
2464
+ if (!check124(object[key], depth + 1))
2465
+ return false;
2466
+ break;
2467
+ case "scope":
2468
+ if (!check125(object[key], depth + 1))
2469
+ return false;
2470
+ break;
2471
+ case "target":
2472
+ if (!check19(object[key], depth + 1))
2473
+ return false;
2474
+ break;
2475
+ case "priority":
2476
+ if (!check126(object[key], depth + 1))
2477
+ return false;
2478
+ break;
2479
+ case "effectiveAt":
2480
+ if (!check127(object[key], depth + 1))
2481
+ return false;
2482
+ break;
2483
+ case "expiresAt":
2484
+ if (!check128(object[key], depth + 1))
2485
+ return false;
2486
+ break;
2487
+ default: return false;
2488
+ }
2489
+ }
2490
+ if (!Object.prototype.hasOwnProperty.call(object, "ruleId"))
2491
+ return false;
2492
+ if (!Object.prototype.hasOwnProperty.call(object, "key"))
2493
+ return false;
2494
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
2495
+ return false;
2496
+ if (!Object.prototype.hasOwnProperty.call(object, "scope"))
2497
+ return false;
2498
+ if (!Object.prototype.hasOwnProperty.call(object, "target"))
2499
+ return false;
2500
+ if (!Object.prototype.hasOwnProperty.call(object, "priority"))
2501
+ return false;
2502
+ return true;
2503
+ }
2504
+ function check122(value, depth = 0) {
2505
+ if (depth >= 128)
2506
+ return false;
2507
+ if (typeof value !== 'string' || !validText(value))
2508
+ return false;
2509
+ if ([...value].length < 1)
2510
+ return false;
2511
+ if ([...value].length > 128)
2512
+ return false;
2513
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
2514
+ return false;
2515
+ return true;
2516
+ }
2517
+ function check123(value, depth = 0) {
2518
+ if (depth >= 128)
2519
+ return false;
2520
+ if (typeof value !== 'string' || !validText(value))
2521
+ return false;
2522
+ if (value !== "telemetry.traceBufferBytes")
2523
+ return false;
2524
+ return true;
2525
+ }
2526
+ function check124(value, depth = 0) {
2527
+ if (depth >= 128)
2528
+ return false;
2529
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
2530
+ return false;
2531
+ if (value < 1048576)
2532
+ return false;
2533
+ if (value > 16777216)
2534
+ return false;
2535
+ return true;
2536
+ }
2537
+ function check125(value, depth = 0) {
2538
+ if (depth >= 128)
2539
+ return false;
2540
+ if (typeof value !== 'string' || !validText(value))
2541
+ return false;
2542
+ if (value !== "installation")
2543
+ return false;
2544
+ return true;
2545
+ }
2546
+ function check126(value, depth = 0) {
2547
+ if (depth >= 128)
2548
+ return false;
2549
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
2550
+ return false;
2551
+ if (value < 0)
2552
+ return false;
2553
+ if (value > 1000)
2554
+ return false;
2555
+ return true;
2556
+ }
2557
+ function check127(value, depth = 0) {
2558
+ if (depth >= 128)
2559
+ return false;
2560
+ if (typeof value !== 'string' || !validText(value))
2561
+ return false;
2562
+ if ([...value].length < 1)
2563
+ return false;
2564
+ if ([...value].length > 32)
2565
+ return false;
2566
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
2567
+ return false;
2568
+ return true;
2569
+ }
2570
+ function check128(value, depth = 0) {
2571
+ if (depth >= 128)
2572
+ return false;
2573
+ if (typeof value !== 'string' || !validText(value))
2574
+ return false;
2575
+ if ([...value].length < 1)
2576
+ return false;
2577
+ if ([...value].length > 32)
2578
+ return false;
2579
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
2580
+ return false;
2581
+ return true;
2582
+ }
2583
+ function check129(value, depth = 0) {
2584
+ if (depth >= 128)
2585
+ return false;
2586
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
2587
+ return false;
2588
+ const object = value;
2589
+ for (const key of Object.keys(object)) {
2590
+ switch (key) {
2591
+ case "ruleId":
2592
+ if (!check130(object[key], depth + 1))
2593
+ return false;
2594
+ break;
2595
+ case "key":
2596
+ if (!check131(object[key], depth + 1))
2597
+ return false;
2598
+ break;
2599
+ case "value":
2600
+ if (!check132(object[key], depth + 1))
2601
+ return false;
2602
+ break;
2603
+ case "scope":
2604
+ if (!check133(object[key], depth + 1))
2605
+ return false;
2606
+ break;
2607
+ case "target":
2608
+ if (!check19(object[key], depth + 1))
2609
+ return false;
2610
+ break;
2611
+ case "priority":
2612
+ if (!check134(object[key], depth + 1))
2613
+ return false;
2614
+ break;
2615
+ case "effectiveAt":
2616
+ if (!check135(object[key], depth + 1))
2617
+ return false;
2618
+ break;
2619
+ case "expiresAt":
2620
+ if (!check136(object[key], depth + 1))
2621
+ return false;
2622
+ break;
2623
+ default: return false;
2624
+ }
2625
+ }
2626
+ if (!Object.prototype.hasOwnProperty.call(object, "ruleId"))
2627
+ return false;
2628
+ if (!Object.prototype.hasOwnProperty.call(object, "key"))
2629
+ return false;
2630
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
2631
+ return false;
2632
+ if (!Object.prototype.hasOwnProperty.call(object, "scope"))
2633
+ return false;
2634
+ if (!Object.prototype.hasOwnProperty.call(object, "target"))
2635
+ return false;
2636
+ if (!Object.prototype.hasOwnProperty.call(object, "priority"))
2637
+ return false;
2638
+ return true;
2639
+ }
2640
+ function check130(value, depth = 0) {
2641
+ if (depth >= 128)
2642
+ return false;
2643
+ if (typeof value !== 'string' || !validText(value))
2644
+ return false;
2645
+ if ([...value].length < 1)
2646
+ return false;
2647
+ if ([...value].length > 128)
2648
+ return false;
2649
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
2650
+ return false;
2651
+ return true;
2652
+ }
2653
+ function check131(value, depth = 0) {
2654
+ if (depth >= 128)
2655
+ return false;
2656
+ if (typeof value !== 'string' || !validText(value))
2657
+ return false;
2658
+ if (value !== "ai.maxModelCalls")
2659
+ return false;
2660
+ return true;
2661
+ }
2662
+ function check132(value, depth = 0) {
2663
+ if (depth >= 128)
2664
+ return false;
2665
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
2666
+ return false;
2667
+ if (value < 1)
2668
+ return false;
2669
+ if (value > 64)
2670
+ return false;
2671
+ return true;
2672
+ }
2673
+ function check133(value, depth = 0) {
2674
+ if (depth >= 128)
2675
+ return false;
2676
+ if (typeof value !== 'string' || !validText(value))
2677
+ return false;
2678
+ if (value !== "realm" && value !== "workspace")
2679
+ return false;
2680
+ return true;
2681
+ }
2682
+ function check134(value, depth = 0) {
2683
+ if (depth >= 128)
2684
+ return false;
2685
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
2686
+ return false;
2687
+ if (value < 0)
2688
+ return false;
2689
+ if (value > 1000)
2690
+ return false;
2691
+ return true;
2692
+ }
2693
+ function check135(value, depth = 0) {
2694
+ if (depth >= 128)
2695
+ return false;
2696
+ if (typeof value !== 'string' || !validText(value))
2697
+ return false;
2698
+ if ([...value].length < 1)
2699
+ return false;
2700
+ if ([...value].length > 32)
2701
+ return false;
2702
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
2703
+ return false;
2704
+ return true;
2705
+ }
2706
+ function check136(value, depth = 0) {
2707
+ if (depth >= 128)
2708
+ return false;
2709
+ if (typeof value !== 'string' || !validText(value))
2710
+ return false;
2711
+ if ([...value].length < 1)
2712
+ return false;
2713
+ if ([...value].length > 32)
2714
+ return false;
2715
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
2716
+ return false;
2717
+ return true;
2718
+ }
2719
+ function check137(value, depth = 0) {
2720
+ if (depth >= 128)
2721
+ return false;
2722
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
2723
+ return false;
2724
+ const object = value;
2725
+ for (const key of Object.keys(object)) {
2726
+ switch (key) {
2727
+ case "ruleId":
2728
+ if (!check138(object[key], depth + 1))
2729
+ return false;
2730
+ break;
2731
+ case "key":
2732
+ if (!check139(object[key], depth + 1))
2733
+ return false;
2734
+ break;
2735
+ case "value":
2736
+ if (!check140(object[key], depth + 1))
2737
+ return false;
2738
+ break;
2739
+ case "scope":
2740
+ if (!check141(object[key], depth + 1))
2741
+ return false;
2742
+ break;
2743
+ case "target":
2744
+ if (!check19(object[key], depth + 1))
2745
+ return false;
2746
+ break;
2747
+ case "priority":
2748
+ if (!check142(object[key], depth + 1))
2749
+ return false;
2750
+ break;
2751
+ case "effectiveAt":
2752
+ if (!check143(object[key], depth + 1))
2753
+ return false;
2754
+ break;
2755
+ case "expiresAt":
2756
+ if (!check144(object[key], depth + 1))
2757
+ return false;
2758
+ break;
2759
+ default: return false;
2760
+ }
2761
+ }
2762
+ if (!Object.prototype.hasOwnProperty.call(object, "ruleId"))
2763
+ return false;
2764
+ if (!Object.prototype.hasOwnProperty.call(object, "key"))
2765
+ return false;
2766
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
2767
+ return false;
2768
+ if (!Object.prototype.hasOwnProperty.call(object, "scope"))
2769
+ return false;
2770
+ if (!Object.prototype.hasOwnProperty.call(object, "target"))
2771
+ return false;
2772
+ if (!Object.prototype.hasOwnProperty.call(object, "priority"))
2773
+ return false;
2774
+ return true;
2775
+ }
2776
+ function check138(value, depth = 0) {
2777
+ if (depth >= 128)
2778
+ return false;
2779
+ if (typeof value !== 'string' || !validText(value))
2780
+ return false;
2781
+ if ([...value].length < 1)
2782
+ return false;
2783
+ if ([...value].length > 128)
2784
+ return false;
2785
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
2786
+ return false;
2787
+ return true;
2788
+ }
2789
+ function check139(value, depth = 0) {
2790
+ if (depth >= 128)
2791
+ return false;
2792
+ if (typeof value !== 'string' || !validText(value))
2793
+ return false;
2794
+ if (value !== "ai.maxToolCalls")
2795
+ return false;
2796
+ return true;
2797
+ }
2798
+ function check140(value, depth = 0) {
2799
+ if (depth >= 128)
2800
+ return false;
2801
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
2802
+ return false;
2803
+ if (value < 1)
2804
+ return false;
2805
+ if (value > 256)
2806
+ return false;
2807
+ return true;
2808
+ }
2809
+ function check141(value, depth = 0) {
2810
+ if (depth >= 128)
2811
+ return false;
2812
+ if (typeof value !== 'string' || !validText(value))
2813
+ return false;
2814
+ if (value !== "realm" && value !== "workspace")
2815
+ return false;
2816
+ return true;
2817
+ }
2818
+ function check142(value, depth = 0) {
2819
+ if (depth >= 128)
2820
+ return false;
2821
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
2822
+ return false;
2823
+ if (value < 0)
2824
+ return false;
2825
+ if (value > 1000)
2826
+ return false;
2827
+ return true;
2828
+ }
2829
+ function check143(value, depth = 0) {
2830
+ if (depth >= 128)
2831
+ return false;
2832
+ if (typeof value !== 'string' || !validText(value))
2833
+ return false;
2834
+ if ([...value].length < 1)
2835
+ return false;
2836
+ if ([...value].length > 32)
2837
+ return false;
2838
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
2839
+ return false;
2840
+ return true;
2841
+ }
2842
+ function check144(value, depth = 0) {
2843
+ if (depth >= 128)
2844
+ return false;
2845
+ if (typeof value !== 'string' || !validText(value))
2846
+ return false;
2847
+ if ([...value].length < 1)
2848
+ return false;
2849
+ if ([...value].length > 32)
2850
+ return false;
2851
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
2852
+ return false;
2853
+ return true;
2854
+ }
2855
+ function check145(value, depth = 0) {
2856
+ if (depth >= 128)
2857
+ return false;
2858
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
2859
+ return false;
2860
+ const object = value;
2861
+ for (const key of Object.keys(object)) {
2862
+ switch (key) {
2863
+ case "ruleId":
2864
+ if (!check146(object[key], depth + 1))
2865
+ return false;
2866
+ break;
2867
+ case "key":
2868
+ if (!check147(object[key], depth + 1))
2869
+ return false;
2870
+ break;
2871
+ case "value":
2872
+ if (!check148(object[key], depth + 1))
2873
+ return false;
2874
+ break;
2875
+ case "scope":
2876
+ if (!check149(object[key], depth + 1))
2877
+ return false;
2878
+ break;
2879
+ case "target":
2880
+ if (!check19(object[key], depth + 1))
2881
+ return false;
2882
+ break;
2883
+ case "priority":
2884
+ if (!check150(object[key], depth + 1))
2885
+ return false;
2886
+ break;
2887
+ case "effectiveAt":
2888
+ if (!check151(object[key], depth + 1))
2889
+ return false;
2890
+ break;
2891
+ case "expiresAt":
2892
+ if (!check152(object[key], depth + 1))
2893
+ return false;
2894
+ break;
2895
+ default: return false;
2896
+ }
2897
+ }
2898
+ if (!Object.prototype.hasOwnProperty.call(object, "ruleId"))
2899
+ return false;
2900
+ if (!Object.prototype.hasOwnProperty.call(object, "key"))
2901
+ return false;
2902
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
2903
+ return false;
2904
+ if (!Object.prototype.hasOwnProperty.call(object, "scope"))
2905
+ return false;
2906
+ if (!Object.prototype.hasOwnProperty.call(object, "target"))
2907
+ return false;
2908
+ if (!Object.prototype.hasOwnProperty.call(object, "priority"))
2909
+ return false;
2910
+ return true;
2911
+ }
2912
+ function check146(value, depth = 0) {
2913
+ if (depth >= 128)
2914
+ return false;
2915
+ if (typeof value !== 'string' || !validText(value))
2916
+ return false;
2917
+ if ([...value].length < 1)
2918
+ return false;
2919
+ if ([...value].length > 128)
2920
+ return false;
2921
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
2922
+ return false;
2923
+ return true;
2924
+ }
2925
+ function check147(value, depth = 0) {
2926
+ if (depth >= 128)
2927
+ return false;
2928
+ if (typeof value !== 'string' || !validText(value))
2929
+ return false;
2930
+ if (value !== "ai.maxParallelTools")
2931
+ return false;
2932
+ return true;
2933
+ }
2934
+ function check148(value, depth = 0) {
2935
+ if (depth >= 128)
2936
+ return false;
2937
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
2938
+ return false;
2939
+ if (value < 1)
2940
+ return false;
2941
+ if (value > 8)
2942
+ return false;
2943
+ return true;
2944
+ }
2945
+ function check149(value, depth = 0) {
2946
+ if (depth >= 128)
2947
+ return false;
2948
+ if (typeof value !== 'string' || !validText(value))
2949
+ return false;
2950
+ if (value !== "realm" && value !== "workspace")
2951
+ return false;
2952
+ return true;
2953
+ }
2954
+ function check150(value, depth = 0) {
2955
+ if (depth >= 128)
2956
+ return false;
2957
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
2958
+ return false;
2959
+ if (value < 0)
2960
+ return false;
2961
+ if (value > 1000)
2962
+ return false;
2963
+ return true;
2964
+ }
2965
+ function check151(value, depth = 0) {
2966
+ if (depth >= 128)
2967
+ return false;
2968
+ if (typeof value !== 'string' || !validText(value))
2969
+ return false;
2970
+ if ([...value].length < 1)
2971
+ return false;
2972
+ if ([...value].length > 32)
2973
+ return false;
2974
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
2975
+ return false;
2976
+ return true;
2977
+ }
2978
+ function check152(value, depth = 0) {
2979
+ if (depth >= 128)
2980
+ return false;
2981
+ if (typeof value !== 'string' || !validText(value))
2982
+ return false;
2983
+ if ([...value].length < 1)
2984
+ return false;
2985
+ if ([...value].length > 32)
2986
+ return false;
2987
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
2988
+ return false;
2989
+ return true;
2990
+ }
2991
+ function check153(value, depth = 0) {
2992
+ if (depth >= 128)
2993
+ return false;
2994
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
2995
+ return false;
2996
+ const object = value;
2997
+ for (const key of Object.keys(object)) {
2998
+ switch (key) {
2999
+ case "ruleId":
3000
+ if (!check154(object[key], depth + 1))
3001
+ return false;
3002
+ break;
3003
+ case "key":
3004
+ if (!check155(object[key], depth + 1))
3005
+ return false;
3006
+ break;
3007
+ case "value":
3008
+ if (!check156(object[key], depth + 1))
3009
+ return false;
3010
+ break;
3011
+ case "scope":
3012
+ if (!check157(object[key], depth + 1))
3013
+ return false;
3014
+ break;
3015
+ case "target":
3016
+ if (!check19(object[key], depth + 1))
3017
+ return false;
3018
+ break;
3019
+ case "priority":
3020
+ if (!check158(object[key], depth + 1))
3021
+ return false;
3022
+ break;
3023
+ case "effectiveAt":
3024
+ if (!check159(object[key], depth + 1))
3025
+ return false;
3026
+ break;
3027
+ case "expiresAt":
3028
+ if (!check160(object[key], depth + 1))
3029
+ return false;
3030
+ break;
3031
+ default: return false;
3032
+ }
3033
+ }
3034
+ if (!Object.prototype.hasOwnProperty.call(object, "ruleId"))
3035
+ return false;
3036
+ if (!Object.prototype.hasOwnProperty.call(object, "key"))
3037
+ return false;
3038
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
3039
+ return false;
3040
+ if (!Object.prototype.hasOwnProperty.call(object, "scope"))
3041
+ return false;
3042
+ if (!Object.prototype.hasOwnProperty.call(object, "target"))
3043
+ return false;
3044
+ if (!Object.prototype.hasOwnProperty.call(object, "priority"))
3045
+ return false;
3046
+ return true;
3047
+ }
3048
+ function check154(value, depth = 0) {
3049
+ if (depth >= 128)
3050
+ return false;
3051
+ if (typeof value !== 'string' || !validText(value))
3052
+ return false;
3053
+ if ([...value].length < 1)
3054
+ return false;
3055
+ if ([...value].length > 128)
3056
+ return false;
3057
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
3058
+ return false;
3059
+ return true;
3060
+ }
3061
+ function check155(value, depth = 0) {
3062
+ if (depth >= 128)
3063
+ return false;
3064
+ if (typeof value !== 'string' || !validText(value))
3065
+ return false;
3066
+ if (value !== "ai.maxActiveMilliseconds")
3067
+ return false;
3068
+ return true;
3069
+ }
3070
+ function check156(value, depth = 0) {
3071
+ if (depth >= 128)
3072
+ return false;
3073
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
3074
+ return false;
3075
+ if (value < 1000)
3076
+ return false;
3077
+ if (value > 3600000)
3078
+ return false;
3079
+ return true;
3080
+ }
3081
+ function check157(value, depth = 0) {
3082
+ if (depth >= 128)
3083
+ return false;
3084
+ if (typeof value !== 'string' || !validText(value))
3085
+ return false;
3086
+ if (value !== "realm" && value !== "workspace")
3087
+ return false;
3088
+ return true;
3089
+ }
3090
+ function check158(value, depth = 0) {
3091
+ if (depth >= 128)
3092
+ return false;
3093
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
3094
+ return false;
3095
+ if (value < 0)
3096
+ return false;
3097
+ if (value > 1000)
3098
+ return false;
3099
+ return true;
3100
+ }
3101
+ function check159(value, depth = 0) {
3102
+ if (depth >= 128)
3103
+ return false;
3104
+ if (typeof value !== 'string' || !validText(value))
3105
+ return false;
3106
+ if ([...value].length < 1)
3107
+ return false;
3108
+ if ([...value].length > 32)
3109
+ return false;
3110
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
3111
+ return false;
3112
+ return true;
3113
+ }
3114
+ function check160(value, depth = 0) {
3115
+ if (depth >= 128)
3116
+ return false;
3117
+ if (typeof value !== 'string' || !validText(value))
3118
+ return false;
3119
+ if ([...value].length < 1)
3120
+ return false;
3121
+ if ([...value].length > 32)
3122
+ return false;
3123
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
3124
+ return false;
3125
+ return true;
3126
+ }
3127
+ function check161(value, depth = 0) {
3128
+ if (depth >= 128)
3129
+ return false;
3130
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
3131
+ return false;
3132
+ const object = value;
3133
+ for (const key of Object.keys(object)) {
3134
+ switch (key) {
3135
+ case "ruleId":
3136
+ if (!check162(object[key], depth + 1))
3137
+ return false;
3138
+ break;
3139
+ case "key":
3140
+ if (!check163(object[key], depth + 1))
3141
+ return false;
3142
+ break;
3143
+ case "value":
3144
+ if (!check164(object[key], depth + 1))
3145
+ return false;
3146
+ break;
3147
+ case "scope":
3148
+ if (!check165(object[key], depth + 1))
3149
+ return false;
3150
+ break;
3151
+ case "target":
3152
+ if (!check19(object[key], depth + 1))
3153
+ return false;
3154
+ break;
3155
+ case "priority":
3156
+ if (!check166(object[key], depth + 1))
3157
+ return false;
3158
+ break;
3159
+ case "effectiveAt":
3160
+ if (!check167(object[key], depth + 1))
3161
+ return false;
3162
+ break;
3163
+ case "expiresAt":
3164
+ if (!check168(object[key], depth + 1))
3165
+ return false;
3166
+ break;
3167
+ default: return false;
3168
+ }
3169
+ }
3170
+ if (!Object.prototype.hasOwnProperty.call(object, "ruleId"))
3171
+ return false;
3172
+ if (!Object.prototype.hasOwnProperty.call(object, "key"))
3173
+ return false;
3174
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
3175
+ return false;
3176
+ if (!Object.prototype.hasOwnProperty.call(object, "scope"))
3177
+ return false;
3178
+ if (!Object.prototype.hasOwnProperty.call(object, "target"))
3179
+ return false;
3180
+ if (!Object.prototype.hasOwnProperty.call(object, "priority"))
3181
+ return false;
3182
+ return true;
3183
+ }
3184
+ function check162(value, depth = 0) {
3185
+ if (depth >= 128)
3186
+ return false;
3187
+ if (typeof value !== 'string' || !validText(value))
3188
+ return false;
3189
+ if ([...value].length < 1)
3190
+ return false;
3191
+ if ([...value].length > 128)
3192
+ return false;
3193
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
3194
+ return false;
3195
+ return true;
3196
+ }
3197
+ function check163(value, depth = 0) {
3198
+ if (depth >= 128)
3199
+ return false;
3200
+ if (typeof value !== 'string' || !validText(value))
3201
+ return false;
3202
+ if (value !== "search.webEnabled")
3203
+ return false;
3204
+ return true;
3205
+ }
3206
+ function check164(value, depth = 0) {
3207
+ if (depth >= 128)
3208
+ return false;
3209
+ if (typeof value !== 'boolean')
3210
+ return false;
3211
+ return true;
3212
+ }
3213
+ function check165(value, depth = 0) {
3214
+ if (depth >= 128)
3215
+ return false;
3216
+ if (typeof value !== 'string' || !validText(value))
3217
+ return false;
3218
+ if (value !== "realm" && value !== "workspace" && value !== "user")
3219
+ return false;
3220
+ return true;
3221
+ }
3222
+ function check166(value, depth = 0) {
3223
+ if (depth >= 128)
3224
+ return false;
3225
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
3226
+ return false;
3227
+ if (value < 0)
3228
+ return false;
3229
+ if (value > 1000)
3230
+ return false;
3231
+ return true;
3232
+ }
3233
+ function check167(value, depth = 0) {
3234
+ if (depth >= 128)
3235
+ return false;
3236
+ if (typeof value !== 'string' || !validText(value))
3237
+ return false;
3238
+ if ([...value].length < 1)
3239
+ return false;
3240
+ if ([...value].length > 32)
3241
+ return false;
3242
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
3243
+ return false;
3244
+ return true;
3245
+ }
3246
+ function check168(value, depth = 0) {
3247
+ if (depth >= 128)
3248
+ return false;
3249
+ if (typeof value !== 'string' || !validText(value))
3250
+ return false;
3251
+ if ([...value].length < 1)
3252
+ return false;
3253
+ if ([...value].length > 32)
3254
+ return false;
3255
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
3256
+ return false;
3257
+ return true;
3258
+ }
3259
+ function check169(value, depth = 0) {
3260
+ if (depth >= 128)
3261
+ return false;
3262
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
3263
+ return false;
3264
+ const object = value;
3265
+ for (const key of Object.keys(object)) {
3266
+ switch (key) {
3267
+ case "ruleId":
3268
+ if (!check170(object[key], depth + 1))
3269
+ return false;
3270
+ break;
3271
+ case "key":
3272
+ if (!check171(object[key], depth + 1))
3273
+ return false;
3274
+ break;
3275
+ case "value":
3276
+ if (!check172(object[key], depth + 1))
3277
+ return false;
3278
+ break;
3279
+ case "scope":
3280
+ if (!check173(object[key], depth + 1))
3281
+ return false;
3282
+ break;
3283
+ case "target":
3284
+ if (!check19(object[key], depth + 1))
3285
+ return false;
3286
+ break;
3287
+ case "priority":
3288
+ if (!check174(object[key], depth + 1))
3289
+ return false;
3290
+ break;
3291
+ case "effectiveAt":
3292
+ if (!check175(object[key], depth + 1))
3293
+ return false;
3294
+ break;
3295
+ case "expiresAt":
3296
+ if (!check176(object[key], depth + 1))
3297
+ return false;
3298
+ break;
3299
+ default: return false;
3300
+ }
3301
+ }
3302
+ if (!Object.prototype.hasOwnProperty.call(object, "ruleId"))
3303
+ return false;
3304
+ if (!Object.prototype.hasOwnProperty.call(object, "key"))
3305
+ return false;
3306
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
3307
+ return false;
3308
+ if (!Object.prototype.hasOwnProperty.call(object, "scope"))
3309
+ return false;
3310
+ if (!Object.prototype.hasOwnProperty.call(object, "target"))
3311
+ return false;
3312
+ if (!Object.prototype.hasOwnProperty.call(object, "priority"))
3313
+ return false;
3314
+ return true;
3315
+ }
3316
+ function check170(value, depth = 0) {
3317
+ if (depth >= 128)
3318
+ return false;
3319
+ if (typeof value !== 'string' || !validText(value))
3320
+ return false;
3321
+ if ([...value].length < 1)
3322
+ return false;
3323
+ if ([...value].length > 128)
3324
+ return false;
3325
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
3326
+ return false;
3327
+ return true;
3328
+ }
3329
+ function check171(value, depth = 0) {
3330
+ if (depth >= 128)
3331
+ return false;
3332
+ if (typeof value !== 'string' || !validText(value))
3333
+ return false;
3334
+ if (value !== "ui.density")
3335
+ return false;
3336
+ return true;
3337
+ }
3338
+ function check172(value, depth = 0) {
3339
+ if (depth >= 128)
3340
+ return false;
3341
+ if (typeof value !== 'string' || !validText(value))
3342
+ return false;
3343
+ if (value !== "comfortable" && value !== "compact")
3344
+ return false;
3345
+ return true;
3346
+ }
3347
+ function check173(value, depth = 0) {
3348
+ if (depth >= 128)
3349
+ return false;
3350
+ if (typeof value !== 'string' || !validText(value))
3351
+ return false;
3352
+ if (value !== "user" && value !== "installation")
3353
+ return false;
3354
+ return true;
3355
+ }
3356
+ function check174(value, depth = 0) {
3357
+ if (depth >= 128)
3358
+ return false;
3359
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
3360
+ return false;
3361
+ if (value < 0)
3362
+ return false;
3363
+ if (value > 1000)
3364
+ return false;
3365
+ return true;
3366
+ }
3367
+ function check175(value, depth = 0) {
3368
+ if (depth >= 128)
3369
+ return false;
3370
+ if (typeof value !== 'string' || !validText(value))
3371
+ return false;
3372
+ if ([...value].length < 1)
3373
+ return false;
3374
+ if ([...value].length > 32)
3375
+ return false;
3376
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
3377
+ return false;
3378
+ return true;
3379
+ }
3380
+ function check176(value, depth = 0) {
3381
+ if (depth >= 128)
3382
+ return false;
3383
+ if (typeof value !== 'string' || !validText(value))
3384
+ return false;
3385
+ if ([...value].length < 1)
3386
+ return false;
3387
+ if ([...value].length > 32)
3388
+ return false;
3389
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
3390
+ return false;
3391
+ return true;
3392
+ }
3393
+ function check177(value, depth = 0) {
3394
+ if (depth >= 128)
3395
+ return false;
3396
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
3397
+ return false;
3398
+ const object = value;
3399
+ for (const key of Object.keys(object)) {
3400
+ switch (key) {
3401
+ case "ruleId":
3402
+ if (!check178(object[key], depth + 1))
3403
+ return false;
3404
+ break;
3405
+ case "key":
3406
+ if (!check179(object[key], depth + 1))
3407
+ return false;
3408
+ break;
3409
+ case "value":
3410
+ if (!check180(object[key], depth + 1))
3411
+ return false;
3412
+ break;
3413
+ case "scope":
3414
+ if (!check181(object[key], depth + 1))
3415
+ return false;
3416
+ break;
3417
+ case "target":
3418
+ if (!check19(object[key], depth + 1))
3419
+ return false;
3420
+ break;
3421
+ case "priority":
3422
+ if (!check182(object[key], depth + 1))
3423
+ return false;
3424
+ break;
3425
+ case "effectiveAt":
3426
+ if (!check183(object[key], depth + 1))
3427
+ return false;
3428
+ break;
3429
+ case "expiresAt":
3430
+ if (!check184(object[key], depth + 1))
3431
+ return false;
3432
+ break;
3433
+ default: return false;
3434
+ }
3435
+ }
3436
+ if (!Object.prototype.hasOwnProperty.call(object, "ruleId"))
3437
+ return false;
3438
+ if (!Object.prototype.hasOwnProperty.call(object, "key"))
3439
+ return false;
3440
+ if (!Object.prototype.hasOwnProperty.call(object, "value"))
3441
+ return false;
3442
+ if (!Object.prototype.hasOwnProperty.call(object, "scope"))
3443
+ return false;
3444
+ if (!Object.prototype.hasOwnProperty.call(object, "target"))
3445
+ return false;
3446
+ if (!Object.prototype.hasOwnProperty.call(object, "priority"))
3447
+ return false;
3448
+ return true;
3449
+ }
3450
+ function check178(value, depth = 0) {
3451
+ if (depth >= 128)
3452
+ return false;
3453
+ if (typeof value !== 'string' || !validText(value))
3454
+ return false;
3455
+ if ([...value].length < 1)
3456
+ return false;
3457
+ if ([...value].length > 128)
3458
+ return false;
3459
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
3460
+ return false;
3461
+ return true;
3462
+ }
3463
+ function check179(value, depth = 0) {
3464
+ if (depth >= 128)
3465
+ return false;
3466
+ if (typeof value !== 'string' || !validText(value))
3467
+ return false;
3468
+ if (value !== "mobile.homeSummary")
3469
+ return false;
3470
+ return true;
3471
+ }
3472
+ function check180(value, depth = 0) {
3473
+ if (depth >= 128)
3474
+ return false;
3475
+ if (typeof value !== 'string' || !validText(value))
3476
+ return false;
3477
+ if (value !== "expanded" && value !== "compact")
3478
+ return false;
3479
+ return true;
3480
+ }
3481
+ function check181(value, depth = 0) {
3482
+ if (depth >= 128)
3483
+ return false;
3484
+ if (typeof value !== 'string' || !validText(value))
3485
+ return false;
3486
+ if (value !== "user" && value !== "installation")
3487
+ return false;
3488
+ return true;
3489
+ }
3490
+ function check182(value, depth = 0) {
3491
+ if (depth >= 128)
3492
+ return false;
3493
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
3494
+ return false;
3495
+ if (value < 0)
3496
+ return false;
3497
+ if (value > 1000)
3498
+ return false;
3499
+ return true;
3500
+ }
3501
+ function check183(value, depth = 0) {
3502
+ if (depth >= 128)
3503
+ return false;
3504
+ if (typeof value !== 'string' || !validText(value))
3505
+ return false;
3506
+ if ([...value].length < 1)
3507
+ return false;
3508
+ if ([...value].length > 32)
3509
+ return false;
3510
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
3511
+ return false;
3512
+ return true;
3513
+ }
3514
+ function check184(value, depth = 0) {
3515
+ if (depth >= 128)
3516
+ return false;
3517
+ if (typeof value !== 'string' || !validText(value))
3518
+ return false;
3519
+ if ([...value].length < 1)
3520
+ return false;
3521
+ if ([...value].length > 32)
3522
+ return false;
3523
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
3524
+ return false;
3525
+ return true;
3526
+ }
3527
+ function check185(value, depth = 0) {
3528
+ if (depth >= 128)
3529
+ return false;
3530
+ if (!Array.isArray(value))
3531
+ return false;
3532
+ if (value.length < 0)
3533
+ return false;
3534
+ if (value.length > 32)
3535
+ return false;
3536
+ if (!value.every(item => check186(item, depth + 1)))
3537
+ return false;
3538
+ return true;
3539
+ }
3540
+ function check186(value, depth = 0) {
3541
+ if (depth >= 128)
3542
+ return false;
3543
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
3544
+ return false;
3545
+ const object = value;
3546
+ for (const key of Object.keys(object)) {
3547
+ switch (key) {
3548
+ case "experimentId":
3549
+ if (!check187(object[key], depth + 1))
3550
+ return false;
3551
+ break;
3552
+ case "version":
3553
+ if (!check188(object[key], depth + 1))
3554
+ return false;
3555
+ break;
3556
+ case "hypothesis":
3557
+ if (!check189(object[key], depth + 1))
3558
+ return false;
3559
+ break;
3560
+ case "subject":
3561
+ if (!check190(object[key], depth + 1))
3562
+ return false;
3563
+ break;
3564
+ case "eligibility":
3565
+ if (!check24(object[key], depth + 1))
3566
+ return false;
3567
+ break;
3568
+ case "variants":
3569
+ if (!check191(object[key], depth + 1))
3570
+ return false;
3571
+ break;
3572
+ case "allocation":
3573
+ if (!check198(object[key], depth + 1))
3574
+ return false;
3575
+ break;
3576
+ case "startsAt":
3577
+ if (!check199(object[key], depth + 1))
3578
+ return false;
3579
+ break;
3580
+ case "endsAt":
3581
+ if (!check200(object[key], depth + 1))
3582
+ return false;
3583
+ break;
3584
+ case "successMetrics":
3585
+ if (!check201(object[key], depth + 1))
3586
+ return false;
3587
+ break;
3588
+ case "exitCriteria":
3589
+ if (!check203(object[key], depth + 1))
3590
+ return false;
3591
+ break;
3592
+ case "exclusionGroup":
3593
+ if (!check204(object[key], depth + 1))
3594
+ return false;
3595
+ break;
3596
+ case "holdoutBasisPoints":
3597
+ if (!check205(object[key], depth + 1))
3598
+ return false;
3599
+ break;
3600
+ default: return false;
3601
+ }
3602
+ }
3603
+ if (!Object.prototype.hasOwnProperty.call(object, "experimentId"))
3604
+ return false;
3605
+ if (!Object.prototype.hasOwnProperty.call(object, "version"))
3606
+ return false;
3607
+ if (!Object.prototype.hasOwnProperty.call(object, "hypothesis"))
3608
+ return false;
3609
+ if (!Object.prototype.hasOwnProperty.call(object, "subject"))
3610
+ return false;
3611
+ if (!Object.prototype.hasOwnProperty.call(object, "eligibility"))
3612
+ return false;
3613
+ if (!Object.prototype.hasOwnProperty.call(object, "variants"))
3614
+ return false;
3615
+ if (!Object.prototype.hasOwnProperty.call(object, "allocation"))
3616
+ return false;
3617
+ if (!Object.prototype.hasOwnProperty.call(object, "startsAt"))
3618
+ return false;
3619
+ if (!Object.prototype.hasOwnProperty.call(object, "endsAt"))
3620
+ return false;
3621
+ if (!Object.prototype.hasOwnProperty.call(object, "successMetrics"))
3622
+ return false;
3623
+ if (!Object.prototype.hasOwnProperty.call(object, "exitCriteria"))
3624
+ return false;
3625
+ if (!Object.prototype.hasOwnProperty.call(object, "holdoutBasisPoints"))
3626
+ return false;
3627
+ return true;
3628
+ }
3629
+ function check187(value, depth = 0) {
3630
+ if (depth >= 128)
3631
+ return false;
3632
+ if (typeof value !== 'string' || !validText(value))
3633
+ return false;
3634
+ if ([...value].length < 1)
3635
+ return false;
3636
+ if ([...value].length > 128)
3637
+ return false;
3638
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
3639
+ return false;
3640
+ return true;
3641
+ }
3642
+ function check188(value, depth = 0) {
3643
+ if (depth >= 128)
3644
+ return false;
3645
+ if (typeof value !== 'string' || !validText(value))
3646
+ return false;
3647
+ if ([...value].length < 1)
3648
+ return false;
3649
+ if ([...value].length > 128)
3650
+ return false;
3651
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
3652
+ return false;
3653
+ return true;
3654
+ }
3655
+ function check189(value, depth = 0) {
3656
+ if (depth >= 128)
3657
+ return false;
3658
+ if (typeof value !== 'string' || !validText(value))
3659
+ return false;
3660
+ if ([...value].length < 1)
3661
+ return false;
3662
+ if ([...value].length > 4096)
3663
+ return false;
3664
+ return true;
3665
+ }
3666
+ function check190(value, depth = 0) {
3667
+ if (depth >= 128)
3668
+ return false;
3669
+ if (typeof value !== 'string' || !validText(value))
3670
+ return false;
3671
+ if (value !== "user" && value !== "workspace" && value !== "installation")
3672
+ return false;
3673
+ return true;
3674
+ }
3675
+ function check191(value, depth = 0) {
3676
+ if (depth >= 128)
3677
+ return false;
3678
+ if (!Array.isArray(value))
3679
+ return false;
3680
+ if (value.length < 1)
3681
+ return false;
3682
+ if (value.length > 4)
3683
+ return false;
3684
+ if (!value.every(item => check192(item, depth + 1)))
3685
+ return false;
3686
+ return true;
3687
+ }
3688
+ function check192(value, depth = 0) {
3689
+ if (depth >= 128)
3690
+ return false;
3691
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
3692
+ return false;
3693
+ const object = value;
3694
+ for (const key of Object.keys(object)) {
3695
+ switch (key) {
3696
+ case "variantId":
3697
+ if (!check193(object[key], depth + 1))
3698
+ return false;
3699
+ break;
3700
+ case "allocation":
3701
+ if (!check194(object[key], depth + 1))
3702
+ return false;
3703
+ break;
3704
+ case "values":
3705
+ if (!check195(object[key], depth + 1))
3706
+ return false;
3707
+ break;
3708
+ default: return false;
3709
+ }
3710
+ }
3711
+ if (!Object.prototype.hasOwnProperty.call(object, "variantId"))
3712
+ return false;
3713
+ if (!Object.prototype.hasOwnProperty.call(object, "allocation"))
3714
+ return false;
3715
+ if (!Object.prototype.hasOwnProperty.call(object, "values"))
3716
+ return false;
3717
+ return true;
3718
+ }
3719
+ function check193(value, depth = 0) {
3720
+ if (depth >= 128)
3721
+ return false;
3722
+ if (typeof value !== 'string' || !validText(value))
3723
+ return false;
3724
+ if ([...value].length < 1)
3725
+ return false;
3726
+ if ([...value].length > 128)
3727
+ return false;
3728
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
3729
+ return false;
3730
+ return true;
3731
+ }
3732
+ function check194(value, depth = 0) {
3733
+ if (depth >= 128)
3734
+ return false;
3735
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
3736
+ return false;
3737
+ if (value < 0)
3738
+ return false;
3739
+ if (value > 10000)
3740
+ return false;
3741
+ return true;
3742
+ }
3743
+ function check195(value, depth = 0) {
3744
+ if (depth >= 128)
3745
+ return false;
3746
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
3747
+ return false;
3748
+ const object = value;
3749
+ for (const key of Object.keys(object)) {
3750
+ switch (key) {
3751
+ case "ui.density":
3752
+ if (!check196(object[key], depth + 1))
3753
+ return false;
3754
+ break;
3755
+ case "mobile.homeSummary":
3756
+ if (!check197(object[key], depth + 1))
3757
+ return false;
3758
+ break;
3759
+ default: return false;
3760
+ }
3761
+ }
3762
+ return true;
3763
+ }
3764
+ function check196(value, depth = 0) {
3765
+ if (depth >= 128)
3766
+ return false;
3767
+ if (typeof value !== 'string' || !validText(value))
3768
+ return false;
3769
+ if (value !== "comfortable" && value !== "compact")
3770
+ return false;
3771
+ return true;
3772
+ }
3773
+ function check197(value, depth = 0) {
3774
+ if (depth >= 128)
3775
+ return false;
3776
+ if (typeof value !== 'string' || !validText(value))
3777
+ return false;
3778
+ if (value !== "expanded" && value !== "compact")
3779
+ return false;
3780
+ return true;
3781
+ }
3782
+ function check198(value, depth = 0) {
3783
+ if (depth >= 128)
3784
+ return false;
3785
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
3786
+ return false;
3787
+ if (value < 0)
3788
+ return false;
3789
+ if (value > 10000)
3790
+ return false;
3791
+ return true;
3792
+ }
3793
+ function check199(value, depth = 0) {
3794
+ if (depth >= 128)
3795
+ return false;
3796
+ if (typeof value !== 'string' || !validText(value))
3797
+ return false;
3798
+ if ([...value].length < 1)
3799
+ return false;
3800
+ if ([...value].length > 32)
3801
+ return false;
3802
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
3803
+ return false;
3804
+ return true;
3805
+ }
3806
+ function check200(value, depth = 0) {
3807
+ if (depth >= 128)
3808
+ return false;
3809
+ if (typeof value !== 'string' || !validText(value))
3810
+ return false;
3811
+ if ([...value].length < 1)
3812
+ return false;
3813
+ if ([...value].length > 32)
3814
+ return false;
3815
+ if ((new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.[0-9]{1,6})?Z$", 'u')).exec(value)?.[0] !== value)
3816
+ return false;
3817
+ return true;
3818
+ }
3819
+ function check201(value, depth = 0) {
3820
+ if (depth >= 128)
3821
+ return false;
3822
+ if (!Array.isArray(value))
3823
+ return false;
3824
+ if (value.length < 1)
3825
+ return false;
3826
+ if (value.length > 32)
3827
+ return false;
3828
+ if (!value.every(item => check202(item, depth + 1)))
3829
+ return false;
3830
+ return true;
3831
+ }
3832
+ function check202(value, depth = 0) {
3833
+ if (depth >= 128)
3834
+ return false;
3835
+ if (typeof value !== 'string' || !validText(value))
3836
+ return false;
3837
+ if ([...value].length < 1)
3838
+ return false;
3839
+ if ([...value].length > 128)
3840
+ return false;
3841
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
3842
+ return false;
3843
+ return true;
3844
+ }
3845
+ function check203(value, depth = 0) {
3846
+ if (depth >= 128)
3847
+ return false;
3848
+ if (typeof value !== 'string' || !validText(value))
3849
+ return false;
3850
+ if ([...value].length < 1)
3851
+ return false;
3852
+ if ([...value].length > 4096)
3853
+ return false;
3854
+ return true;
3855
+ }
3856
+ function check204(value, depth = 0) {
3857
+ if (depth >= 128)
3858
+ return false;
3859
+ if (typeof value !== 'string' || !validText(value))
3860
+ return false;
3861
+ if ([...value].length < 1)
3862
+ return false;
3863
+ if ([...value].length > 128)
3864
+ return false;
3865
+ if ((new RegExp("^[A-Za-z0-9][A-Za-z0-9._:-]*$", 'u')).exec(value)?.[0] !== value)
3866
+ return false;
3867
+ return true;
3868
+ }
3869
+ function check205(value, depth = 0) {
3870
+ if (depth >= 128)
3871
+ return false;
3872
+ if (typeof value !== 'number' || !Number.isSafeInteger(value))
3873
+ return false;
3874
+ if (value < 0)
3875
+ return false;
3876
+ if (value > 10000)
3877
+ return false;
3878
+ return true;
3879
+ }
3880
+ function check206(value, depth = 0) {
3881
+ if (depth >= 128)
3882
+ return false;
3883
+ if (typeof value !== 'string' || !validText(value))
3884
+ return false;
3885
+ if ([...value].length < 1)
3886
+ return false;
3887
+ if ([...value].length > 4096)
3888
+ return false;
3889
+ return true;
3890
+ }
3891
+ /** Strict UTF-8 JSON: no BOM, comments, trailing commas or duplicate properties; depth <= 32; integer lexemes only. */
3892
+ function strictJson(input, maxBytes) {
3893
+ let text;
3894
+ if (typeof input === "string") {
3895
+ if (!validText(input))
3896
+ return { ok: false, failure: "malformed" };
3897
+ if (new TextEncoder().encode(input).byteLength > maxBytes)
3898
+ return { ok: false, failure: "tooLarge" };
3899
+ text = input;
3900
+ }
3901
+ else {
3902
+ if (input.byteLength > maxBytes)
3903
+ return { ok: false, failure: "tooLarge" };
3904
+ try {
3905
+ text = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true }).decode(input);
3906
+ }
3907
+ catch {
3908
+ return { ok: false, failure: "malformed" };
3909
+ }
3910
+ }
3911
+ try {
3912
+ return { ok: true, value: new StrictJsonReader(text).document() };
3913
+ }
3914
+ catch {
3915
+ return { ok: false, failure: "malformed" };
3916
+ }
3917
+ }
3918
+ class StrictJsonReader {
3919
+ text;
3920
+ index = 0;
3921
+ constructor(text) {
3922
+ this.text = text;
3923
+ }
3924
+ document() {
3925
+ this.space();
3926
+ const value = this.value(0);
3927
+ this.space();
3928
+ if (this.index !== this.text.length)
3929
+ throw new SyntaxError("Trailing JSON content");
3930
+ return value;
3931
+ }
3932
+ value(depth) {
3933
+ switch (this.text[this.index]) {
3934
+ case "{": return this.object(depth + 1);
3935
+ case "[": return this.array(depth + 1);
3936
+ case '"': return this.string();
3937
+ case "t": return this.literal("true", true);
3938
+ case "f": return this.literal("false", false);
3939
+ case "n": return this.literal("null", null);
3940
+ default: return this.number();
3941
+ }
3942
+ }
3943
+ object(depth) {
3944
+ if (depth > 32)
3945
+ throw new SyntaxError("JSON depth exceeded");
3946
+ this.index++;
3947
+ const out = {};
3948
+ const keys = new Set();
3949
+ this.space();
3950
+ if (this.text[this.index] === "}") {
3951
+ this.index++;
3952
+ return out;
3953
+ }
3954
+ for (;;) {
3955
+ this.space();
3956
+ if (this.text[this.index] !== '"')
3957
+ throw new SyntaxError("Expected property name");
3958
+ const key = this.string();
3959
+ if (keys.has(key))
3960
+ throw new SyntaxError("Duplicate JSON property");
3961
+ keys.add(key);
3962
+ this.space();
3963
+ if (this.text[this.index++] !== ":")
3964
+ throw new SyntaxError("Expected colon");
3965
+ this.space();
3966
+ // defineProperty keeps names such as __proto__ as ordinary own properties.
3967
+ Object.defineProperty(out, key, { value: this.value(depth), enumerable: true, writable: true, configurable: true });
3968
+ this.space();
3969
+ const next = this.text[this.index++];
3970
+ if (next === "}")
3971
+ return out;
3972
+ if (next !== ",")
3973
+ throw new SyntaxError("Expected comma");
3974
+ }
3975
+ }
3976
+ array(depth) {
3977
+ if (depth > 32)
3978
+ throw new SyntaxError("JSON depth exceeded");
3979
+ this.index++;
3980
+ const out = [];
3981
+ this.space();
3982
+ if (this.text[this.index] === "]") {
3983
+ this.index++;
3984
+ return out;
3985
+ }
3986
+ for (;;) {
3987
+ this.space();
3988
+ out.push(this.value(depth));
3989
+ this.space();
3990
+ const next = this.text[this.index++];
3991
+ if (next === "]")
3992
+ return out;
3993
+ if (next !== ",")
3994
+ throw new SyntaxError("Expected comma");
3995
+ }
3996
+ }
3997
+ string() {
3998
+ this.index++;
3999
+ let out = "";
4000
+ for (;;) {
4001
+ const c = this.text[this.index++];
4002
+ if (c === undefined)
4003
+ throw new SyntaxError("Unterminated string");
4004
+ if (c === '"')
4005
+ break;
4006
+ if (c < " ")
4007
+ throw new SyntaxError("Unescaped control character");
4008
+ if (c !== "\\") {
4009
+ out += c;
4010
+ continue;
4011
+ }
4012
+ const e = this.text[this.index++];
4013
+ const simple = { '"': '"', "\\": "\\", "/": "/", b: "\b", f: "\f", n: "\n", r: "\r", t: "\t" };
4014
+ if (e !== undefined && e in simple) {
4015
+ out += simple[e];
4016
+ continue;
4017
+ }
4018
+ if (e !== "u" || !/^[0-9a-fA-F]{4}$/.test(this.text.slice(this.index, this.index + 4)))
4019
+ throw new SyntaxError("Invalid escape");
4020
+ out += String.fromCharCode(parseInt(this.text.slice(this.index, this.index + 4), 16));
4021
+ this.index += 4;
4022
+ }
4023
+ if (!validText(out))
4024
+ throw new SyntaxError("Lone surrogate escape");
4025
+ return out;
4026
+ }
4027
+ number() {
4028
+ const match = /-?(?:0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/y;
4029
+ match.lastIndex = this.index;
4030
+ const found = match.exec(this.text);
4031
+ if (found === null)
4032
+ throw new SyntaxError("Invalid JSON value");
4033
+ this.index = match.lastIndex;
4034
+ // Selected schemas have no fractional numbers; fraction/exponent lexemes never satisfy an integer.
4035
+ return found[1] !== undefined || found[2] !== undefined ? Number.NaN : Number(found[0]);
4036
+ }
4037
+ literal(word, value) {
4038
+ if (this.text.slice(this.index, this.index + word.length) !== word)
4039
+ throw new SyntaxError("Invalid JSON literal");
4040
+ this.index += word.length;
4041
+ return value;
4042
+ }
4043
+ space() {
4044
+ while (this.text[this.index] === " " || this.text[this.index] === "\t" || this.text[this.index] === "\n" || this.text[this.index] === "\r")
4045
+ this.index++;
4046
+ }
4047
+ }
4048
+ function validText(value) {
4049
+ for (const scalar of value) {
4050
+ const point = scalar.codePointAt(0);
4051
+ if (point >= 0xd800 && point <= 0xdfff)
4052
+ return false;
4053
+ }
4054
+ return true;
4055
+ }
4056
+ function inventoryRules(value) {
4057
+ const files = value.files;
4058
+ const seen = new Set();
4059
+ let previous;
4060
+ let total = 0n;
4061
+ for (const file of files) {
4062
+ const path = file.path;
4063
+ const folded = path.toUpperCase();
4064
+ if (path.length === 0 || folded === 'INVENTORY.JSON' || folded === 'SIGNATURE.JSON' || seen.has(folded) || (previous !== undefined && previous >= path))
4065
+ return false;
4066
+ for (const segment of path.split('/')) {
4067
+ if (!/^[A-Za-z0-9_.-]+$/.test(segment) || segment === '.' || segment === '..' || segment.endsWith('.') || /^(CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])(?:\.|$)/i.test(segment))
4068
+ return false;
4069
+ }
4070
+ const size = BigInt(file.size);
4071
+ if (size > 134217728n)
4072
+ return false;
4073
+ total += size;
4074
+ if (total > 1073741824n)
4075
+ return false;
4076
+ seen.add(folded);
4077
+ previous = path;
4078
+ }
4079
+ return files.some(file => file.path === 'manifest.json');
4080
+ }
4081
+ function policyInstant(value) {
4082
+ const milliseconds = Date.parse(value.slice(0, 19) + 'Z');
4083
+ if (value.startsWith('0000-') || !Number.isFinite(milliseconds) || new Date(milliseconds).toISOString().slice(0, 19) !== value.slice(0, 19))
4084
+ throw new TypeError('Invalid policy instant');
4085
+ const fraction = value.includes('.') ? value.slice(20, -1).padEnd(6, '0') : '0';
4086
+ return BigInt(milliseconds) * 1000n + BigInt(fraction);
4087
+ }
4088
+ function policyPredicateCount(value, depth = 1) {
4089
+ if (typeof value === 'string')
4090
+ return 0;
4091
+ if (depth > 8)
4092
+ return 129;
4093
+ let count = 1;
4094
+ if (value.op === 'all' || value.op === 'any') {
4095
+ for (const child of value.terms) {
4096
+ count += policyPredicateCount(child, depth + 1);
4097
+ if (count > 128)
4098
+ return count;
4099
+ }
4100
+ }
4101
+ else if (value.op === 'not')
4102
+ count += policyPredicateCount(value.term, depth + 1);
4103
+ else if (['realmId', 'workspaceId', 'userId', 'installationId'].includes(value.field)) {
4104
+ const values = value.op === 'in' ? value.values : [value.value];
4105
+ if (values.some((v) => !/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(v) || v === '00000000-0000-0000-0000-000000000000'))
4106
+ return 129;
4107
+ }
4108
+ return count;
4109
+ }
4110
+ function policyBody(value) {
4111
+ const body = value;
4112
+ try {
4113
+ const issued = policyInstant(body.issuedAt), expires = policyInstant(body.expiresAt);
4114
+ if (expires <= issued || expires - issued > 86400000000n)
4115
+ return false;
4116
+ const ids = new Set(), prior = [];
4117
+ for (const rule of body.rules) {
4118
+ if (ids.has(rule.ruleId))
4119
+ return false;
4120
+ ids.add(rule.ruleId);
4121
+ const start = rule.effectiveAt === undefined ? issued : policyInstant(rule.effectiveAt);
4122
+ const end = rule.expiresAt === undefined ? expires : policyInstant(rule.expiresAt);
4123
+ if (!(start < end) || policyPredicateCount(rule.target) > 128)
4124
+ return false;
4125
+ for (const other of prior) {
4126
+ if (rule.key !== other.key || rule.scope !== other.scope || rule.priority !== other.priority)
4127
+ continue;
4128
+ const otherStart = other.effectiveAt === undefined ? issued : policyInstant(other.effectiveAt);
4129
+ const otherEnd = other.expiresAt === undefined ? expires : policyInstant(other.expiresAt);
4130
+ if (end <= otherStart || otherEnd <= start)
4131
+ continue;
4132
+ const finite = (target) => {
4133
+ if (typeof target === 'string')
4134
+ return { field: rule.scope + 'Id', values: [target] };
4135
+ if (target.op === 'equal')
4136
+ return { field: target.field, values: [target.value] };
4137
+ if (target.op === 'in')
4138
+ return { field: target.field, values: target.values };
4139
+ return undefined;
4140
+ };
4141
+ const a = finite(rule.target), b = finite(other.target);
4142
+ if (!a || !b || a.field !== b.field || a.values.some(value => b.values.includes(value)))
4143
+ return false;
4144
+ }
4145
+ prior.push(rule);
4146
+ if (rule.key.endsWith('.stop')) {
4147
+ const duration = policyInstant(rule.value.until) - policyInstant(rule.value.effectiveAt);
4148
+ if (duration <= 0n || duration > 86400000000n)
4149
+ return false;
4150
+ }
4151
+ if (rule.key === 'client.minimumApp' && rule.value.some((v) => v.platform === 'android' && v.minimumVersionCode === undefined))
4152
+ return false;
4153
+ }
4154
+ ids.clear();
4155
+ const groups = new Map();
4156
+ for (const experiment of body.experiments) {
4157
+ if (ids.has(experiment.experimentId))
4158
+ return false;
4159
+ ids.add(experiment.experimentId);
4160
+ const start = policyInstant(experiment.startsAt), end = policyInstant(experiment.endsAt);
4161
+ if (!(start < end) || policyPredicateCount(experiment.eligibility) > 128)
4162
+ return false;
4163
+ const variants = new Set();
4164
+ let allocation = 0;
4165
+ for (const variant of experiment.variants) {
4166
+ if (variants.has(variant.variantId) || Object.keys(variant.values).length === 0)
4167
+ return false;
4168
+ variants.add(variant.variantId);
4169
+ allocation += variant.allocation;
4170
+ }
4171
+ if (allocation !== experiment.allocation)
4172
+ return false;
4173
+ const total = allocation + experiment.holdoutBasisPoints;
4174
+ if (total > 10000)
4175
+ return false;
4176
+ if (experiment.exclusionGroup !== undefined) {
4177
+ const sum = (groups.get(experiment.exclusionGroup) ?? 0) + total;
4178
+ groups.set(experiment.exclusionGroup, sum);
4179
+ if (sum > 10000)
4180
+ return false;
4181
+ }
4182
+ }
4183
+ return true;
4184
+ }
4185
+ catch {
4186
+ return false;
4187
+ }
4188
+ }