@jeffusion/bungee-core 4.0.0 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/master.js +3710 -136
- package/dist/worker.js +2735 -1462
- package/package.json +2 -2
package/dist/master.js
CHANGED
|
@@ -16047,7 +16047,7 @@ var init_migrations = __esm(() => {
|
|
|
16047
16047
|
});
|
|
16048
16048
|
|
|
16049
16049
|
// src/config-migrations/types.ts
|
|
16050
|
-
var LATEST_CONFIG_VERSION =
|
|
16050
|
+
var LATEST_CONFIG_VERSION = 4;
|
|
16051
16051
|
|
|
16052
16052
|
// src/config-migrations/utils.ts
|
|
16053
16053
|
function isPlainObject(value) {
|
|
@@ -16110,7 +16110,7 @@ function detectConfigVersion(rawConfig) {
|
|
|
16110
16110
|
if (!isPlainObject(rawConfig)) {
|
|
16111
16111
|
return 1;
|
|
16112
16112
|
}
|
|
16113
|
-
const version = rawConfig.configVersion;
|
|
16113
|
+
const version = rawConfig.configVersion ?? rawConfig.config_version;
|
|
16114
16114
|
return typeof version === "number" && Number.isInteger(version) && version > 0 ? version : 1;
|
|
16115
16115
|
}
|
|
16116
16116
|
function isPlainRecord(value) {
|
|
@@ -16151,7 +16151,7 @@ var init_v1_to_v2 = __esm(() => {
|
|
|
16151
16151
|
];
|
|
16152
16152
|
v1ToV2Migration = {
|
|
16153
16153
|
fromVersion: 1,
|
|
16154
|
-
toVersion:
|
|
16154
|
+
toVersion: 2,
|
|
16155
16155
|
description: "Migrate legacy failover route fields to config model v2",
|
|
16156
16156
|
migrate(input) {
|
|
16157
16157
|
const config = cloneJson(input);
|
|
@@ -16184,7 +16184,259 @@ var init_v1_to_v2 = __esm(() => {
|
|
|
16184
16184
|
}
|
|
16185
16185
|
return cleanupEmptyObjects(migratedRoute);
|
|
16186
16186
|
});
|
|
16187
|
-
config.configVersion =
|
|
16187
|
+
config.configVersion = 2;
|
|
16188
|
+
return {
|
|
16189
|
+
config: cleanupEmptyObjects(config),
|
|
16190
|
+
changes,
|
|
16191
|
+
warnings
|
|
16192
|
+
};
|
|
16193
|
+
}
|
|
16194
|
+
};
|
|
16195
|
+
});
|
|
16196
|
+
|
|
16197
|
+
// src/config-migrations/versions/v2-to-v3.ts
|
|
16198
|
+
function renameKeysRecursive(obj, mappings, changes) {
|
|
16199
|
+
if (Array.isArray(obj)) {
|
|
16200
|
+
return obj.map((item) => renameKeysRecursive(item, mappings, changes));
|
|
16201
|
+
}
|
|
16202
|
+
if (!isPlainRecord(obj)) {
|
|
16203
|
+
return obj;
|
|
16204
|
+
}
|
|
16205
|
+
const result = {};
|
|
16206
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
16207
|
+
const mapping = mappings.find(([from]) => from === key);
|
|
16208
|
+
const newKey = mapping ? mapping[1] : key;
|
|
16209
|
+
if (mapping) {
|
|
16210
|
+
changes.push({
|
|
16211
|
+
type: "rename",
|
|
16212
|
+
path: key,
|
|
16213
|
+
from: key,
|
|
16214
|
+
to: newKey,
|
|
16215
|
+
message: `Renamed ${key} to ${newKey}`
|
|
16216
|
+
});
|
|
16217
|
+
}
|
|
16218
|
+
result[newKey] = renameKeysRecursive(value, mappings, changes);
|
|
16219
|
+
}
|
|
16220
|
+
return result;
|
|
16221
|
+
}
|
|
16222
|
+
function migrateRoutesToServiceRef(config, changes, warnings) {
|
|
16223
|
+
if (!Array.isArray(config.routes))
|
|
16224
|
+
return;
|
|
16225
|
+
const upstreamSignatureMap = new Map;
|
|
16226
|
+
const services = [];
|
|
16227
|
+
for (const route of config.routes) {
|
|
16228
|
+
if (!isPlainRecord(route))
|
|
16229
|
+
continue;
|
|
16230
|
+
const endpoints = route.endpoints;
|
|
16231
|
+
if (!Array.isArray(endpoints) || endpoints.length === 0) {
|
|
16232
|
+
warnings.push({
|
|
16233
|
+
path: `route "${route.path || "unknown"}"`,
|
|
16234
|
+
message: "Route has no endpoints; skipping service extraction"
|
|
16235
|
+
});
|
|
16236
|
+
continue;
|
|
16237
|
+
}
|
|
16238
|
+
const signature = JSON.stringify(endpoints.map((u) => ({
|
|
16239
|
+
target: u.target,
|
|
16240
|
+
weight: u.weight,
|
|
16241
|
+
priority: u.priority
|
|
16242
|
+
})));
|
|
16243
|
+
let serviceName = upstreamSignatureMap.get(signature);
|
|
16244
|
+
if (!serviceName) {
|
|
16245
|
+
serviceName = `service-${services.length + 1}`;
|
|
16246
|
+
upstreamSignatureMap.set(signature, serviceName);
|
|
16247
|
+
const service = {
|
|
16248
|
+
name: serviceName,
|
|
16249
|
+
endpoints
|
|
16250
|
+
};
|
|
16251
|
+
if (isPlainRecord(route.health_check)) {
|
|
16252
|
+
service.health_check = route.health_check;
|
|
16253
|
+
}
|
|
16254
|
+
services.push(service);
|
|
16255
|
+
changes.push({
|
|
16256
|
+
type: "move",
|
|
16257
|
+
path: `route "${route.path}".endpoints`,
|
|
16258
|
+
from: "route.endpoints",
|
|
16259
|
+
to: `services.${serviceName}.endpoints`,
|
|
16260
|
+
message: `Extracted endpoints to service "${serviceName}"`
|
|
16261
|
+
});
|
|
16262
|
+
}
|
|
16263
|
+
route.service = serviceName;
|
|
16264
|
+
delete route.endpoints;
|
|
16265
|
+
}
|
|
16266
|
+
config.services = services;
|
|
16267
|
+
}
|
|
16268
|
+
var CAMEL_TO_SNAKE_MAPPINGS, v2ToV3Migration;
|
|
16269
|
+
var init_v2_to_v3 = __esm(() => {
|
|
16270
|
+
CAMEL_TO_SNAKE_MAPPINGS = [
|
|
16271
|
+
["configVersion", "config_version"],
|
|
16272
|
+
["logLevel", "log_level"],
|
|
16273
|
+
["bodyParserLimit", "body_parser_limit"],
|
|
16274
|
+
["pathRewrite", "path_rewrite"],
|
|
16275
|
+
["stickySession", "sticky_session"],
|
|
16276
|
+
["keyExpression", "key_expression"],
|
|
16277
|
+
["connectMs", "connect_ms"],
|
|
16278
|
+
["requestMs", "request_ms"],
|
|
16279
|
+
["retryOn", "retry_on"],
|
|
16280
|
+
["passiveHealth", "passive_health"],
|
|
16281
|
+
["consecutiveFailures", "consecutive_failures"],
|
|
16282
|
+
["healthySuccesses", "healthy_successes"],
|
|
16283
|
+
["autoDisableThreshold", "auto_disable_threshold"],
|
|
16284
|
+
["autoEnableOnActiveHealthCheck", "auto_enable_on_active_health_check"],
|
|
16285
|
+
["probeIntervalMs", "probe_interval_ms"],
|
|
16286
|
+
["probeTimeoutMs", "probe_timeout_ms"],
|
|
16287
|
+
["slowStart", "slow_start"],
|
|
16288
|
+
["durationMs", "duration_ms"],
|
|
16289
|
+
["initialWeightFactor", "initial_weight_factor"],
|
|
16290
|
+
["healthCheck", "health_check"],
|
|
16291
|
+
["intervalMs", "interval_ms"],
|
|
16292
|
+
["timeoutMs", "timeout_ms"],
|
|
16293
|
+
["expectedStatus", "expected_status"],
|
|
16294
|
+
["unhealthyThreshold", "unhealthy_threshold"],
|
|
16295
|
+
["healthyThreshold", "healthy_threshold"],
|
|
16296
|
+
["contentType", "content_type"],
|
|
16297
|
+
["maxSize", "max_size"],
|
|
16298
|
+
["retentionDays", "retention_days"],
|
|
16299
|
+
["upstreams", "endpoints"]
|
|
16300
|
+
];
|
|
16301
|
+
v2ToV3Migration = {
|
|
16302
|
+
fromVersion: 2,
|
|
16303
|
+
toVersion: 3,
|
|
16304
|
+
description: "Migrate camelCase to snake_case and extract upstreams into services",
|
|
16305
|
+
migrate(input) {
|
|
16306
|
+
const config = cloneJson(input);
|
|
16307
|
+
if (!isPlainRecord(config)) {
|
|
16308
|
+
throw new Error("Config must be an object");
|
|
16309
|
+
}
|
|
16310
|
+
const changes = [];
|
|
16311
|
+
const warnings = [];
|
|
16312
|
+
const renamedConfig = renameKeysRecursive(config, CAMEL_TO_SNAKE_MAPPINGS, changes);
|
|
16313
|
+
migrateRoutesToServiceRef(renamedConfig, changes, warnings);
|
|
16314
|
+
renamedConfig.config_version = 3;
|
|
16315
|
+
return {
|
|
16316
|
+
config: cleanupEmptyObjects(renamedConfig),
|
|
16317
|
+
changes,
|
|
16318
|
+
warnings
|
|
16319
|
+
};
|
|
16320
|
+
}
|
|
16321
|
+
};
|
|
16322
|
+
});
|
|
16323
|
+
|
|
16324
|
+
// src/config-migrations/versions/v3-to-v4.ts
|
|
16325
|
+
function serviceNameFromPath(path6) {
|
|
16326
|
+
const base = path6.replace(/^\/+/, "").replace(/\/+$/, "").replace(/[^a-zA-Z0-9]+/g, "-").replace(/^-+|-+$/g, "").toLowerCase();
|
|
16327
|
+
return `${base || "root"}-service`;
|
|
16328
|
+
}
|
|
16329
|
+
function uniqueServiceName(preferredName, existingNames) {
|
|
16330
|
+
if (!existingNames.has(preferredName)) {
|
|
16331
|
+
existingNames.add(preferredName);
|
|
16332
|
+
return preferredName;
|
|
16333
|
+
}
|
|
16334
|
+
let suffix = 2;
|
|
16335
|
+
while (existingNames.has(`${preferredName}-${suffix}`)) {
|
|
16336
|
+
suffix++;
|
|
16337
|
+
}
|
|
16338
|
+
const name = `${preferredName}-${suffix}`;
|
|
16339
|
+
existingNames.add(name);
|
|
16340
|
+
return name;
|
|
16341
|
+
}
|
|
16342
|
+
function moveRouteConfigToService(route, service, routeIndex, changes) {
|
|
16343
|
+
if (route.failover && !service.failover) {
|
|
16344
|
+
service.failover = route.failover;
|
|
16345
|
+
changes.push({
|
|
16346
|
+
type: "move",
|
|
16347
|
+
path: `routes.${routeIndex}.failover`,
|
|
16348
|
+
from: `routes.${routeIndex}.failover`,
|
|
16349
|
+
to: `services.${service.name}.failover`,
|
|
16350
|
+
message: `Moved route failover to service "${service.name}"`
|
|
16351
|
+
});
|
|
16352
|
+
}
|
|
16353
|
+
if (route.sticky_session && !service.sticky_session) {
|
|
16354
|
+
service.sticky_session = route.sticky_session;
|
|
16355
|
+
changes.push({
|
|
16356
|
+
type: "move",
|
|
16357
|
+
path: `routes.${routeIndex}.sticky_session`,
|
|
16358
|
+
from: `routes.${routeIndex}.sticky_session`,
|
|
16359
|
+
to: `services.${service.name}.sticky_session`,
|
|
16360
|
+
message: `Moved route sticky_session to service "${service.name}"`
|
|
16361
|
+
});
|
|
16362
|
+
}
|
|
16363
|
+
if (route.failover) {
|
|
16364
|
+
delete route.failover;
|
|
16365
|
+
}
|
|
16366
|
+
if (route.sticky_session) {
|
|
16367
|
+
delete route.sticky_session;
|
|
16368
|
+
}
|
|
16369
|
+
}
|
|
16370
|
+
var v3ToV4Migration;
|
|
16371
|
+
var init_v3_to_v4 = __esm(() => {
|
|
16372
|
+
v3ToV4Migration = {
|
|
16373
|
+
fromVersion: 3,
|
|
16374
|
+
toVersion: 4,
|
|
16375
|
+
description: "Move failover and sticky_session from routes to services",
|
|
16376
|
+
migrate(input) {
|
|
16377
|
+
const config = cloneJson(input);
|
|
16378
|
+
if (!isPlainRecord(config)) {
|
|
16379
|
+
throw new Error("Config must be an object");
|
|
16380
|
+
}
|
|
16381
|
+
const changes = [];
|
|
16382
|
+
const warnings = [];
|
|
16383
|
+
const routes = Array.isArray(config.routes) ? config.routes : [];
|
|
16384
|
+
const services = Array.isArray(config.services) ? config.services : [];
|
|
16385
|
+
const serviceNames = new Set(services.map((service) => service.name));
|
|
16386
|
+
for (let routeIndex = 0;routeIndex < routes.length; routeIndex++) {
|
|
16387
|
+
const route = routes[routeIndex];
|
|
16388
|
+
if (!isPlainRecord(route)) {
|
|
16389
|
+
continue;
|
|
16390
|
+
}
|
|
16391
|
+
const hasRouteFailover = route.failover !== undefined;
|
|
16392
|
+
const hasRouteStickySession = route.sticky_session !== undefined;
|
|
16393
|
+
if (!hasRouteFailover && !hasRouteStickySession) {
|
|
16394
|
+
continue;
|
|
16395
|
+
}
|
|
16396
|
+
if (route.service) {
|
|
16397
|
+
let service2 = services.find((candidate) => candidate.name === route.service);
|
|
16398
|
+
if (!service2) {
|
|
16399
|
+
const routeEndpoints2 = route.endpoints ?? [];
|
|
16400
|
+
service2 = {
|
|
16401
|
+
name: route.service,
|
|
16402
|
+
endpoints: routeEndpoints2
|
|
16403
|
+
};
|
|
16404
|
+
services.push(service2);
|
|
16405
|
+
serviceNames.add(service2.name);
|
|
16406
|
+
changes.push({
|
|
16407
|
+
type: "move",
|
|
16408
|
+
path: `routes.${routeIndex}.service`,
|
|
16409
|
+
to: `services.${service2.name}`,
|
|
16410
|
+
message: `Created missing service "${service2.name}" for route "${route.path}"`
|
|
16411
|
+
});
|
|
16412
|
+
}
|
|
16413
|
+
moveRouteConfigToService(route, service2, routeIndex, changes);
|
|
16414
|
+
continue;
|
|
16415
|
+
}
|
|
16416
|
+
const serviceName = uniqueServiceName(serviceNameFromPath(route.path), serviceNames);
|
|
16417
|
+
const routeEndpoints = route.endpoints ?? [];
|
|
16418
|
+
const service = {
|
|
16419
|
+
name: serviceName,
|
|
16420
|
+
endpoints: routeEndpoints,
|
|
16421
|
+
...route.failover && { failover: route.failover },
|
|
16422
|
+
...route.sticky_session && { sticky_session: route.sticky_session }
|
|
16423
|
+
};
|
|
16424
|
+
services.push(service);
|
|
16425
|
+
route.service = serviceName;
|
|
16426
|
+
delete route.endpoints;
|
|
16427
|
+
changes.push({
|
|
16428
|
+
type: "move",
|
|
16429
|
+
path: `routes.${routeIndex}`,
|
|
16430
|
+
from: `routes.${routeIndex}.endpoints/failover/sticky_session`,
|
|
16431
|
+
to: `services.${serviceName}`,
|
|
16432
|
+
message: `Created service "${serviceName}" from route "${route.path}"`
|
|
16433
|
+
});
|
|
16434
|
+
moveRouteConfigToService(route, service, routeIndex, changes);
|
|
16435
|
+
}
|
|
16436
|
+
if (services.length > 0) {
|
|
16437
|
+
config.services = services;
|
|
16438
|
+
}
|
|
16439
|
+
config.config_version = 4;
|
|
16188
16440
|
return {
|
|
16189
16441
|
config: cleanupEmptyObjects(config),
|
|
16190
16442
|
changes,
|
|
@@ -16198,47 +16450,3324 @@ var init_v1_to_v2 = __esm(() => {
|
|
|
16198
16450
|
var CONFIG_MIGRATIONS;
|
|
16199
16451
|
var init_config_migrations = __esm(() => {
|
|
16200
16452
|
init_v1_to_v2();
|
|
16453
|
+
init_v2_to_v3();
|
|
16454
|
+
init_v3_to_v4();
|
|
16201
16455
|
CONFIG_MIGRATIONS = [
|
|
16202
|
-
v1ToV2Migration
|
|
16456
|
+
v1ToV2Migration,
|
|
16457
|
+
v2ToV3Migration,
|
|
16458
|
+
v3ToV4Migration
|
|
16203
16459
|
];
|
|
16204
16460
|
});
|
|
16205
16461
|
|
|
16206
|
-
// src/config-migrations/migrate-config.ts
|
|
16207
|
-
function buildMigrationMap(migrations2) {
|
|
16208
|
-
return new Map(migrations2.map((migration4) => [migration4.fromVersion, migration4]));
|
|
16462
|
+
// src/config-migrations/migrate-config.ts
|
|
16463
|
+
function buildMigrationMap(migrations2) {
|
|
16464
|
+
return new Map(migrations2.map((migration4) => [migration4.fromVersion, migration4]));
|
|
16465
|
+
}
|
|
16466
|
+
function migrateConfigToLatest(rawConfig) {
|
|
16467
|
+
const migrationMap = buildMigrationMap(CONFIG_MIGRATIONS);
|
|
16468
|
+
const originalVersion = detectConfigVersion(rawConfig);
|
|
16469
|
+
let currentVersion = originalVersion;
|
|
16470
|
+
let workingConfig = cloneJson(rawConfig);
|
|
16471
|
+
const changes = [];
|
|
16472
|
+
const warnings = [];
|
|
16473
|
+
while (currentVersion < LATEST_CONFIG_VERSION) {
|
|
16474
|
+
const migration4 = migrationMap.get(currentVersion);
|
|
16475
|
+
if (!migration4) {
|
|
16476
|
+
throw new Error(`No config migration registered from version ${currentVersion}`);
|
|
16477
|
+
}
|
|
16478
|
+
const result = migration4.migrate(workingConfig);
|
|
16479
|
+
workingConfig = result.config;
|
|
16480
|
+
changes.push(...result.changes);
|
|
16481
|
+
warnings.push(...result.warnings);
|
|
16482
|
+
currentVersion = migration4.toVersion;
|
|
16483
|
+
}
|
|
16484
|
+
if (!isPlainRecord(workingConfig)) {
|
|
16485
|
+
throw new Error("Migrated config must be an object");
|
|
16486
|
+
}
|
|
16487
|
+
workingConfig.config_version = LATEST_CONFIG_VERSION;
|
|
16488
|
+
return {
|
|
16489
|
+
config: workingConfig,
|
|
16490
|
+
originalVersion,
|
|
16491
|
+
finalVersion: LATEST_CONFIG_VERSION,
|
|
16492
|
+
changes,
|
|
16493
|
+
warnings
|
|
16494
|
+
};
|
|
16495
|
+
}
|
|
16496
|
+
var init_migrate_config = __esm(() => {
|
|
16497
|
+
init_config_migrations();
|
|
16498
|
+
});
|
|
16499
|
+
|
|
16500
|
+
// src/compat/legacy-plugin-adapter.ts
|
|
16501
|
+
class LegacyCompatAdapter {
|
|
16502
|
+
static adaptConfig(config) {
|
|
16503
|
+
if (!config.services)
|
|
16504
|
+
return config;
|
|
16505
|
+
return {
|
|
16506
|
+
...config,
|
|
16507
|
+
services: config.services.map((service) => ({
|
|
16508
|
+
...service,
|
|
16509
|
+
plugins: service.plugins ?? []
|
|
16510
|
+
}))
|
|
16511
|
+
};
|
|
16512
|
+
}
|
|
16513
|
+
static adaptInterceptResult(result) {
|
|
16514
|
+
if (result === undefined)
|
|
16515
|
+
return;
|
|
16516
|
+
if (result instanceof Response) {
|
|
16517
|
+
return { action: "respond", response: result };
|
|
16518
|
+
}
|
|
16519
|
+
return result;
|
|
16520
|
+
}
|
|
16521
|
+
}
|
|
16522
|
+
|
|
16523
|
+
// ../../node_modules/lodash-es/_listCacheClear.js
|
|
16524
|
+
function listCacheClear() {
|
|
16525
|
+
this.__data__ = [];
|
|
16526
|
+
this.size = 0;
|
|
16527
|
+
}
|
|
16528
|
+
var _listCacheClear_default;
|
|
16529
|
+
var init__listCacheClear = __esm(() => {
|
|
16530
|
+
_listCacheClear_default = listCacheClear;
|
|
16531
|
+
});
|
|
16532
|
+
|
|
16533
|
+
// ../../node_modules/lodash-es/eq.js
|
|
16534
|
+
function eq(value, other) {
|
|
16535
|
+
return value === other || value !== value && other !== other;
|
|
16536
|
+
}
|
|
16537
|
+
var eq_default;
|
|
16538
|
+
var init_eq = __esm(() => {
|
|
16539
|
+
eq_default = eq;
|
|
16540
|
+
});
|
|
16541
|
+
|
|
16542
|
+
// ../../node_modules/lodash-es/_assocIndexOf.js
|
|
16543
|
+
function assocIndexOf(array, key) {
|
|
16544
|
+
var length = array.length;
|
|
16545
|
+
while (length--) {
|
|
16546
|
+
if (eq_default(array[length][0], key)) {
|
|
16547
|
+
return length;
|
|
16548
|
+
}
|
|
16549
|
+
}
|
|
16550
|
+
return -1;
|
|
16551
|
+
}
|
|
16552
|
+
var _assocIndexOf_default;
|
|
16553
|
+
var init__assocIndexOf = __esm(() => {
|
|
16554
|
+
init_eq();
|
|
16555
|
+
_assocIndexOf_default = assocIndexOf;
|
|
16556
|
+
});
|
|
16557
|
+
|
|
16558
|
+
// ../../node_modules/lodash-es/_listCacheDelete.js
|
|
16559
|
+
function listCacheDelete(key) {
|
|
16560
|
+
var data = this.__data__, index = _assocIndexOf_default(data, key);
|
|
16561
|
+
if (index < 0) {
|
|
16562
|
+
return false;
|
|
16563
|
+
}
|
|
16564
|
+
var lastIndex = data.length - 1;
|
|
16565
|
+
if (index == lastIndex) {
|
|
16566
|
+
data.pop();
|
|
16567
|
+
} else {
|
|
16568
|
+
splice.call(data, index, 1);
|
|
16569
|
+
}
|
|
16570
|
+
--this.size;
|
|
16571
|
+
return true;
|
|
16572
|
+
}
|
|
16573
|
+
var arrayProto, splice, _listCacheDelete_default;
|
|
16574
|
+
var init__listCacheDelete = __esm(() => {
|
|
16575
|
+
init__assocIndexOf();
|
|
16576
|
+
arrayProto = Array.prototype;
|
|
16577
|
+
splice = arrayProto.splice;
|
|
16578
|
+
_listCacheDelete_default = listCacheDelete;
|
|
16579
|
+
});
|
|
16580
|
+
|
|
16581
|
+
// ../../node_modules/lodash-es/_listCacheGet.js
|
|
16582
|
+
function listCacheGet(key) {
|
|
16583
|
+
var data = this.__data__, index = _assocIndexOf_default(data, key);
|
|
16584
|
+
return index < 0 ? undefined : data[index][1];
|
|
16585
|
+
}
|
|
16586
|
+
var _listCacheGet_default;
|
|
16587
|
+
var init__listCacheGet = __esm(() => {
|
|
16588
|
+
init__assocIndexOf();
|
|
16589
|
+
_listCacheGet_default = listCacheGet;
|
|
16590
|
+
});
|
|
16591
|
+
|
|
16592
|
+
// ../../node_modules/lodash-es/_listCacheHas.js
|
|
16593
|
+
function listCacheHas(key) {
|
|
16594
|
+
return _assocIndexOf_default(this.__data__, key) > -1;
|
|
16595
|
+
}
|
|
16596
|
+
var _listCacheHas_default;
|
|
16597
|
+
var init__listCacheHas = __esm(() => {
|
|
16598
|
+
init__assocIndexOf();
|
|
16599
|
+
_listCacheHas_default = listCacheHas;
|
|
16600
|
+
});
|
|
16601
|
+
|
|
16602
|
+
// ../../node_modules/lodash-es/_listCacheSet.js
|
|
16603
|
+
function listCacheSet(key, value) {
|
|
16604
|
+
var data = this.__data__, index = _assocIndexOf_default(data, key);
|
|
16605
|
+
if (index < 0) {
|
|
16606
|
+
++this.size;
|
|
16607
|
+
data.push([key, value]);
|
|
16608
|
+
} else {
|
|
16609
|
+
data[index][1] = value;
|
|
16610
|
+
}
|
|
16611
|
+
return this;
|
|
16612
|
+
}
|
|
16613
|
+
var _listCacheSet_default;
|
|
16614
|
+
var init__listCacheSet = __esm(() => {
|
|
16615
|
+
init__assocIndexOf();
|
|
16616
|
+
_listCacheSet_default = listCacheSet;
|
|
16617
|
+
});
|
|
16618
|
+
|
|
16619
|
+
// ../../node_modules/lodash-es/_ListCache.js
|
|
16620
|
+
function ListCache(entries) {
|
|
16621
|
+
var index = -1, length = entries == null ? 0 : entries.length;
|
|
16622
|
+
this.clear();
|
|
16623
|
+
while (++index < length) {
|
|
16624
|
+
var entry = entries[index];
|
|
16625
|
+
this.set(entry[0], entry[1]);
|
|
16626
|
+
}
|
|
16627
|
+
}
|
|
16628
|
+
var _ListCache_default;
|
|
16629
|
+
var init__ListCache = __esm(() => {
|
|
16630
|
+
init__listCacheClear();
|
|
16631
|
+
init__listCacheDelete();
|
|
16632
|
+
init__listCacheGet();
|
|
16633
|
+
init__listCacheHas();
|
|
16634
|
+
init__listCacheSet();
|
|
16635
|
+
ListCache.prototype.clear = _listCacheClear_default;
|
|
16636
|
+
ListCache.prototype["delete"] = _listCacheDelete_default;
|
|
16637
|
+
ListCache.prototype.get = _listCacheGet_default;
|
|
16638
|
+
ListCache.prototype.has = _listCacheHas_default;
|
|
16639
|
+
ListCache.prototype.set = _listCacheSet_default;
|
|
16640
|
+
_ListCache_default = ListCache;
|
|
16641
|
+
});
|
|
16642
|
+
|
|
16643
|
+
// ../../node_modules/lodash-es/_stackClear.js
|
|
16644
|
+
function stackClear() {
|
|
16645
|
+
this.__data__ = new _ListCache_default;
|
|
16646
|
+
this.size = 0;
|
|
16647
|
+
}
|
|
16648
|
+
var _stackClear_default;
|
|
16649
|
+
var init__stackClear = __esm(() => {
|
|
16650
|
+
init__ListCache();
|
|
16651
|
+
_stackClear_default = stackClear;
|
|
16652
|
+
});
|
|
16653
|
+
|
|
16654
|
+
// ../../node_modules/lodash-es/_stackDelete.js
|
|
16655
|
+
function stackDelete(key) {
|
|
16656
|
+
var data = this.__data__, result = data["delete"](key);
|
|
16657
|
+
this.size = data.size;
|
|
16658
|
+
return result;
|
|
16659
|
+
}
|
|
16660
|
+
var _stackDelete_default;
|
|
16661
|
+
var init__stackDelete = __esm(() => {
|
|
16662
|
+
_stackDelete_default = stackDelete;
|
|
16663
|
+
});
|
|
16664
|
+
|
|
16665
|
+
// ../../node_modules/lodash-es/_stackGet.js
|
|
16666
|
+
function stackGet(key) {
|
|
16667
|
+
return this.__data__.get(key);
|
|
16668
|
+
}
|
|
16669
|
+
var _stackGet_default;
|
|
16670
|
+
var init__stackGet = __esm(() => {
|
|
16671
|
+
_stackGet_default = stackGet;
|
|
16672
|
+
});
|
|
16673
|
+
|
|
16674
|
+
// ../../node_modules/lodash-es/_stackHas.js
|
|
16675
|
+
function stackHas(key) {
|
|
16676
|
+
return this.__data__.has(key);
|
|
16677
|
+
}
|
|
16678
|
+
var _stackHas_default;
|
|
16679
|
+
var init__stackHas = __esm(() => {
|
|
16680
|
+
_stackHas_default = stackHas;
|
|
16681
|
+
});
|
|
16682
|
+
|
|
16683
|
+
// ../../node_modules/lodash-es/_freeGlobal.js
|
|
16684
|
+
var freeGlobal, _freeGlobal_default;
|
|
16685
|
+
var init__freeGlobal = __esm(() => {
|
|
16686
|
+
freeGlobal = typeof global == "object" && global && global.Object === Object && global;
|
|
16687
|
+
_freeGlobal_default = freeGlobal;
|
|
16688
|
+
});
|
|
16689
|
+
|
|
16690
|
+
// ../../node_modules/lodash-es/_root.js
|
|
16691
|
+
var freeSelf, root, _root_default;
|
|
16692
|
+
var init__root = __esm(() => {
|
|
16693
|
+
init__freeGlobal();
|
|
16694
|
+
freeSelf = typeof self == "object" && self && self.Object === Object && self;
|
|
16695
|
+
root = _freeGlobal_default || freeSelf || Function("return this")();
|
|
16696
|
+
_root_default = root;
|
|
16697
|
+
});
|
|
16698
|
+
|
|
16699
|
+
// ../../node_modules/lodash-es/_Symbol.js
|
|
16700
|
+
var Symbol2, _Symbol_default;
|
|
16701
|
+
var init__Symbol = __esm(() => {
|
|
16702
|
+
init__root();
|
|
16703
|
+
Symbol2 = _root_default.Symbol;
|
|
16704
|
+
_Symbol_default = Symbol2;
|
|
16705
|
+
});
|
|
16706
|
+
|
|
16707
|
+
// ../../node_modules/lodash-es/_getRawTag.js
|
|
16708
|
+
function getRawTag(value) {
|
|
16709
|
+
var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
|
|
16710
|
+
try {
|
|
16711
|
+
value[symToStringTag] = undefined;
|
|
16712
|
+
var unmasked = true;
|
|
16713
|
+
} catch (e) {}
|
|
16714
|
+
var result = nativeObjectToString.call(value);
|
|
16715
|
+
if (unmasked) {
|
|
16716
|
+
if (isOwn) {
|
|
16717
|
+
value[symToStringTag] = tag;
|
|
16718
|
+
} else {
|
|
16719
|
+
delete value[symToStringTag];
|
|
16720
|
+
}
|
|
16721
|
+
}
|
|
16722
|
+
return result;
|
|
16723
|
+
}
|
|
16724
|
+
var objectProto, hasOwnProperty, nativeObjectToString, symToStringTag, _getRawTag_default;
|
|
16725
|
+
var init__getRawTag = __esm(() => {
|
|
16726
|
+
init__Symbol();
|
|
16727
|
+
objectProto = Object.prototype;
|
|
16728
|
+
hasOwnProperty = objectProto.hasOwnProperty;
|
|
16729
|
+
nativeObjectToString = objectProto.toString;
|
|
16730
|
+
symToStringTag = _Symbol_default ? _Symbol_default.toStringTag : undefined;
|
|
16731
|
+
_getRawTag_default = getRawTag;
|
|
16732
|
+
});
|
|
16733
|
+
|
|
16734
|
+
// ../../node_modules/lodash-es/_objectToString.js
|
|
16735
|
+
function objectToString(value) {
|
|
16736
|
+
return nativeObjectToString2.call(value);
|
|
16737
|
+
}
|
|
16738
|
+
var objectProto2, nativeObjectToString2, _objectToString_default;
|
|
16739
|
+
var init__objectToString = __esm(() => {
|
|
16740
|
+
objectProto2 = Object.prototype;
|
|
16741
|
+
nativeObjectToString2 = objectProto2.toString;
|
|
16742
|
+
_objectToString_default = objectToString;
|
|
16743
|
+
});
|
|
16744
|
+
|
|
16745
|
+
// ../../node_modules/lodash-es/_baseGetTag.js
|
|
16746
|
+
function baseGetTag(value) {
|
|
16747
|
+
if (value == null) {
|
|
16748
|
+
return value === undefined ? undefinedTag : nullTag;
|
|
16749
|
+
}
|
|
16750
|
+
return symToStringTag2 && symToStringTag2 in Object(value) ? _getRawTag_default(value) : _objectToString_default(value);
|
|
16751
|
+
}
|
|
16752
|
+
var nullTag = "[object Null]", undefinedTag = "[object Undefined]", symToStringTag2, _baseGetTag_default;
|
|
16753
|
+
var init__baseGetTag = __esm(() => {
|
|
16754
|
+
init__Symbol();
|
|
16755
|
+
init__getRawTag();
|
|
16756
|
+
init__objectToString();
|
|
16757
|
+
symToStringTag2 = _Symbol_default ? _Symbol_default.toStringTag : undefined;
|
|
16758
|
+
_baseGetTag_default = baseGetTag;
|
|
16759
|
+
});
|
|
16760
|
+
|
|
16761
|
+
// ../../node_modules/lodash-es/isObject.js
|
|
16762
|
+
function isObject(value) {
|
|
16763
|
+
var type = typeof value;
|
|
16764
|
+
return value != null && (type == "object" || type == "function");
|
|
16765
|
+
}
|
|
16766
|
+
var isObject_default;
|
|
16767
|
+
var init_isObject = __esm(() => {
|
|
16768
|
+
isObject_default = isObject;
|
|
16769
|
+
});
|
|
16770
|
+
|
|
16771
|
+
// ../../node_modules/lodash-es/isFunction.js
|
|
16772
|
+
function isFunction(value) {
|
|
16773
|
+
if (!isObject_default(value)) {
|
|
16774
|
+
return false;
|
|
16775
|
+
}
|
|
16776
|
+
var tag = _baseGetTag_default(value);
|
|
16777
|
+
return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
|
|
16778
|
+
}
|
|
16779
|
+
var asyncTag = "[object AsyncFunction]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", proxyTag = "[object Proxy]", isFunction_default;
|
|
16780
|
+
var init_isFunction = __esm(() => {
|
|
16781
|
+
init__baseGetTag();
|
|
16782
|
+
init_isObject();
|
|
16783
|
+
isFunction_default = isFunction;
|
|
16784
|
+
});
|
|
16785
|
+
|
|
16786
|
+
// ../../node_modules/lodash-es/_coreJsData.js
|
|
16787
|
+
var coreJsData, _coreJsData_default;
|
|
16788
|
+
var init__coreJsData = __esm(() => {
|
|
16789
|
+
init__root();
|
|
16790
|
+
coreJsData = _root_default["__core-js_shared__"];
|
|
16791
|
+
_coreJsData_default = coreJsData;
|
|
16792
|
+
});
|
|
16793
|
+
|
|
16794
|
+
// ../../node_modules/lodash-es/_isMasked.js
|
|
16795
|
+
function isMasked(func) {
|
|
16796
|
+
return !!maskSrcKey && maskSrcKey in func;
|
|
16797
|
+
}
|
|
16798
|
+
var maskSrcKey, _isMasked_default;
|
|
16799
|
+
var init__isMasked = __esm(() => {
|
|
16800
|
+
init__coreJsData();
|
|
16801
|
+
maskSrcKey = function() {
|
|
16802
|
+
var uid = /[^.]+$/.exec(_coreJsData_default && _coreJsData_default.keys && _coreJsData_default.keys.IE_PROTO || "");
|
|
16803
|
+
return uid ? "Symbol(src)_1." + uid : "";
|
|
16804
|
+
}();
|
|
16805
|
+
_isMasked_default = isMasked;
|
|
16806
|
+
});
|
|
16807
|
+
|
|
16808
|
+
// ../../node_modules/lodash-es/_toSource.js
|
|
16809
|
+
function toSource(func) {
|
|
16810
|
+
if (func != null) {
|
|
16811
|
+
try {
|
|
16812
|
+
return funcToString.call(func);
|
|
16813
|
+
} catch (e) {}
|
|
16814
|
+
try {
|
|
16815
|
+
return func + "";
|
|
16816
|
+
} catch (e) {}
|
|
16817
|
+
}
|
|
16818
|
+
return "";
|
|
16819
|
+
}
|
|
16820
|
+
var funcProto, funcToString, _toSource_default;
|
|
16821
|
+
var init__toSource = __esm(() => {
|
|
16822
|
+
funcProto = Function.prototype;
|
|
16823
|
+
funcToString = funcProto.toString;
|
|
16824
|
+
_toSource_default = toSource;
|
|
16825
|
+
});
|
|
16826
|
+
|
|
16827
|
+
// ../../node_modules/lodash-es/_baseIsNative.js
|
|
16828
|
+
function baseIsNative(value) {
|
|
16829
|
+
if (!isObject_default(value) || _isMasked_default(value)) {
|
|
16830
|
+
return false;
|
|
16831
|
+
}
|
|
16832
|
+
var pattern = isFunction_default(value) ? reIsNative : reIsHostCtor;
|
|
16833
|
+
return pattern.test(_toSource_default(value));
|
|
16834
|
+
}
|
|
16835
|
+
var reRegExpChar, reIsHostCtor, funcProto2, objectProto3, funcToString2, hasOwnProperty2, reIsNative, _baseIsNative_default;
|
|
16836
|
+
var init__baseIsNative = __esm(() => {
|
|
16837
|
+
init_isFunction();
|
|
16838
|
+
init__isMasked();
|
|
16839
|
+
init_isObject();
|
|
16840
|
+
init__toSource();
|
|
16841
|
+
reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
|
|
16842
|
+
reIsHostCtor = /^\[object .+?Constructor\]$/;
|
|
16843
|
+
funcProto2 = Function.prototype;
|
|
16844
|
+
objectProto3 = Object.prototype;
|
|
16845
|
+
funcToString2 = funcProto2.toString;
|
|
16846
|
+
hasOwnProperty2 = objectProto3.hasOwnProperty;
|
|
16847
|
+
reIsNative = RegExp("^" + funcToString2.call(hasOwnProperty2).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
|
|
16848
|
+
_baseIsNative_default = baseIsNative;
|
|
16849
|
+
});
|
|
16850
|
+
|
|
16851
|
+
// ../../node_modules/lodash-es/_getValue.js
|
|
16852
|
+
function getValue(object, key) {
|
|
16853
|
+
return object == null ? undefined : object[key];
|
|
16854
|
+
}
|
|
16855
|
+
var _getValue_default;
|
|
16856
|
+
var init__getValue = __esm(() => {
|
|
16857
|
+
_getValue_default = getValue;
|
|
16858
|
+
});
|
|
16859
|
+
|
|
16860
|
+
// ../../node_modules/lodash-es/_getNative.js
|
|
16861
|
+
function getNative(object, key) {
|
|
16862
|
+
var value = _getValue_default(object, key);
|
|
16863
|
+
return _baseIsNative_default(value) ? value : undefined;
|
|
16864
|
+
}
|
|
16865
|
+
var _getNative_default;
|
|
16866
|
+
var init__getNative = __esm(() => {
|
|
16867
|
+
init__baseIsNative();
|
|
16868
|
+
init__getValue();
|
|
16869
|
+
_getNative_default = getNative;
|
|
16870
|
+
});
|
|
16871
|
+
|
|
16872
|
+
// ../../node_modules/lodash-es/_Map.js
|
|
16873
|
+
var Map2, _Map_default;
|
|
16874
|
+
var init__Map = __esm(() => {
|
|
16875
|
+
init__getNative();
|
|
16876
|
+
init__root();
|
|
16877
|
+
Map2 = _getNative_default(_root_default, "Map");
|
|
16878
|
+
_Map_default = Map2;
|
|
16879
|
+
});
|
|
16880
|
+
|
|
16881
|
+
// ../../node_modules/lodash-es/_nativeCreate.js
|
|
16882
|
+
var nativeCreate, _nativeCreate_default;
|
|
16883
|
+
var init__nativeCreate = __esm(() => {
|
|
16884
|
+
init__getNative();
|
|
16885
|
+
nativeCreate = _getNative_default(Object, "create");
|
|
16886
|
+
_nativeCreate_default = nativeCreate;
|
|
16887
|
+
});
|
|
16888
|
+
|
|
16889
|
+
// ../../node_modules/lodash-es/_hashClear.js
|
|
16890
|
+
function hashClear() {
|
|
16891
|
+
this.__data__ = _nativeCreate_default ? _nativeCreate_default(null) : {};
|
|
16892
|
+
this.size = 0;
|
|
16893
|
+
}
|
|
16894
|
+
var _hashClear_default;
|
|
16895
|
+
var init__hashClear = __esm(() => {
|
|
16896
|
+
init__nativeCreate();
|
|
16897
|
+
_hashClear_default = hashClear;
|
|
16898
|
+
});
|
|
16899
|
+
|
|
16900
|
+
// ../../node_modules/lodash-es/_hashDelete.js
|
|
16901
|
+
function hashDelete(key) {
|
|
16902
|
+
var result = this.has(key) && delete this.__data__[key];
|
|
16903
|
+
this.size -= result ? 1 : 0;
|
|
16904
|
+
return result;
|
|
16905
|
+
}
|
|
16906
|
+
var _hashDelete_default;
|
|
16907
|
+
var init__hashDelete = __esm(() => {
|
|
16908
|
+
_hashDelete_default = hashDelete;
|
|
16909
|
+
});
|
|
16910
|
+
|
|
16911
|
+
// ../../node_modules/lodash-es/_hashGet.js
|
|
16912
|
+
function hashGet(key) {
|
|
16913
|
+
var data = this.__data__;
|
|
16914
|
+
if (_nativeCreate_default) {
|
|
16915
|
+
var result = data[key];
|
|
16916
|
+
return result === HASH_UNDEFINED ? undefined : result;
|
|
16917
|
+
}
|
|
16918
|
+
return hasOwnProperty3.call(data, key) ? data[key] : undefined;
|
|
16919
|
+
}
|
|
16920
|
+
var HASH_UNDEFINED = "__lodash_hash_undefined__", objectProto4, hasOwnProperty3, _hashGet_default;
|
|
16921
|
+
var init__hashGet = __esm(() => {
|
|
16922
|
+
init__nativeCreate();
|
|
16923
|
+
objectProto4 = Object.prototype;
|
|
16924
|
+
hasOwnProperty3 = objectProto4.hasOwnProperty;
|
|
16925
|
+
_hashGet_default = hashGet;
|
|
16926
|
+
});
|
|
16927
|
+
|
|
16928
|
+
// ../../node_modules/lodash-es/_hashHas.js
|
|
16929
|
+
function hashHas(key) {
|
|
16930
|
+
var data = this.__data__;
|
|
16931
|
+
return _nativeCreate_default ? data[key] !== undefined : hasOwnProperty4.call(data, key);
|
|
16932
|
+
}
|
|
16933
|
+
var objectProto5, hasOwnProperty4, _hashHas_default;
|
|
16934
|
+
var init__hashHas = __esm(() => {
|
|
16935
|
+
init__nativeCreate();
|
|
16936
|
+
objectProto5 = Object.prototype;
|
|
16937
|
+
hasOwnProperty4 = objectProto5.hasOwnProperty;
|
|
16938
|
+
_hashHas_default = hashHas;
|
|
16939
|
+
});
|
|
16940
|
+
|
|
16941
|
+
// ../../node_modules/lodash-es/_hashSet.js
|
|
16942
|
+
function hashSet(key, value) {
|
|
16943
|
+
var data = this.__data__;
|
|
16944
|
+
this.size += this.has(key) ? 0 : 1;
|
|
16945
|
+
data[key] = _nativeCreate_default && value === undefined ? HASH_UNDEFINED2 : value;
|
|
16946
|
+
return this;
|
|
16947
|
+
}
|
|
16948
|
+
var HASH_UNDEFINED2 = "__lodash_hash_undefined__", _hashSet_default;
|
|
16949
|
+
var init__hashSet = __esm(() => {
|
|
16950
|
+
init__nativeCreate();
|
|
16951
|
+
_hashSet_default = hashSet;
|
|
16952
|
+
});
|
|
16953
|
+
|
|
16954
|
+
// ../../node_modules/lodash-es/_Hash.js
|
|
16955
|
+
function Hash(entries) {
|
|
16956
|
+
var index = -1, length = entries == null ? 0 : entries.length;
|
|
16957
|
+
this.clear();
|
|
16958
|
+
while (++index < length) {
|
|
16959
|
+
var entry = entries[index];
|
|
16960
|
+
this.set(entry[0], entry[1]);
|
|
16961
|
+
}
|
|
16962
|
+
}
|
|
16963
|
+
var _Hash_default;
|
|
16964
|
+
var init__Hash = __esm(() => {
|
|
16965
|
+
init__hashClear();
|
|
16966
|
+
init__hashDelete();
|
|
16967
|
+
init__hashGet();
|
|
16968
|
+
init__hashHas();
|
|
16969
|
+
init__hashSet();
|
|
16970
|
+
Hash.prototype.clear = _hashClear_default;
|
|
16971
|
+
Hash.prototype["delete"] = _hashDelete_default;
|
|
16972
|
+
Hash.prototype.get = _hashGet_default;
|
|
16973
|
+
Hash.prototype.has = _hashHas_default;
|
|
16974
|
+
Hash.prototype.set = _hashSet_default;
|
|
16975
|
+
_Hash_default = Hash;
|
|
16976
|
+
});
|
|
16977
|
+
|
|
16978
|
+
// ../../node_modules/lodash-es/_mapCacheClear.js
|
|
16979
|
+
function mapCacheClear() {
|
|
16980
|
+
this.size = 0;
|
|
16981
|
+
this.__data__ = {
|
|
16982
|
+
hash: new _Hash_default,
|
|
16983
|
+
map: new (_Map_default || _ListCache_default),
|
|
16984
|
+
string: new _Hash_default
|
|
16985
|
+
};
|
|
16986
|
+
}
|
|
16987
|
+
var _mapCacheClear_default;
|
|
16988
|
+
var init__mapCacheClear = __esm(() => {
|
|
16989
|
+
init__Hash();
|
|
16990
|
+
init__ListCache();
|
|
16991
|
+
init__Map();
|
|
16992
|
+
_mapCacheClear_default = mapCacheClear;
|
|
16993
|
+
});
|
|
16994
|
+
|
|
16995
|
+
// ../../node_modules/lodash-es/_isKeyable.js
|
|
16996
|
+
function isKeyable(value) {
|
|
16997
|
+
var type = typeof value;
|
|
16998
|
+
return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
|
|
16999
|
+
}
|
|
17000
|
+
var _isKeyable_default;
|
|
17001
|
+
var init__isKeyable = __esm(() => {
|
|
17002
|
+
_isKeyable_default = isKeyable;
|
|
17003
|
+
});
|
|
17004
|
+
|
|
17005
|
+
// ../../node_modules/lodash-es/_getMapData.js
|
|
17006
|
+
function getMapData(map, key) {
|
|
17007
|
+
var data = map.__data__;
|
|
17008
|
+
return _isKeyable_default(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
|
|
17009
|
+
}
|
|
17010
|
+
var _getMapData_default;
|
|
17011
|
+
var init__getMapData = __esm(() => {
|
|
17012
|
+
init__isKeyable();
|
|
17013
|
+
_getMapData_default = getMapData;
|
|
17014
|
+
});
|
|
17015
|
+
|
|
17016
|
+
// ../../node_modules/lodash-es/_mapCacheDelete.js
|
|
17017
|
+
function mapCacheDelete(key) {
|
|
17018
|
+
var result = _getMapData_default(this, key)["delete"](key);
|
|
17019
|
+
this.size -= result ? 1 : 0;
|
|
17020
|
+
return result;
|
|
17021
|
+
}
|
|
17022
|
+
var _mapCacheDelete_default;
|
|
17023
|
+
var init__mapCacheDelete = __esm(() => {
|
|
17024
|
+
init__getMapData();
|
|
17025
|
+
_mapCacheDelete_default = mapCacheDelete;
|
|
17026
|
+
});
|
|
17027
|
+
|
|
17028
|
+
// ../../node_modules/lodash-es/_mapCacheGet.js
|
|
17029
|
+
function mapCacheGet(key) {
|
|
17030
|
+
return _getMapData_default(this, key).get(key);
|
|
17031
|
+
}
|
|
17032
|
+
var _mapCacheGet_default;
|
|
17033
|
+
var init__mapCacheGet = __esm(() => {
|
|
17034
|
+
init__getMapData();
|
|
17035
|
+
_mapCacheGet_default = mapCacheGet;
|
|
17036
|
+
});
|
|
17037
|
+
|
|
17038
|
+
// ../../node_modules/lodash-es/_mapCacheHas.js
|
|
17039
|
+
function mapCacheHas(key) {
|
|
17040
|
+
return _getMapData_default(this, key).has(key);
|
|
17041
|
+
}
|
|
17042
|
+
var _mapCacheHas_default;
|
|
17043
|
+
var init__mapCacheHas = __esm(() => {
|
|
17044
|
+
init__getMapData();
|
|
17045
|
+
_mapCacheHas_default = mapCacheHas;
|
|
17046
|
+
});
|
|
17047
|
+
|
|
17048
|
+
// ../../node_modules/lodash-es/_mapCacheSet.js
|
|
17049
|
+
function mapCacheSet(key, value) {
|
|
17050
|
+
var data = _getMapData_default(this, key), size = data.size;
|
|
17051
|
+
data.set(key, value);
|
|
17052
|
+
this.size += data.size == size ? 0 : 1;
|
|
17053
|
+
return this;
|
|
17054
|
+
}
|
|
17055
|
+
var _mapCacheSet_default;
|
|
17056
|
+
var init__mapCacheSet = __esm(() => {
|
|
17057
|
+
init__getMapData();
|
|
17058
|
+
_mapCacheSet_default = mapCacheSet;
|
|
17059
|
+
});
|
|
17060
|
+
|
|
17061
|
+
// ../../node_modules/lodash-es/_MapCache.js
|
|
17062
|
+
function MapCache(entries) {
|
|
17063
|
+
var index = -1, length = entries == null ? 0 : entries.length;
|
|
17064
|
+
this.clear();
|
|
17065
|
+
while (++index < length) {
|
|
17066
|
+
var entry = entries[index];
|
|
17067
|
+
this.set(entry[0], entry[1]);
|
|
17068
|
+
}
|
|
17069
|
+
}
|
|
17070
|
+
var _MapCache_default;
|
|
17071
|
+
var init__MapCache = __esm(() => {
|
|
17072
|
+
init__mapCacheClear();
|
|
17073
|
+
init__mapCacheDelete();
|
|
17074
|
+
init__mapCacheGet();
|
|
17075
|
+
init__mapCacheHas();
|
|
17076
|
+
init__mapCacheSet();
|
|
17077
|
+
MapCache.prototype.clear = _mapCacheClear_default;
|
|
17078
|
+
MapCache.prototype["delete"] = _mapCacheDelete_default;
|
|
17079
|
+
MapCache.prototype.get = _mapCacheGet_default;
|
|
17080
|
+
MapCache.prototype.has = _mapCacheHas_default;
|
|
17081
|
+
MapCache.prototype.set = _mapCacheSet_default;
|
|
17082
|
+
_MapCache_default = MapCache;
|
|
17083
|
+
});
|
|
17084
|
+
|
|
17085
|
+
// ../../node_modules/lodash-es/_stackSet.js
|
|
17086
|
+
function stackSet(key, value) {
|
|
17087
|
+
var data = this.__data__;
|
|
17088
|
+
if (data instanceof _ListCache_default) {
|
|
17089
|
+
var pairs = data.__data__;
|
|
17090
|
+
if (!_Map_default || pairs.length < LARGE_ARRAY_SIZE - 1) {
|
|
17091
|
+
pairs.push([key, value]);
|
|
17092
|
+
this.size = ++data.size;
|
|
17093
|
+
return this;
|
|
17094
|
+
}
|
|
17095
|
+
data = this.__data__ = new _MapCache_default(pairs);
|
|
17096
|
+
}
|
|
17097
|
+
data.set(key, value);
|
|
17098
|
+
this.size = data.size;
|
|
17099
|
+
return this;
|
|
17100
|
+
}
|
|
17101
|
+
var LARGE_ARRAY_SIZE = 200, _stackSet_default;
|
|
17102
|
+
var init__stackSet = __esm(() => {
|
|
17103
|
+
init__ListCache();
|
|
17104
|
+
init__Map();
|
|
17105
|
+
init__MapCache();
|
|
17106
|
+
_stackSet_default = stackSet;
|
|
17107
|
+
});
|
|
17108
|
+
|
|
17109
|
+
// ../../node_modules/lodash-es/_Stack.js
|
|
17110
|
+
function Stack(entries) {
|
|
17111
|
+
var data = this.__data__ = new _ListCache_default(entries);
|
|
17112
|
+
this.size = data.size;
|
|
17113
|
+
}
|
|
17114
|
+
var _Stack_default;
|
|
17115
|
+
var init__Stack = __esm(() => {
|
|
17116
|
+
init__ListCache();
|
|
17117
|
+
init__stackClear();
|
|
17118
|
+
init__stackDelete();
|
|
17119
|
+
init__stackGet();
|
|
17120
|
+
init__stackHas();
|
|
17121
|
+
init__stackSet();
|
|
17122
|
+
Stack.prototype.clear = _stackClear_default;
|
|
17123
|
+
Stack.prototype["delete"] = _stackDelete_default;
|
|
17124
|
+
Stack.prototype.get = _stackGet_default;
|
|
17125
|
+
Stack.prototype.has = _stackHas_default;
|
|
17126
|
+
Stack.prototype.set = _stackSet_default;
|
|
17127
|
+
_Stack_default = Stack;
|
|
17128
|
+
});
|
|
17129
|
+
|
|
17130
|
+
// ../../node_modules/lodash-es/_setCacheAdd.js
|
|
17131
|
+
function setCacheAdd(value) {
|
|
17132
|
+
this.__data__.set(value, HASH_UNDEFINED3);
|
|
17133
|
+
return this;
|
|
17134
|
+
}
|
|
17135
|
+
var HASH_UNDEFINED3 = "__lodash_hash_undefined__", _setCacheAdd_default;
|
|
17136
|
+
var init__setCacheAdd = __esm(() => {
|
|
17137
|
+
_setCacheAdd_default = setCacheAdd;
|
|
17138
|
+
});
|
|
17139
|
+
|
|
17140
|
+
// ../../node_modules/lodash-es/_setCacheHas.js
|
|
17141
|
+
function setCacheHas(value) {
|
|
17142
|
+
return this.__data__.has(value);
|
|
17143
|
+
}
|
|
17144
|
+
var _setCacheHas_default;
|
|
17145
|
+
var init__setCacheHas = __esm(() => {
|
|
17146
|
+
_setCacheHas_default = setCacheHas;
|
|
17147
|
+
});
|
|
17148
|
+
|
|
17149
|
+
// ../../node_modules/lodash-es/_SetCache.js
|
|
17150
|
+
function SetCache(values) {
|
|
17151
|
+
var index = -1, length = values == null ? 0 : values.length;
|
|
17152
|
+
this.__data__ = new _MapCache_default;
|
|
17153
|
+
while (++index < length) {
|
|
17154
|
+
this.add(values[index]);
|
|
17155
|
+
}
|
|
17156
|
+
}
|
|
17157
|
+
var _SetCache_default;
|
|
17158
|
+
var init__SetCache = __esm(() => {
|
|
17159
|
+
init__MapCache();
|
|
17160
|
+
init__setCacheAdd();
|
|
17161
|
+
init__setCacheHas();
|
|
17162
|
+
SetCache.prototype.add = SetCache.prototype.push = _setCacheAdd_default;
|
|
17163
|
+
SetCache.prototype.has = _setCacheHas_default;
|
|
17164
|
+
_SetCache_default = SetCache;
|
|
17165
|
+
});
|
|
17166
|
+
|
|
17167
|
+
// ../../node_modules/lodash-es/_arraySome.js
|
|
17168
|
+
function arraySome(array, predicate) {
|
|
17169
|
+
var index = -1, length = array == null ? 0 : array.length;
|
|
17170
|
+
while (++index < length) {
|
|
17171
|
+
if (predicate(array[index], index, array)) {
|
|
17172
|
+
return true;
|
|
17173
|
+
}
|
|
17174
|
+
}
|
|
17175
|
+
return false;
|
|
17176
|
+
}
|
|
17177
|
+
var _arraySome_default;
|
|
17178
|
+
var init__arraySome = __esm(() => {
|
|
17179
|
+
_arraySome_default = arraySome;
|
|
17180
|
+
});
|
|
17181
|
+
|
|
17182
|
+
// ../../node_modules/lodash-es/_cacheHas.js
|
|
17183
|
+
function cacheHas(cache, key) {
|
|
17184
|
+
return cache.has(key);
|
|
17185
|
+
}
|
|
17186
|
+
var _cacheHas_default;
|
|
17187
|
+
var init__cacheHas = __esm(() => {
|
|
17188
|
+
_cacheHas_default = cacheHas;
|
|
17189
|
+
});
|
|
17190
|
+
|
|
17191
|
+
// ../../node_modules/lodash-es/_equalArrays.js
|
|
17192
|
+
function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
|
|
17193
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length;
|
|
17194
|
+
if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
|
|
17195
|
+
return false;
|
|
17196
|
+
}
|
|
17197
|
+
var arrStacked = stack.get(array);
|
|
17198
|
+
var othStacked = stack.get(other);
|
|
17199
|
+
if (arrStacked && othStacked) {
|
|
17200
|
+
return arrStacked == other && othStacked == array;
|
|
17201
|
+
}
|
|
17202
|
+
var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new _SetCache_default : undefined;
|
|
17203
|
+
stack.set(array, other);
|
|
17204
|
+
stack.set(other, array);
|
|
17205
|
+
while (++index < arrLength) {
|
|
17206
|
+
var arrValue = array[index], othValue = other[index];
|
|
17207
|
+
if (customizer) {
|
|
17208
|
+
var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
|
|
17209
|
+
}
|
|
17210
|
+
if (compared !== undefined) {
|
|
17211
|
+
if (compared) {
|
|
17212
|
+
continue;
|
|
17213
|
+
}
|
|
17214
|
+
result = false;
|
|
17215
|
+
break;
|
|
17216
|
+
}
|
|
17217
|
+
if (seen) {
|
|
17218
|
+
if (!_arraySome_default(other, function(othValue2, othIndex) {
|
|
17219
|
+
if (!_cacheHas_default(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) {
|
|
17220
|
+
return seen.push(othIndex);
|
|
17221
|
+
}
|
|
17222
|
+
})) {
|
|
17223
|
+
result = false;
|
|
17224
|
+
break;
|
|
17225
|
+
}
|
|
17226
|
+
} else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
|
|
17227
|
+
result = false;
|
|
17228
|
+
break;
|
|
17229
|
+
}
|
|
17230
|
+
}
|
|
17231
|
+
stack["delete"](array);
|
|
17232
|
+
stack["delete"](other);
|
|
17233
|
+
return result;
|
|
17234
|
+
}
|
|
17235
|
+
var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2, _equalArrays_default;
|
|
17236
|
+
var init__equalArrays = __esm(() => {
|
|
17237
|
+
init__SetCache();
|
|
17238
|
+
init__arraySome();
|
|
17239
|
+
init__cacheHas();
|
|
17240
|
+
_equalArrays_default = equalArrays;
|
|
17241
|
+
});
|
|
17242
|
+
|
|
17243
|
+
// ../../node_modules/lodash-es/_Uint8Array.js
|
|
17244
|
+
var Uint8Array2, _Uint8Array_default;
|
|
17245
|
+
var init__Uint8Array = __esm(() => {
|
|
17246
|
+
init__root();
|
|
17247
|
+
Uint8Array2 = _root_default.Uint8Array;
|
|
17248
|
+
_Uint8Array_default = Uint8Array2;
|
|
17249
|
+
});
|
|
17250
|
+
|
|
17251
|
+
// ../../node_modules/lodash-es/_mapToArray.js
|
|
17252
|
+
function mapToArray(map) {
|
|
17253
|
+
var index = -1, result = Array(map.size);
|
|
17254
|
+
map.forEach(function(value, key) {
|
|
17255
|
+
result[++index] = [key, value];
|
|
17256
|
+
});
|
|
17257
|
+
return result;
|
|
17258
|
+
}
|
|
17259
|
+
var _mapToArray_default;
|
|
17260
|
+
var init__mapToArray = __esm(() => {
|
|
17261
|
+
_mapToArray_default = mapToArray;
|
|
17262
|
+
});
|
|
17263
|
+
|
|
17264
|
+
// ../../node_modules/lodash-es/_setToArray.js
|
|
17265
|
+
function setToArray(set) {
|
|
17266
|
+
var index = -1, result = Array(set.size);
|
|
17267
|
+
set.forEach(function(value) {
|
|
17268
|
+
result[++index] = value;
|
|
17269
|
+
});
|
|
17270
|
+
return result;
|
|
17271
|
+
}
|
|
17272
|
+
var _setToArray_default;
|
|
17273
|
+
var init__setToArray = __esm(() => {
|
|
17274
|
+
_setToArray_default = setToArray;
|
|
17275
|
+
});
|
|
17276
|
+
|
|
17277
|
+
// ../../node_modules/lodash-es/_equalByTag.js
|
|
17278
|
+
function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
|
|
17279
|
+
switch (tag) {
|
|
17280
|
+
case dataViewTag:
|
|
17281
|
+
if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
|
|
17282
|
+
return false;
|
|
17283
|
+
}
|
|
17284
|
+
object = object.buffer;
|
|
17285
|
+
other = other.buffer;
|
|
17286
|
+
case arrayBufferTag:
|
|
17287
|
+
if (object.byteLength != other.byteLength || !equalFunc(new _Uint8Array_default(object), new _Uint8Array_default(other))) {
|
|
17288
|
+
return false;
|
|
17289
|
+
}
|
|
17290
|
+
return true;
|
|
17291
|
+
case boolTag:
|
|
17292
|
+
case dateTag:
|
|
17293
|
+
case numberTag:
|
|
17294
|
+
return eq_default(+object, +other);
|
|
17295
|
+
case errorTag:
|
|
17296
|
+
return object.name == other.name && object.message == other.message;
|
|
17297
|
+
case regexpTag:
|
|
17298
|
+
case stringTag:
|
|
17299
|
+
return object == other + "";
|
|
17300
|
+
case mapTag:
|
|
17301
|
+
var convert = _mapToArray_default;
|
|
17302
|
+
case setTag:
|
|
17303
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG2;
|
|
17304
|
+
convert || (convert = _setToArray_default);
|
|
17305
|
+
if (object.size != other.size && !isPartial) {
|
|
17306
|
+
return false;
|
|
17307
|
+
}
|
|
17308
|
+
var stacked = stack.get(object);
|
|
17309
|
+
if (stacked) {
|
|
17310
|
+
return stacked == other;
|
|
17311
|
+
}
|
|
17312
|
+
bitmask |= COMPARE_UNORDERED_FLAG2;
|
|
17313
|
+
stack.set(object, other);
|
|
17314
|
+
var result = _equalArrays_default(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
|
|
17315
|
+
stack["delete"](object);
|
|
17316
|
+
return result;
|
|
17317
|
+
case symbolTag:
|
|
17318
|
+
if (symbolValueOf) {
|
|
17319
|
+
return symbolValueOf.call(object) == symbolValueOf.call(other);
|
|
17320
|
+
}
|
|
17321
|
+
}
|
|
17322
|
+
return false;
|
|
17323
|
+
}
|
|
17324
|
+
var COMPARE_PARTIAL_FLAG2 = 1, COMPARE_UNORDERED_FLAG2 = 2, boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", mapTag = "[object Map]", numberTag = "[object Number]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]", arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", symbolProto, symbolValueOf, _equalByTag_default;
|
|
17325
|
+
var init__equalByTag = __esm(() => {
|
|
17326
|
+
init__Symbol();
|
|
17327
|
+
init__Uint8Array();
|
|
17328
|
+
init_eq();
|
|
17329
|
+
init__equalArrays();
|
|
17330
|
+
init__mapToArray();
|
|
17331
|
+
init__setToArray();
|
|
17332
|
+
symbolProto = _Symbol_default ? _Symbol_default.prototype : undefined;
|
|
17333
|
+
symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;
|
|
17334
|
+
_equalByTag_default = equalByTag;
|
|
17335
|
+
});
|
|
17336
|
+
|
|
17337
|
+
// ../../node_modules/lodash-es/_arrayPush.js
|
|
17338
|
+
function arrayPush(array, values) {
|
|
17339
|
+
var index = -1, length = values.length, offset = array.length;
|
|
17340
|
+
while (++index < length) {
|
|
17341
|
+
array[offset + index] = values[index];
|
|
17342
|
+
}
|
|
17343
|
+
return array;
|
|
17344
|
+
}
|
|
17345
|
+
var _arrayPush_default;
|
|
17346
|
+
var init__arrayPush = __esm(() => {
|
|
17347
|
+
_arrayPush_default = arrayPush;
|
|
17348
|
+
});
|
|
17349
|
+
|
|
17350
|
+
// ../../node_modules/lodash-es/isArray.js
|
|
17351
|
+
var isArray, isArray_default;
|
|
17352
|
+
var init_isArray = __esm(() => {
|
|
17353
|
+
isArray = Array.isArray;
|
|
17354
|
+
isArray_default = isArray;
|
|
17355
|
+
});
|
|
17356
|
+
|
|
17357
|
+
// ../../node_modules/lodash-es/_baseGetAllKeys.js
|
|
17358
|
+
function baseGetAllKeys(object, keysFunc, symbolsFunc) {
|
|
17359
|
+
var result = keysFunc(object);
|
|
17360
|
+
return isArray_default(object) ? result : _arrayPush_default(result, symbolsFunc(object));
|
|
17361
|
+
}
|
|
17362
|
+
var _baseGetAllKeys_default;
|
|
17363
|
+
var init__baseGetAllKeys = __esm(() => {
|
|
17364
|
+
init__arrayPush();
|
|
17365
|
+
init_isArray();
|
|
17366
|
+
_baseGetAllKeys_default = baseGetAllKeys;
|
|
17367
|
+
});
|
|
17368
|
+
|
|
17369
|
+
// ../../node_modules/lodash-es/_arrayFilter.js
|
|
17370
|
+
function arrayFilter(array, predicate) {
|
|
17371
|
+
var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
|
|
17372
|
+
while (++index < length) {
|
|
17373
|
+
var value = array[index];
|
|
17374
|
+
if (predicate(value, index, array)) {
|
|
17375
|
+
result[resIndex++] = value;
|
|
17376
|
+
}
|
|
17377
|
+
}
|
|
17378
|
+
return result;
|
|
17379
|
+
}
|
|
17380
|
+
var _arrayFilter_default;
|
|
17381
|
+
var init__arrayFilter = __esm(() => {
|
|
17382
|
+
_arrayFilter_default = arrayFilter;
|
|
17383
|
+
});
|
|
17384
|
+
|
|
17385
|
+
// ../../node_modules/lodash-es/stubArray.js
|
|
17386
|
+
function stubArray() {
|
|
17387
|
+
return [];
|
|
17388
|
+
}
|
|
17389
|
+
var stubArray_default;
|
|
17390
|
+
var init_stubArray = __esm(() => {
|
|
17391
|
+
stubArray_default = stubArray;
|
|
17392
|
+
});
|
|
17393
|
+
|
|
17394
|
+
// ../../node_modules/lodash-es/_getSymbols.js
|
|
17395
|
+
var objectProto6, propertyIsEnumerable, nativeGetSymbols, getSymbols, _getSymbols_default;
|
|
17396
|
+
var init__getSymbols = __esm(() => {
|
|
17397
|
+
init__arrayFilter();
|
|
17398
|
+
init_stubArray();
|
|
17399
|
+
objectProto6 = Object.prototype;
|
|
17400
|
+
propertyIsEnumerable = objectProto6.propertyIsEnumerable;
|
|
17401
|
+
nativeGetSymbols = Object.getOwnPropertySymbols;
|
|
17402
|
+
getSymbols = !nativeGetSymbols ? stubArray_default : function(object) {
|
|
17403
|
+
if (object == null) {
|
|
17404
|
+
return [];
|
|
17405
|
+
}
|
|
17406
|
+
object = Object(object);
|
|
17407
|
+
return _arrayFilter_default(nativeGetSymbols(object), function(symbol) {
|
|
17408
|
+
return propertyIsEnumerable.call(object, symbol);
|
|
17409
|
+
});
|
|
17410
|
+
};
|
|
17411
|
+
_getSymbols_default = getSymbols;
|
|
17412
|
+
});
|
|
17413
|
+
|
|
17414
|
+
// ../../node_modules/lodash-es/_baseTimes.js
|
|
17415
|
+
function baseTimes(n, iteratee) {
|
|
17416
|
+
var index = -1, result = Array(n);
|
|
17417
|
+
while (++index < n) {
|
|
17418
|
+
result[index] = iteratee(index);
|
|
17419
|
+
}
|
|
17420
|
+
return result;
|
|
17421
|
+
}
|
|
17422
|
+
var _baseTimes_default;
|
|
17423
|
+
var init__baseTimes = __esm(() => {
|
|
17424
|
+
_baseTimes_default = baseTimes;
|
|
17425
|
+
});
|
|
17426
|
+
|
|
17427
|
+
// ../../node_modules/lodash-es/isObjectLike.js
|
|
17428
|
+
function isObjectLike(value) {
|
|
17429
|
+
return value != null && typeof value == "object";
|
|
17430
|
+
}
|
|
17431
|
+
var isObjectLike_default;
|
|
17432
|
+
var init_isObjectLike = __esm(() => {
|
|
17433
|
+
isObjectLike_default = isObjectLike;
|
|
17434
|
+
});
|
|
17435
|
+
|
|
17436
|
+
// ../../node_modules/lodash-es/_baseIsArguments.js
|
|
17437
|
+
function baseIsArguments(value) {
|
|
17438
|
+
return isObjectLike_default(value) && _baseGetTag_default(value) == argsTag;
|
|
17439
|
+
}
|
|
17440
|
+
var argsTag = "[object Arguments]", _baseIsArguments_default;
|
|
17441
|
+
var init__baseIsArguments = __esm(() => {
|
|
17442
|
+
init__baseGetTag();
|
|
17443
|
+
init_isObjectLike();
|
|
17444
|
+
_baseIsArguments_default = baseIsArguments;
|
|
17445
|
+
});
|
|
17446
|
+
|
|
17447
|
+
// ../../node_modules/lodash-es/isArguments.js
|
|
17448
|
+
var objectProto7, hasOwnProperty5, propertyIsEnumerable2, isArguments, isArguments_default;
|
|
17449
|
+
var init_isArguments = __esm(() => {
|
|
17450
|
+
init__baseIsArguments();
|
|
17451
|
+
init_isObjectLike();
|
|
17452
|
+
objectProto7 = Object.prototype;
|
|
17453
|
+
hasOwnProperty5 = objectProto7.hasOwnProperty;
|
|
17454
|
+
propertyIsEnumerable2 = objectProto7.propertyIsEnumerable;
|
|
17455
|
+
isArguments = _baseIsArguments_default(function() {
|
|
17456
|
+
return arguments;
|
|
17457
|
+
}()) ? _baseIsArguments_default : function(value) {
|
|
17458
|
+
return isObjectLike_default(value) && hasOwnProperty5.call(value, "callee") && !propertyIsEnumerable2.call(value, "callee");
|
|
17459
|
+
};
|
|
17460
|
+
isArguments_default = isArguments;
|
|
17461
|
+
});
|
|
17462
|
+
|
|
17463
|
+
// ../../node_modules/lodash-es/stubFalse.js
|
|
17464
|
+
function stubFalse() {
|
|
17465
|
+
return false;
|
|
17466
|
+
}
|
|
17467
|
+
var stubFalse_default;
|
|
17468
|
+
var init_stubFalse = __esm(() => {
|
|
17469
|
+
stubFalse_default = stubFalse;
|
|
17470
|
+
});
|
|
17471
|
+
|
|
17472
|
+
// ../../node_modules/lodash-es/isBuffer.js
|
|
17473
|
+
var exports_isBuffer = {};
|
|
17474
|
+
__export(exports_isBuffer, {
|
|
17475
|
+
default: () => isBuffer_default
|
|
17476
|
+
});
|
|
17477
|
+
var freeExports, freeModule, moduleExports, Buffer2, nativeIsBuffer, isBuffer, isBuffer_default;
|
|
17478
|
+
var init_isBuffer = __esm(() => {
|
|
17479
|
+
init__root();
|
|
17480
|
+
init_stubFalse();
|
|
17481
|
+
freeExports = typeof exports_isBuffer == "object" && exports_isBuffer && !exports_isBuffer.nodeType && exports_isBuffer;
|
|
17482
|
+
freeModule = freeExports && typeof module_isBuffer == "object" && module_isBuffer && !module_isBuffer.nodeType && module_isBuffer;
|
|
17483
|
+
moduleExports = freeModule && freeModule.exports === freeExports;
|
|
17484
|
+
Buffer2 = moduleExports ? _root_default.Buffer : undefined;
|
|
17485
|
+
nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : undefined;
|
|
17486
|
+
isBuffer = nativeIsBuffer || stubFalse_default;
|
|
17487
|
+
isBuffer_default = isBuffer;
|
|
17488
|
+
});
|
|
17489
|
+
|
|
17490
|
+
// ../../node_modules/lodash-es/_isIndex.js
|
|
17491
|
+
function isIndex(value, length) {
|
|
17492
|
+
var type = typeof value;
|
|
17493
|
+
length = length == null ? MAX_SAFE_INTEGER : length;
|
|
17494
|
+
return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
|
|
17495
|
+
}
|
|
17496
|
+
var MAX_SAFE_INTEGER = 9007199254740991, reIsUint, _isIndex_default;
|
|
17497
|
+
var init__isIndex = __esm(() => {
|
|
17498
|
+
reIsUint = /^(?:0|[1-9]\d*)$/;
|
|
17499
|
+
_isIndex_default = isIndex;
|
|
17500
|
+
});
|
|
17501
|
+
|
|
17502
|
+
// ../../node_modules/lodash-es/isLength.js
|
|
17503
|
+
function isLength(value) {
|
|
17504
|
+
return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER2;
|
|
17505
|
+
}
|
|
17506
|
+
var MAX_SAFE_INTEGER2 = 9007199254740991, isLength_default;
|
|
17507
|
+
var init_isLength = __esm(() => {
|
|
17508
|
+
isLength_default = isLength;
|
|
17509
|
+
});
|
|
17510
|
+
|
|
17511
|
+
// ../../node_modules/lodash-es/_baseIsTypedArray.js
|
|
17512
|
+
function baseIsTypedArray(value) {
|
|
17513
|
+
return isObjectLike_default(value) && isLength_default(value.length) && !!typedArrayTags[_baseGetTag_default(value)];
|
|
17514
|
+
}
|
|
17515
|
+
var argsTag2 = "[object Arguments]", arrayTag = "[object Array]", boolTag2 = "[object Boolean]", dateTag2 = "[object Date]", errorTag2 = "[object Error]", funcTag2 = "[object Function]", mapTag2 = "[object Map]", numberTag2 = "[object Number]", objectTag = "[object Object]", regexpTag2 = "[object RegExp]", setTag2 = "[object Set]", stringTag2 = "[object String]", weakMapTag = "[object WeakMap]", arrayBufferTag2 = "[object ArrayBuffer]", dataViewTag2 = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]", typedArrayTags, _baseIsTypedArray_default;
|
|
17516
|
+
var init__baseIsTypedArray = __esm(() => {
|
|
17517
|
+
init__baseGetTag();
|
|
17518
|
+
init_isLength();
|
|
17519
|
+
init_isObjectLike();
|
|
17520
|
+
typedArrayTags = {};
|
|
17521
|
+
typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
|
|
17522
|
+
typedArrayTags[argsTag2] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag2] = typedArrayTags[boolTag2] = typedArrayTags[dataViewTag2] = typedArrayTags[dateTag2] = typedArrayTags[errorTag2] = typedArrayTags[funcTag2] = typedArrayTags[mapTag2] = typedArrayTags[numberTag2] = typedArrayTags[objectTag] = typedArrayTags[regexpTag2] = typedArrayTags[setTag2] = typedArrayTags[stringTag2] = typedArrayTags[weakMapTag] = false;
|
|
17523
|
+
_baseIsTypedArray_default = baseIsTypedArray;
|
|
17524
|
+
});
|
|
17525
|
+
|
|
17526
|
+
// ../../node_modules/lodash-es/_baseUnary.js
|
|
17527
|
+
function baseUnary(func) {
|
|
17528
|
+
return function(value) {
|
|
17529
|
+
return func(value);
|
|
17530
|
+
};
|
|
17531
|
+
}
|
|
17532
|
+
var _baseUnary_default;
|
|
17533
|
+
var init__baseUnary = __esm(() => {
|
|
17534
|
+
_baseUnary_default = baseUnary;
|
|
17535
|
+
});
|
|
17536
|
+
|
|
17537
|
+
// ../../node_modules/lodash-es/_nodeUtil.js
|
|
17538
|
+
var exports__nodeUtil = {};
|
|
17539
|
+
__export(exports__nodeUtil, {
|
|
17540
|
+
default: () => _nodeUtil_default
|
|
17541
|
+
});
|
|
17542
|
+
var freeExports2, freeModule2, moduleExports2, freeProcess, nodeUtil, _nodeUtil_default;
|
|
17543
|
+
var init__nodeUtil = __esm(() => {
|
|
17544
|
+
init__freeGlobal();
|
|
17545
|
+
freeExports2 = typeof exports__nodeUtil == "object" && exports__nodeUtil && !exports__nodeUtil.nodeType && exports__nodeUtil;
|
|
17546
|
+
freeModule2 = freeExports2 && typeof module__nodeUtil == "object" && module__nodeUtil && !module__nodeUtil.nodeType && module__nodeUtil;
|
|
17547
|
+
moduleExports2 = freeModule2 && freeModule2.exports === freeExports2;
|
|
17548
|
+
freeProcess = moduleExports2 && _freeGlobal_default.process;
|
|
17549
|
+
nodeUtil = function() {
|
|
17550
|
+
try {
|
|
17551
|
+
var types = freeModule2 && freeModule2.require && freeModule2.require("util").types;
|
|
17552
|
+
if (types) {
|
|
17553
|
+
return types;
|
|
17554
|
+
}
|
|
17555
|
+
return freeProcess && freeProcess.binding && freeProcess.binding("util");
|
|
17556
|
+
} catch (e) {}
|
|
17557
|
+
}();
|
|
17558
|
+
_nodeUtil_default = nodeUtil;
|
|
17559
|
+
});
|
|
17560
|
+
|
|
17561
|
+
// ../../node_modules/lodash-es/isTypedArray.js
|
|
17562
|
+
var nodeIsTypedArray, isTypedArray, isTypedArray_default;
|
|
17563
|
+
var init_isTypedArray = __esm(() => {
|
|
17564
|
+
init__baseIsTypedArray();
|
|
17565
|
+
init__baseUnary();
|
|
17566
|
+
init__nodeUtil();
|
|
17567
|
+
nodeIsTypedArray = _nodeUtil_default && _nodeUtil_default.isTypedArray;
|
|
17568
|
+
isTypedArray = nodeIsTypedArray ? _baseUnary_default(nodeIsTypedArray) : _baseIsTypedArray_default;
|
|
17569
|
+
isTypedArray_default = isTypedArray;
|
|
17570
|
+
});
|
|
17571
|
+
|
|
17572
|
+
// ../../node_modules/lodash-es/_arrayLikeKeys.js
|
|
17573
|
+
function arrayLikeKeys(value, inherited) {
|
|
17574
|
+
var isArr = isArray_default(value), isArg = !isArr && isArguments_default(value), isBuff = !isArr && !isArg && isBuffer_default(value), isType = !isArr && !isArg && !isBuff && isTypedArray_default(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? _baseTimes_default(value.length, String) : [], length = result.length;
|
|
17575
|
+
for (var key in value) {
|
|
17576
|
+
if ((inherited || hasOwnProperty6.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || _isIndex_default(key, length)))) {
|
|
17577
|
+
result.push(key);
|
|
17578
|
+
}
|
|
17579
|
+
}
|
|
17580
|
+
return result;
|
|
17581
|
+
}
|
|
17582
|
+
var objectProto8, hasOwnProperty6, _arrayLikeKeys_default;
|
|
17583
|
+
var init__arrayLikeKeys = __esm(() => {
|
|
17584
|
+
init__baseTimes();
|
|
17585
|
+
init_isArguments();
|
|
17586
|
+
init_isArray();
|
|
17587
|
+
init_isBuffer();
|
|
17588
|
+
init__isIndex();
|
|
17589
|
+
init_isTypedArray();
|
|
17590
|
+
objectProto8 = Object.prototype;
|
|
17591
|
+
hasOwnProperty6 = objectProto8.hasOwnProperty;
|
|
17592
|
+
_arrayLikeKeys_default = arrayLikeKeys;
|
|
17593
|
+
});
|
|
17594
|
+
|
|
17595
|
+
// ../../node_modules/lodash-es/_isPrototype.js
|
|
17596
|
+
function isPrototype(value) {
|
|
17597
|
+
var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto9;
|
|
17598
|
+
return value === proto;
|
|
17599
|
+
}
|
|
17600
|
+
var objectProto9, _isPrototype_default;
|
|
17601
|
+
var init__isPrototype = __esm(() => {
|
|
17602
|
+
objectProto9 = Object.prototype;
|
|
17603
|
+
_isPrototype_default = isPrototype;
|
|
17604
|
+
});
|
|
17605
|
+
|
|
17606
|
+
// ../../node_modules/lodash-es/_overArg.js
|
|
17607
|
+
function overArg(func, transform) {
|
|
17608
|
+
return function(arg) {
|
|
17609
|
+
return func(transform(arg));
|
|
17610
|
+
};
|
|
17611
|
+
}
|
|
17612
|
+
var _overArg_default;
|
|
17613
|
+
var init__overArg = __esm(() => {
|
|
17614
|
+
_overArg_default = overArg;
|
|
17615
|
+
});
|
|
17616
|
+
|
|
17617
|
+
// ../../node_modules/lodash-es/_nativeKeys.js
|
|
17618
|
+
var nativeKeys, _nativeKeys_default;
|
|
17619
|
+
var init__nativeKeys = __esm(() => {
|
|
17620
|
+
init__overArg();
|
|
17621
|
+
nativeKeys = _overArg_default(Object.keys, Object);
|
|
17622
|
+
_nativeKeys_default = nativeKeys;
|
|
17623
|
+
});
|
|
17624
|
+
|
|
17625
|
+
// ../../node_modules/lodash-es/_baseKeys.js
|
|
17626
|
+
function baseKeys(object) {
|
|
17627
|
+
if (!_isPrototype_default(object)) {
|
|
17628
|
+
return _nativeKeys_default(object);
|
|
17629
|
+
}
|
|
17630
|
+
var result = [];
|
|
17631
|
+
for (var key in Object(object)) {
|
|
17632
|
+
if (hasOwnProperty7.call(object, key) && key != "constructor") {
|
|
17633
|
+
result.push(key);
|
|
17634
|
+
}
|
|
17635
|
+
}
|
|
17636
|
+
return result;
|
|
17637
|
+
}
|
|
17638
|
+
var objectProto10, hasOwnProperty7, _baseKeys_default;
|
|
17639
|
+
var init__baseKeys = __esm(() => {
|
|
17640
|
+
init__isPrototype();
|
|
17641
|
+
init__nativeKeys();
|
|
17642
|
+
objectProto10 = Object.prototype;
|
|
17643
|
+
hasOwnProperty7 = objectProto10.hasOwnProperty;
|
|
17644
|
+
_baseKeys_default = baseKeys;
|
|
17645
|
+
});
|
|
17646
|
+
|
|
17647
|
+
// ../../node_modules/lodash-es/isArrayLike.js
|
|
17648
|
+
function isArrayLike(value) {
|
|
17649
|
+
return value != null && isLength_default(value.length) && !isFunction_default(value);
|
|
17650
|
+
}
|
|
17651
|
+
var isArrayLike_default;
|
|
17652
|
+
var init_isArrayLike = __esm(() => {
|
|
17653
|
+
init_isFunction();
|
|
17654
|
+
init_isLength();
|
|
17655
|
+
isArrayLike_default = isArrayLike;
|
|
17656
|
+
});
|
|
17657
|
+
|
|
17658
|
+
// ../../node_modules/lodash-es/keys.js
|
|
17659
|
+
function keys(object) {
|
|
17660
|
+
return isArrayLike_default(object) ? _arrayLikeKeys_default(object) : _baseKeys_default(object);
|
|
17661
|
+
}
|
|
17662
|
+
var keys_default;
|
|
17663
|
+
var init_keys = __esm(() => {
|
|
17664
|
+
init__arrayLikeKeys();
|
|
17665
|
+
init__baseKeys();
|
|
17666
|
+
init_isArrayLike();
|
|
17667
|
+
keys_default = keys;
|
|
17668
|
+
});
|
|
17669
|
+
|
|
17670
|
+
// ../../node_modules/lodash-es/_getAllKeys.js
|
|
17671
|
+
function getAllKeys(object) {
|
|
17672
|
+
return _baseGetAllKeys_default(object, keys_default, _getSymbols_default);
|
|
17673
|
+
}
|
|
17674
|
+
var _getAllKeys_default;
|
|
17675
|
+
var init__getAllKeys = __esm(() => {
|
|
17676
|
+
init__baseGetAllKeys();
|
|
17677
|
+
init__getSymbols();
|
|
17678
|
+
init_keys();
|
|
17679
|
+
_getAllKeys_default = getAllKeys;
|
|
17680
|
+
});
|
|
17681
|
+
|
|
17682
|
+
// ../../node_modules/lodash-es/_equalObjects.js
|
|
17683
|
+
function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
|
|
17684
|
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG3, objProps = _getAllKeys_default(object), objLength = objProps.length, othProps = _getAllKeys_default(other), othLength = othProps.length;
|
|
17685
|
+
if (objLength != othLength && !isPartial) {
|
|
17686
|
+
return false;
|
|
17687
|
+
}
|
|
17688
|
+
var index = objLength;
|
|
17689
|
+
while (index--) {
|
|
17690
|
+
var key = objProps[index];
|
|
17691
|
+
if (!(isPartial ? key in other : hasOwnProperty8.call(other, key))) {
|
|
17692
|
+
return false;
|
|
17693
|
+
}
|
|
17694
|
+
}
|
|
17695
|
+
var objStacked = stack.get(object);
|
|
17696
|
+
var othStacked = stack.get(other);
|
|
17697
|
+
if (objStacked && othStacked) {
|
|
17698
|
+
return objStacked == other && othStacked == object;
|
|
17699
|
+
}
|
|
17700
|
+
var result = true;
|
|
17701
|
+
stack.set(object, other);
|
|
17702
|
+
stack.set(other, object);
|
|
17703
|
+
var skipCtor = isPartial;
|
|
17704
|
+
while (++index < objLength) {
|
|
17705
|
+
key = objProps[index];
|
|
17706
|
+
var objValue = object[key], othValue = other[key];
|
|
17707
|
+
if (customizer) {
|
|
17708
|
+
var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
|
|
17709
|
+
}
|
|
17710
|
+
if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
|
|
17711
|
+
result = false;
|
|
17712
|
+
break;
|
|
17713
|
+
}
|
|
17714
|
+
skipCtor || (skipCtor = key == "constructor");
|
|
17715
|
+
}
|
|
17716
|
+
if (result && !skipCtor) {
|
|
17717
|
+
var objCtor = object.constructor, othCtor = other.constructor;
|
|
17718
|
+
if (objCtor != othCtor && (("constructor" in object) && ("constructor" in other)) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
|
|
17719
|
+
result = false;
|
|
17720
|
+
}
|
|
17721
|
+
}
|
|
17722
|
+
stack["delete"](object);
|
|
17723
|
+
stack["delete"](other);
|
|
17724
|
+
return result;
|
|
17725
|
+
}
|
|
17726
|
+
var COMPARE_PARTIAL_FLAG3 = 1, objectProto11, hasOwnProperty8, _equalObjects_default;
|
|
17727
|
+
var init__equalObjects = __esm(() => {
|
|
17728
|
+
init__getAllKeys();
|
|
17729
|
+
objectProto11 = Object.prototype;
|
|
17730
|
+
hasOwnProperty8 = objectProto11.hasOwnProperty;
|
|
17731
|
+
_equalObjects_default = equalObjects;
|
|
17732
|
+
});
|
|
17733
|
+
|
|
17734
|
+
// ../../node_modules/lodash-es/_DataView.js
|
|
17735
|
+
var DataView, _DataView_default;
|
|
17736
|
+
var init__DataView = __esm(() => {
|
|
17737
|
+
init__getNative();
|
|
17738
|
+
init__root();
|
|
17739
|
+
DataView = _getNative_default(_root_default, "DataView");
|
|
17740
|
+
_DataView_default = DataView;
|
|
17741
|
+
});
|
|
17742
|
+
|
|
17743
|
+
// ../../node_modules/lodash-es/_Promise.js
|
|
17744
|
+
var Promise2, _Promise_default;
|
|
17745
|
+
var init__Promise = __esm(() => {
|
|
17746
|
+
init__getNative();
|
|
17747
|
+
init__root();
|
|
17748
|
+
Promise2 = _getNative_default(_root_default, "Promise");
|
|
17749
|
+
_Promise_default = Promise2;
|
|
17750
|
+
});
|
|
17751
|
+
|
|
17752
|
+
// ../../node_modules/lodash-es/_Set.js
|
|
17753
|
+
var Set2, _Set_default;
|
|
17754
|
+
var init__Set = __esm(() => {
|
|
17755
|
+
init__getNative();
|
|
17756
|
+
init__root();
|
|
17757
|
+
Set2 = _getNative_default(_root_default, "Set");
|
|
17758
|
+
_Set_default = Set2;
|
|
17759
|
+
});
|
|
17760
|
+
|
|
17761
|
+
// ../../node_modules/lodash-es/_WeakMap.js
|
|
17762
|
+
var WeakMap2, _WeakMap_default;
|
|
17763
|
+
var init__WeakMap = __esm(() => {
|
|
17764
|
+
init__getNative();
|
|
17765
|
+
init__root();
|
|
17766
|
+
WeakMap2 = _getNative_default(_root_default, "WeakMap");
|
|
17767
|
+
_WeakMap_default = WeakMap2;
|
|
17768
|
+
});
|
|
17769
|
+
|
|
17770
|
+
// ../../node_modules/lodash-es/_getTag.js
|
|
17771
|
+
var mapTag3 = "[object Map]", objectTag2 = "[object Object]", promiseTag = "[object Promise]", setTag3 = "[object Set]", weakMapTag2 = "[object WeakMap]", dataViewTag3 = "[object DataView]", dataViewCtorString, mapCtorString, promiseCtorString, setCtorString, weakMapCtorString, getTag, _getTag_default;
|
|
17772
|
+
var init__getTag = __esm(() => {
|
|
17773
|
+
init__DataView();
|
|
17774
|
+
init__Map();
|
|
17775
|
+
init__Promise();
|
|
17776
|
+
init__Set();
|
|
17777
|
+
init__WeakMap();
|
|
17778
|
+
init__baseGetTag();
|
|
17779
|
+
init__toSource();
|
|
17780
|
+
dataViewCtorString = _toSource_default(_DataView_default);
|
|
17781
|
+
mapCtorString = _toSource_default(_Map_default);
|
|
17782
|
+
promiseCtorString = _toSource_default(_Promise_default);
|
|
17783
|
+
setCtorString = _toSource_default(_Set_default);
|
|
17784
|
+
weakMapCtorString = _toSource_default(_WeakMap_default);
|
|
17785
|
+
getTag = _baseGetTag_default;
|
|
17786
|
+
if (_DataView_default && getTag(new _DataView_default(new ArrayBuffer(1))) != dataViewTag3 || _Map_default && getTag(new _Map_default) != mapTag3 || _Promise_default && getTag(_Promise_default.resolve()) != promiseTag || _Set_default && getTag(new _Set_default) != setTag3 || _WeakMap_default && getTag(new _WeakMap_default) != weakMapTag2) {
|
|
17787
|
+
getTag = function(value) {
|
|
17788
|
+
var result = _baseGetTag_default(value), Ctor = result == objectTag2 ? value.constructor : undefined, ctorString = Ctor ? _toSource_default(Ctor) : "";
|
|
17789
|
+
if (ctorString) {
|
|
17790
|
+
switch (ctorString) {
|
|
17791
|
+
case dataViewCtorString:
|
|
17792
|
+
return dataViewTag3;
|
|
17793
|
+
case mapCtorString:
|
|
17794
|
+
return mapTag3;
|
|
17795
|
+
case promiseCtorString:
|
|
17796
|
+
return promiseTag;
|
|
17797
|
+
case setCtorString:
|
|
17798
|
+
return setTag3;
|
|
17799
|
+
case weakMapCtorString:
|
|
17800
|
+
return weakMapTag2;
|
|
17801
|
+
}
|
|
17802
|
+
}
|
|
17803
|
+
return result;
|
|
17804
|
+
};
|
|
17805
|
+
}
|
|
17806
|
+
_getTag_default = getTag;
|
|
17807
|
+
});
|
|
17808
|
+
|
|
17809
|
+
// ../../node_modules/lodash-es/_baseIsEqualDeep.js
|
|
17810
|
+
function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
|
|
17811
|
+
var objIsArr = isArray_default(object), othIsArr = isArray_default(other), objTag = objIsArr ? arrayTag2 : _getTag_default(object), othTag = othIsArr ? arrayTag2 : _getTag_default(other);
|
|
17812
|
+
objTag = objTag == argsTag3 ? objectTag3 : objTag;
|
|
17813
|
+
othTag = othTag == argsTag3 ? objectTag3 : othTag;
|
|
17814
|
+
var objIsObj = objTag == objectTag3, othIsObj = othTag == objectTag3, isSameTag = objTag == othTag;
|
|
17815
|
+
if (isSameTag && isBuffer_default(object)) {
|
|
17816
|
+
if (!isBuffer_default(other)) {
|
|
17817
|
+
return false;
|
|
17818
|
+
}
|
|
17819
|
+
objIsArr = true;
|
|
17820
|
+
objIsObj = false;
|
|
17821
|
+
}
|
|
17822
|
+
if (isSameTag && !objIsObj) {
|
|
17823
|
+
stack || (stack = new _Stack_default);
|
|
17824
|
+
return objIsArr || isTypedArray_default(object) ? _equalArrays_default(object, other, bitmask, customizer, equalFunc, stack) : _equalByTag_default(object, other, objTag, bitmask, customizer, equalFunc, stack);
|
|
17825
|
+
}
|
|
17826
|
+
if (!(bitmask & COMPARE_PARTIAL_FLAG4)) {
|
|
17827
|
+
var objIsWrapped = objIsObj && hasOwnProperty9.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty9.call(other, "__wrapped__");
|
|
17828
|
+
if (objIsWrapped || othIsWrapped) {
|
|
17829
|
+
var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
|
|
17830
|
+
stack || (stack = new _Stack_default);
|
|
17831
|
+
return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
|
|
17832
|
+
}
|
|
17833
|
+
}
|
|
17834
|
+
if (!isSameTag) {
|
|
17835
|
+
return false;
|
|
17836
|
+
}
|
|
17837
|
+
stack || (stack = new _Stack_default);
|
|
17838
|
+
return _equalObjects_default(object, other, bitmask, customizer, equalFunc, stack);
|
|
17839
|
+
}
|
|
17840
|
+
var COMPARE_PARTIAL_FLAG4 = 1, argsTag3 = "[object Arguments]", arrayTag2 = "[object Array]", objectTag3 = "[object Object]", objectProto12, hasOwnProperty9, _baseIsEqualDeep_default;
|
|
17841
|
+
var init__baseIsEqualDeep = __esm(() => {
|
|
17842
|
+
init__Stack();
|
|
17843
|
+
init__equalArrays();
|
|
17844
|
+
init__equalByTag();
|
|
17845
|
+
init__equalObjects();
|
|
17846
|
+
init__getTag();
|
|
17847
|
+
init_isArray();
|
|
17848
|
+
init_isBuffer();
|
|
17849
|
+
init_isTypedArray();
|
|
17850
|
+
objectProto12 = Object.prototype;
|
|
17851
|
+
hasOwnProperty9 = objectProto12.hasOwnProperty;
|
|
17852
|
+
_baseIsEqualDeep_default = baseIsEqualDeep;
|
|
17853
|
+
});
|
|
17854
|
+
|
|
17855
|
+
// ../../node_modules/lodash-es/_baseIsEqual.js
|
|
17856
|
+
function baseIsEqual(value, other, bitmask, customizer, stack) {
|
|
17857
|
+
if (value === other) {
|
|
17858
|
+
return true;
|
|
17859
|
+
}
|
|
17860
|
+
if (value == null || other == null || !isObjectLike_default(value) && !isObjectLike_default(other)) {
|
|
17861
|
+
return value !== value && other !== other;
|
|
17862
|
+
}
|
|
17863
|
+
return _baseIsEqualDeep_default(value, other, bitmask, customizer, baseIsEqual, stack);
|
|
17864
|
+
}
|
|
17865
|
+
var _baseIsEqual_default;
|
|
17866
|
+
var init__baseIsEqual = __esm(() => {
|
|
17867
|
+
init__baseIsEqualDeep();
|
|
17868
|
+
init_isObjectLike();
|
|
17869
|
+
_baseIsEqual_default = baseIsEqual;
|
|
17870
|
+
});
|
|
17871
|
+
|
|
17872
|
+
// ../../node_modules/lodash-es/_baseIsMatch.js
|
|
17873
|
+
function baseIsMatch(object, source, matchData, customizer) {
|
|
17874
|
+
var index = matchData.length, length = index, noCustomizer = !customizer;
|
|
17875
|
+
if (object == null) {
|
|
17876
|
+
return !length;
|
|
17877
|
+
}
|
|
17878
|
+
object = Object(object);
|
|
17879
|
+
while (index--) {
|
|
17880
|
+
var data = matchData[index];
|
|
17881
|
+
if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) {
|
|
17882
|
+
return false;
|
|
17883
|
+
}
|
|
17884
|
+
}
|
|
17885
|
+
while (++index < length) {
|
|
17886
|
+
data = matchData[index];
|
|
17887
|
+
var key = data[0], objValue = object[key], srcValue = data[1];
|
|
17888
|
+
if (noCustomizer && data[2]) {
|
|
17889
|
+
if (objValue === undefined && !(key in object)) {
|
|
17890
|
+
return false;
|
|
17891
|
+
}
|
|
17892
|
+
} else {
|
|
17893
|
+
var stack = new _Stack_default;
|
|
17894
|
+
if (customizer) {
|
|
17895
|
+
var result = customizer(objValue, srcValue, key, object, source, stack);
|
|
17896
|
+
}
|
|
17897
|
+
if (!(result === undefined ? _baseIsEqual_default(srcValue, objValue, COMPARE_PARTIAL_FLAG5 | COMPARE_UNORDERED_FLAG3, customizer, stack) : result)) {
|
|
17898
|
+
return false;
|
|
17899
|
+
}
|
|
17900
|
+
}
|
|
17901
|
+
}
|
|
17902
|
+
return true;
|
|
17903
|
+
}
|
|
17904
|
+
var COMPARE_PARTIAL_FLAG5 = 1, COMPARE_UNORDERED_FLAG3 = 2, _baseIsMatch_default;
|
|
17905
|
+
var init__baseIsMatch = __esm(() => {
|
|
17906
|
+
init__Stack();
|
|
17907
|
+
init__baseIsEqual();
|
|
17908
|
+
_baseIsMatch_default = baseIsMatch;
|
|
17909
|
+
});
|
|
17910
|
+
|
|
17911
|
+
// ../../node_modules/lodash-es/_isStrictComparable.js
|
|
17912
|
+
function isStrictComparable(value) {
|
|
17913
|
+
return value === value && !isObject_default(value);
|
|
17914
|
+
}
|
|
17915
|
+
var _isStrictComparable_default;
|
|
17916
|
+
var init__isStrictComparable = __esm(() => {
|
|
17917
|
+
init_isObject();
|
|
17918
|
+
_isStrictComparable_default = isStrictComparable;
|
|
17919
|
+
});
|
|
17920
|
+
|
|
17921
|
+
// ../../node_modules/lodash-es/_getMatchData.js
|
|
17922
|
+
function getMatchData(object) {
|
|
17923
|
+
var result = keys_default(object), length = result.length;
|
|
17924
|
+
while (length--) {
|
|
17925
|
+
var key = result[length], value = object[key];
|
|
17926
|
+
result[length] = [key, value, _isStrictComparable_default(value)];
|
|
17927
|
+
}
|
|
17928
|
+
return result;
|
|
17929
|
+
}
|
|
17930
|
+
var _getMatchData_default;
|
|
17931
|
+
var init__getMatchData = __esm(() => {
|
|
17932
|
+
init__isStrictComparable();
|
|
17933
|
+
init_keys();
|
|
17934
|
+
_getMatchData_default = getMatchData;
|
|
17935
|
+
});
|
|
17936
|
+
|
|
17937
|
+
// ../../node_modules/lodash-es/_matchesStrictComparable.js
|
|
17938
|
+
function matchesStrictComparable(key, srcValue) {
|
|
17939
|
+
return function(object) {
|
|
17940
|
+
if (object == null) {
|
|
17941
|
+
return false;
|
|
17942
|
+
}
|
|
17943
|
+
return object[key] === srcValue && (srcValue !== undefined || (key in Object(object)));
|
|
17944
|
+
};
|
|
17945
|
+
}
|
|
17946
|
+
var _matchesStrictComparable_default;
|
|
17947
|
+
var init__matchesStrictComparable = __esm(() => {
|
|
17948
|
+
_matchesStrictComparable_default = matchesStrictComparable;
|
|
17949
|
+
});
|
|
17950
|
+
|
|
17951
|
+
// ../../node_modules/lodash-es/_baseMatches.js
|
|
17952
|
+
function baseMatches(source) {
|
|
17953
|
+
var matchData = _getMatchData_default(source);
|
|
17954
|
+
if (matchData.length == 1 && matchData[0][2]) {
|
|
17955
|
+
return _matchesStrictComparable_default(matchData[0][0], matchData[0][1]);
|
|
17956
|
+
}
|
|
17957
|
+
return function(object) {
|
|
17958
|
+
return object === source || _baseIsMatch_default(object, source, matchData);
|
|
17959
|
+
};
|
|
17960
|
+
}
|
|
17961
|
+
var _baseMatches_default;
|
|
17962
|
+
var init__baseMatches = __esm(() => {
|
|
17963
|
+
init__baseIsMatch();
|
|
17964
|
+
init__getMatchData();
|
|
17965
|
+
init__matchesStrictComparable();
|
|
17966
|
+
_baseMatches_default = baseMatches;
|
|
17967
|
+
});
|
|
17968
|
+
|
|
17969
|
+
// ../../node_modules/lodash-es/isSymbol.js
|
|
17970
|
+
function isSymbol(value) {
|
|
17971
|
+
return typeof value == "symbol" || isObjectLike_default(value) && _baseGetTag_default(value) == symbolTag2;
|
|
17972
|
+
}
|
|
17973
|
+
var symbolTag2 = "[object Symbol]", isSymbol_default;
|
|
17974
|
+
var init_isSymbol = __esm(() => {
|
|
17975
|
+
init__baseGetTag();
|
|
17976
|
+
init_isObjectLike();
|
|
17977
|
+
isSymbol_default = isSymbol;
|
|
17978
|
+
});
|
|
17979
|
+
|
|
17980
|
+
// ../../node_modules/lodash-es/_isKey.js
|
|
17981
|
+
function isKey(value, object) {
|
|
17982
|
+
if (isArray_default(value)) {
|
|
17983
|
+
return false;
|
|
17984
|
+
}
|
|
17985
|
+
var type = typeof value;
|
|
17986
|
+
if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol_default(value)) {
|
|
17987
|
+
return true;
|
|
17988
|
+
}
|
|
17989
|
+
return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
|
|
17990
|
+
}
|
|
17991
|
+
var reIsDeepProp, reIsPlainProp, _isKey_default;
|
|
17992
|
+
var init__isKey = __esm(() => {
|
|
17993
|
+
init_isArray();
|
|
17994
|
+
init_isSymbol();
|
|
17995
|
+
reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;
|
|
17996
|
+
reIsPlainProp = /^\w*$/;
|
|
17997
|
+
_isKey_default = isKey;
|
|
17998
|
+
});
|
|
17999
|
+
|
|
18000
|
+
// ../../node_modules/lodash-es/memoize.js
|
|
18001
|
+
function memoize(func, resolver) {
|
|
18002
|
+
if (typeof func != "function" || resolver != null && typeof resolver != "function") {
|
|
18003
|
+
throw new TypeError(FUNC_ERROR_TEXT);
|
|
18004
|
+
}
|
|
18005
|
+
var memoized = function() {
|
|
18006
|
+
var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
|
|
18007
|
+
if (cache.has(key)) {
|
|
18008
|
+
return cache.get(key);
|
|
18009
|
+
}
|
|
18010
|
+
var result = func.apply(this, args);
|
|
18011
|
+
memoized.cache = cache.set(key, result) || cache;
|
|
18012
|
+
return result;
|
|
18013
|
+
};
|
|
18014
|
+
memoized.cache = new (memoize.Cache || _MapCache_default);
|
|
18015
|
+
return memoized;
|
|
18016
|
+
}
|
|
18017
|
+
var FUNC_ERROR_TEXT = "Expected a function", memoize_default;
|
|
18018
|
+
var init_memoize = __esm(() => {
|
|
18019
|
+
init__MapCache();
|
|
18020
|
+
memoize.Cache = _MapCache_default;
|
|
18021
|
+
memoize_default = memoize;
|
|
18022
|
+
});
|
|
18023
|
+
|
|
18024
|
+
// ../../node_modules/lodash-es/_memoizeCapped.js
|
|
18025
|
+
function memoizeCapped(func) {
|
|
18026
|
+
var result = memoize_default(func, function(key) {
|
|
18027
|
+
if (cache.size === MAX_MEMOIZE_SIZE) {
|
|
18028
|
+
cache.clear();
|
|
18029
|
+
}
|
|
18030
|
+
return key;
|
|
18031
|
+
});
|
|
18032
|
+
var cache = result.cache;
|
|
18033
|
+
return result;
|
|
18034
|
+
}
|
|
18035
|
+
var MAX_MEMOIZE_SIZE = 500, _memoizeCapped_default;
|
|
18036
|
+
var init__memoizeCapped = __esm(() => {
|
|
18037
|
+
init_memoize();
|
|
18038
|
+
_memoizeCapped_default = memoizeCapped;
|
|
18039
|
+
});
|
|
18040
|
+
|
|
18041
|
+
// ../../node_modules/lodash-es/_stringToPath.js
|
|
18042
|
+
var rePropName, reEscapeChar, stringToPath, _stringToPath_default;
|
|
18043
|
+
var init__stringToPath = __esm(() => {
|
|
18044
|
+
init__memoizeCapped();
|
|
18045
|
+
rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
|
|
18046
|
+
reEscapeChar = /\\(\\)?/g;
|
|
18047
|
+
stringToPath = _memoizeCapped_default(function(string) {
|
|
18048
|
+
var result = [];
|
|
18049
|
+
if (string.charCodeAt(0) === 46) {
|
|
18050
|
+
result.push("");
|
|
18051
|
+
}
|
|
18052
|
+
string.replace(rePropName, function(match, number, quote, subString) {
|
|
18053
|
+
result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
|
|
18054
|
+
});
|
|
18055
|
+
return result;
|
|
18056
|
+
});
|
|
18057
|
+
_stringToPath_default = stringToPath;
|
|
18058
|
+
});
|
|
18059
|
+
|
|
18060
|
+
// ../../node_modules/lodash-es/_arrayMap.js
|
|
18061
|
+
function arrayMap(array, iteratee) {
|
|
18062
|
+
var index = -1, length = array == null ? 0 : array.length, result = Array(length);
|
|
18063
|
+
while (++index < length) {
|
|
18064
|
+
result[index] = iteratee(array[index], index, array);
|
|
18065
|
+
}
|
|
18066
|
+
return result;
|
|
18067
|
+
}
|
|
18068
|
+
var _arrayMap_default;
|
|
18069
|
+
var init__arrayMap = __esm(() => {
|
|
18070
|
+
_arrayMap_default = arrayMap;
|
|
18071
|
+
});
|
|
18072
|
+
|
|
18073
|
+
// ../../node_modules/lodash-es/_baseToString.js
|
|
18074
|
+
function baseToString(value) {
|
|
18075
|
+
if (typeof value == "string") {
|
|
18076
|
+
return value;
|
|
18077
|
+
}
|
|
18078
|
+
if (isArray_default(value)) {
|
|
18079
|
+
return _arrayMap_default(value, baseToString) + "";
|
|
18080
|
+
}
|
|
18081
|
+
if (isSymbol_default(value)) {
|
|
18082
|
+
return symbolToString ? symbolToString.call(value) : "";
|
|
18083
|
+
}
|
|
18084
|
+
var result = value + "";
|
|
18085
|
+
return result == "0" && 1 / value == -INFINITY ? "-0" : result;
|
|
18086
|
+
}
|
|
18087
|
+
var INFINITY, symbolProto2, symbolToString, _baseToString_default;
|
|
18088
|
+
var init__baseToString = __esm(() => {
|
|
18089
|
+
init__Symbol();
|
|
18090
|
+
init__arrayMap();
|
|
18091
|
+
init_isArray();
|
|
18092
|
+
init_isSymbol();
|
|
18093
|
+
INFINITY = 1 / 0;
|
|
18094
|
+
symbolProto2 = _Symbol_default ? _Symbol_default.prototype : undefined;
|
|
18095
|
+
symbolToString = symbolProto2 ? symbolProto2.toString : undefined;
|
|
18096
|
+
_baseToString_default = baseToString;
|
|
18097
|
+
});
|
|
18098
|
+
|
|
18099
|
+
// ../../node_modules/lodash-es/toString.js
|
|
18100
|
+
function toString(value) {
|
|
18101
|
+
return value == null ? "" : _baseToString_default(value);
|
|
18102
|
+
}
|
|
18103
|
+
var toString_default;
|
|
18104
|
+
var init_toString = __esm(() => {
|
|
18105
|
+
init__baseToString();
|
|
18106
|
+
toString_default = toString;
|
|
18107
|
+
});
|
|
18108
|
+
|
|
18109
|
+
// ../../node_modules/lodash-es/_castPath.js
|
|
18110
|
+
function castPath(value, object) {
|
|
18111
|
+
if (isArray_default(value)) {
|
|
18112
|
+
return value;
|
|
18113
|
+
}
|
|
18114
|
+
return _isKey_default(value, object) ? [value] : _stringToPath_default(toString_default(value));
|
|
18115
|
+
}
|
|
18116
|
+
var _castPath_default;
|
|
18117
|
+
var init__castPath = __esm(() => {
|
|
18118
|
+
init_isArray();
|
|
18119
|
+
init__isKey();
|
|
18120
|
+
init__stringToPath();
|
|
18121
|
+
init_toString();
|
|
18122
|
+
_castPath_default = castPath;
|
|
18123
|
+
});
|
|
18124
|
+
|
|
18125
|
+
// ../../node_modules/lodash-es/_toKey.js
|
|
18126
|
+
function toKey(value) {
|
|
18127
|
+
if (typeof value == "string" || isSymbol_default(value)) {
|
|
18128
|
+
return value;
|
|
18129
|
+
}
|
|
18130
|
+
var result = value + "";
|
|
18131
|
+
return result == "0" && 1 / value == -INFINITY2 ? "-0" : result;
|
|
18132
|
+
}
|
|
18133
|
+
var INFINITY2, _toKey_default;
|
|
18134
|
+
var init__toKey = __esm(() => {
|
|
18135
|
+
init_isSymbol();
|
|
18136
|
+
INFINITY2 = 1 / 0;
|
|
18137
|
+
_toKey_default = toKey;
|
|
18138
|
+
});
|
|
18139
|
+
|
|
18140
|
+
// ../../node_modules/lodash-es/_baseGet.js
|
|
18141
|
+
function baseGet(object, path6) {
|
|
18142
|
+
path6 = _castPath_default(path6, object);
|
|
18143
|
+
var index = 0, length = path6.length;
|
|
18144
|
+
while (object != null && index < length) {
|
|
18145
|
+
object = object[_toKey_default(path6[index++])];
|
|
18146
|
+
}
|
|
18147
|
+
return index && index == length ? object : undefined;
|
|
18148
|
+
}
|
|
18149
|
+
var _baseGet_default;
|
|
18150
|
+
var init__baseGet = __esm(() => {
|
|
18151
|
+
init__castPath();
|
|
18152
|
+
init__toKey();
|
|
18153
|
+
_baseGet_default = baseGet;
|
|
18154
|
+
});
|
|
18155
|
+
|
|
18156
|
+
// ../../node_modules/lodash-es/get.js
|
|
18157
|
+
function get(object, path6, defaultValue) {
|
|
18158
|
+
var result = object == null ? undefined : _baseGet_default(object, path6);
|
|
18159
|
+
return result === undefined ? defaultValue : result;
|
|
18160
|
+
}
|
|
18161
|
+
var get_default;
|
|
18162
|
+
var init_get = __esm(() => {
|
|
18163
|
+
init__baseGet();
|
|
18164
|
+
get_default = get;
|
|
18165
|
+
});
|
|
18166
|
+
|
|
18167
|
+
// ../../node_modules/lodash-es/_baseHasIn.js
|
|
18168
|
+
function baseHasIn(object, key) {
|
|
18169
|
+
return object != null && key in Object(object);
|
|
18170
|
+
}
|
|
18171
|
+
var _baseHasIn_default;
|
|
18172
|
+
var init__baseHasIn = __esm(() => {
|
|
18173
|
+
_baseHasIn_default = baseHasIn;
|
|
18174
|
+
});
|
|
18175
|
+
|
|
18176
|
+
// ../../node_modules/lodash-es/_hasPath.js
|
|
18177
|
+
function hasPath(object, path6, hasFunc) {
|
|
18178
|
+
path6 = _castPath_default(path6, object);
|
|
18179
|
+
var index = -1, length = path6.length, result = false;
|
|
18180
|
+
while (++index < length) {
|
|
18181
|
+
var key = _toKey_default(path6[index]);
|
|
18182
|
+
if (!(result = object != null && hasFunc(object, key))) {
|
|
18183
|
+
break;
|
|
18184
|
+
}
|
|
18185
|
+
object = object[key];
|
|
18186
|
+
}
|
|
18187
|
+
if (result || ++index != length) {
|
|
18188
|
+
return result;
|
|
18189
|
+
}
|
|
18190
|
+
length = object == null ? 0 : object.length;
|
|
18191
|
+
return !!length && isLength_default(length) && _isIndex_default(key, length) && (isArray_default(object) || isArguments_default(object));
|
|
18192
|
+
}
|
|
18193
|
+
var _hasPath_default;
|
|
18194
|
+
var init__hasPath = __esm(() => {
|
|
18195
|
+
init__castPath();
|
|
18196
|
+
init_isArguments();
|
|
18197
|
+
init_isArray();
|
|
18198
|
+
init__isIndex();
|
|
18199
|
+
init_isLength();
|
|
18200
|
+
init__toKey();
|
|
18201
|
+
_hasPath_default = hasPath;
|
|
18202
|
+
});
|
|
18203
|
+
|
|
18204
|
+
// ../../node_modules/lodash-es/hasIn.js
|
|
18205
|
+
function hasIn(object, path6) {
|
|
18206
|
+
return object != null && _hasPath_default(object, path6, _baseHasIn_default);
|
|
18207
|
+
}
|
|
18208
|
+
var hasIn_default;
|
|
18209
|
+
var init_hasIn = __esm(() => {
|
|
18210
|
+
init__baseHasIn();
|
|
18211
|
+
init__hasPath();
|
|
18212
|
+
hasIn_default = hasIn;
|
|
18213
|
+
});
|
|
18214
|
+
|
|
18215
|
+
// ../../node_modules/lodash-es/_baseMatchesProperty.js
|
|
18216
|
+
function baseMatchesProperty(path6, srcValue) {
|
|
18217
|
+
if (_isKey_default(path6) && _isStrictComparable_default(srcValue)) {
|
|
18218
|
+
return _matchesStrictComparable_default(_toKey_default(path6), srcValue);
|
|
18219
|
+
}
|
|
18220
|
+
return function(object) {
|
|
18221
|
+
var objValue = get_default(object, path6);
|
|
18222
|
+
return objValue === undefined && objValue === srcValue ? hasIn_default(object, path6) : _baseIsEqual_default(srcValue, objValue, COMPARE_PARTIAL_FLAG6 | COMPARE_UNORDERED_FLAG4);
|
|
18223
|
+
};
|
|
18224
|
+
}
|
|
18225
|
+
var COMPARE_PARTIAL_FLAG6 = 1, COMPARE_UNORDERED_FLAG4 = 2, _baseMatchesProperty_default;
|
|
18226
|
+
var init__baseMatchesProperty = __esm(() => {
|
|
18227
|
+
init__baseIsEqual();
|
|
18228
|
+
init_get();
|
|
18229
|
+
init_hasIn();
|
|
18230
|
+
init__isKey();
|
|
18231
|
+
init__isStrictComparable();
|
|
18232
|
+
init__matchesStrictComparable();
|
|
18233
|
+
init__toKey();
|
|
18234
|
+
_baseMatchesProperty_default = baseMatchesProperty;
|
|
18235
|
+
});
|
|
18236
|
+
|
|
18237
|
+
// ../../node_modules/lodash-es/identity.js
|
|
18238
|
+
function identity(value) {
|
|
18239
|
+
return value;
|
|
18240
|
+
}
|
|
18241
|
+
var identity_default;
|
|
18242
|
+
var init_identity = __esm(() => {
|
|
18243
|
+
identity_default = identity;
|
|
18244
|
+
});
|
|
18245
|
+
|
|
18246
|
+
// ../../node_modules/lodash-es/_baseProperty.js
|
|
18247
|
+
function baseProperty(key) {
|
|
18248
|
+
return function(object) {
|
|
18249
|
+
return object == null ? undefined : object[key];
|
|
18250
|
+
};
|
|
18251
|
+
}
|
|
18252
|
+
var _baseProperty_default;
|
|
18253
|
+
var init__baseProperty = __esm(() => {
|
|
18254
|
+
_baseProperty_default = baseProperty;
|
|
18255
|
+
});
|
|
18256
|
+
|
|
18257
|
+
// ../../node_modules/lodash-es/_basePropertyDeep.js
|
|
18258
|
+
function basePropertyDeep(path6) {
|
|
18259
|
+
return function(object) {
|
|
18260
|
+
return _baseGet_default(object, path6);
|
|
18261
|
+
};
|
|
18262
|
+
}
|
|
18263
|
+
var _basePropertyDeep_default;
|
|
18264
|
+
var init__basePropertyDeep = __esm(() => {
|
|
18265
|
+
init__baseGet();
|
|
18266
|
+
_basePropertyDeep_default = basePropertyDeep;
|
|
18267
|
+
});
|
|
18268
|
+
|
|
18269
|
+
// ../../node_modules/lodash-es/property.js
|
|
18270
|
+
function property(path6) {
|
|
18271
|
+
return _isKey_default(path6) ? _baseProperty_default(_toKey_default(path6)) : _basePropertyDeep_default(path6);
|
|
18272
|
+
}
|
|
18273
|
+
var property_default;
|
|
18274
|
+
var init_property = __esm(() => {
|
|
18275
|
+
init__baseProperty();
|
|
18276
|
+
init__basePropertyDeep();
|
|
18277
|
+
init__isKey();
|
|
18278
|
+
init__toKey();
|
|
18279
|
+
property_default = property;
|
|
18280
|
+
});
|
|
18281
|
+
|
|
18282
|
+
// ../../node_modules/lodash-es/_baseIteratee.js
|
|
18283
|
+
function baseIteratee(value) {
|
|
18284
|
+
if (typeof value == "function") {
|
|
18285
|
+
return value;
|
|
18286
|
+
}
|
|
18287
|
+
if (value == null) {
|
|
18288
|
+
return identity_default;
|
|
18289
|
+
}
|
|
18290
|
+
if (typeof value == "object") {
|
|
18291
|
+
return isArray_default(value) ? _baseMatchesProperty_default(value[0], value[1]) : _baseMatches_default(value);
|
|
18292
|
+
}
|
|
18293
|
+
return property_default(value);
|
|
18294
|
+
}
|
|
18295
|
+
var _baseIteratee_default;
|
|
18296
|
+
var init__baseIteratee = __esm(() => {
|
|
18297
|
+
init__baseMatches();
|
|
18298
|
+
init__baseMatchesProperty();
|
|
18299
|
+
init_identity();
|
|
18300
|
+
init_isArray();
|
|
18301
|
+
init_property();
|
|
18302
|
+
_baseIteratee_default = baseIteratee;
|
|
18303
|
+
});
|
|
18304
|
+
|
|
18305
|
+
// ../../node_modules/lodash-es/_createFind.js
|
|
18306
|
+
function createFind(findIndexFunc) {
|
|
18307
|
+
return function(collection, predicate, fromIndex) {
|
|
18308
|
+
var iterable = Object(collection);
|
|
18309
|
+
if (!isArrayLike_default(collection)) {
|
|
18310
|
+
var iteratee = _baseIteratee_default(predicate, 3);
|
|
18311
|
+
collection = keys_default(collection);
|
|
18312
|
+
predicate = function(key) {
|
|
18313
|
+
return iteratee(iterable[key], key, iterable);
|
|
18314
|
+
};
|
|
18315
|
+
}
|
|
18316
|
+
var index = findIndexFunc(collection, predicate, fromIndex);
|
|
18317
|
+
return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;
|
|
18318
|
+
};
|
|
18319
|
+
}
|
|
18320
|
+
var _createFind_default;
|
|
18321
|
+
var init__createFind = __esm(() => {
|
|
18322
|
+
init__baseIteratee();
|
|
18323
|
+
init_isArrayLike();
|
|
18324
|
+
init_keys();
|
|
18325
|
+
_createFind_default = createFind;
|
|
18326
|
+
});
|
|
18327
|
+
|
|
18328
|
+
// ../../node_modules/lodash-es/_baseFindIndex.js
|
|
18329
|
+
function baseFindIndex(array, predicate, fromIndex, fromRight) {
|
|
18330
|
+
var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
|
|
18331
|
+
while (fromRight ? index-- : ++index < length) {
|
|
18332
|
+
if (predicate(array[index], index, array)) {
|
|
18333
|
+
return index;
|
|
18334
|
+
}
|
|
18335
|
+
}
|
|
18336
|
+
return -1;
|
|
18337
|
+
}
|
|
18338
|
+
var _baseFindIndex_default;
|
|
18339
|
+
var init__baseFindIndex = __esm(() => {
|
|
18340
|
+
_baseFindIndex_default = baseFindIndex;
|
|
18341
|
+
});
|
|
18342
|
+
|
|
18343
|
+
// ../../node_modules/lodash-es/_trimmedEndIndex.js
|
|
18344
|
+
function trimmedEndIndex(string) {
|
|
18345
|
+
var index = string.length;
|
|
18346
|
+
while (index-- && reWhitespace.test(string.charAt(index))) {}
|
|
18347
|
+
return index;
|
|
18348
|
+
}
|
|
18349
|
+
var reWhitespace, _trimmedEndIndex_default;
|
|
18350
|
+
var init__trimmedEndIndex = __esm(() => {
|
|
18351
|
+
reWhitespace = /\s/;
|
|
18352
|
+
_trimmedEndIndex_default = trimmedEndIndex;
|
|
18353
|
+
});
|
|
18354
|
+
|
|
18355
|
+
// ../../node_modules/lodash-es/_baseTrim.js
|
|
18356
|
+
function baseTrim(string) {
|
|
18357
|
+
return string ? string.slice(0, _trimmedEndIndex_default(string) + 1).replace(reTrimStart, "") : string;
|
|
18358
|
+
}
|
|
18359
|
+
var reTrimStart, _baseTrim_default;
|
|
18360
|
+
var init__baseTrim = __esm(() => {
|
|
18361
|
+
init__trimmedEndIndex();
|
|
18362
|
+
reTrimStart = /^\s+/;
|
|
18363
|
+
_baseTrim_default = baseTrim;
|
|
18364
|
+
});
|
|
18365
|
+
|
|
18366
|
+
// ../../node_modules/lodash-es/toNumber.js
|
|
18367
|
+
function toNumber(value) {
|
|
18368
|
+
if (typeof value == "number") {
|
|
18369
|
+
return value;
|
|
18370
|
+
}
|
|
18371
|
+
if (isSymbol_default(value)) {
|
|
18372
|
+
return NAN;
|
|
18373
|
+
}
|
|
18374
|
+
if (isObject_default(value)) {
|
|
18375
|
+
var other = typeof value.valueOf == "function" ? value.valueOf() : value;
|
|
18376
|
+
value = isObject_default(other) ? other + "" : other;
|
|
18377
|
+
}
|
|
18378
|
+
if (typeof value != "string") {
|
|
18379
|
+
return value === 0 ? value : +value;
|
|
18380
|
+
}
|
|
18381
|
+
value = _baseTrim_default(value);
|
|
18382
|
+
var isBinary = reIsBinary.test(value);
|
|
18383
|
+
return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
|
|
18384
|
+
}
|
|
18385
|
+
var NAN, reIsBadHex, reIsBinary, reIsOctal, freeParseInt, toNumber_default;
|
|
18386
|
+
var init_toNumber = __esm(() => {
|
|
18387
|
+
init__baseTrim();
|
|
18388
|
+
init_isObject();
|
|
18389
|
+
init_isSymbol();
|
|
18390
|
+
NAN = 0 / 0;
|
|
18391
|
+
reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
|
|
18392
|
+
reIsBinary = /^0b[01]+$/i;
|
|
18393
|
+
reIsOctal = /^0o[0-7]+$/i;
|
|
18394
|
+
freeParseInt = parseInt;
|
|
18395
|
+
toNumber_default = toNumber;
|
|
18396
|
+
});
|
|
18397
|
+
|
|
18398
|
+
// ../../node_modules/lodash-es/toFinite.js
|
|
18399
|
+
function toFinite(value) {
|
|
18400
|
+
if (!value) {
|
|
18401
|
+
return value === 0 ? value : 0;
|
|
18402
|
+
}
|
|
18403
|
+
value = toNumber_default(value);
|
|
18404
|
+
if (value === INFINITY3 || value === -INFINITY3) {
|
|
18405
|
+
var sign = value < 0 ? -1 : 1;
|
|
18406
|
+
return sign * MAX_INTEGER;
|
|
18407
|
+
}
|
|
18408
|
+
return value === value ? value : 0;
|
|
18409
|
+
}
|
|
18410
|
+
var INFINITY3, MAX_INTEGER = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, toFinite_default;
|
|
18411
|
+
var init_toFinite = __esm(() => {
|
|
18412
|
+
init_toNumber();
|
|
18413
|
+
INFINITY3 = 1 / 0;
|
|
18414
|
+
toFinite_default = toFinite;
|
|
18415
|
+
});
|
|
18416
|
+
|
|
18417
|
+
// ../../node_modules/lodash-es/toInteger.js
|
|
18418
|
+
function toInteger(value) {
|
|
18419
|
+
var result = toFinite_default(value), remainder = result % 1;
|
|
18420
|
+
return result === result ? remainder ? result - remainder : result : 0;
|
|
18421
|
+
}
|
|
18422
|
+
var toInteger_default;
|
|
18423
|
+
var init_toInteger = __esm(() => {
|
|
18424
|
+
init_toFinite();
|
|
18425
|
+
toInteger_default = toInteger;
|
|
18426
|
+
});
|
|
18427
|
+
|
|
18428
|
+
// ../../node_modules/lodash-es/findIndex.js
|
|
18429
|
+
function findIndex(array, predicate, fromIndex) {
|
|
18430
|
+
var length = array == null ? 0 : array.length;
|
|
18431
|
+
if (!length) {
|
|
18432
|
+
return -1;
|
|
18433
|
+
}
|
|
18434
|
+
var index = fromIndex == null ? 0 : toInteger_default(fromIndex);
|
|
18435
|
+
if (index < 0) {
|
|
18436
|
+
index = nativeMax(length + index, 0);
|
|
18437
|
+
}
|
|
18438
|
+
return _baseFindIndex_default(array, _baseIteratee_default(predicate, 3), index);
|
|
18439
|
+
}
|
|
18440
|
+
var nativeMax, findIndex_default;
|
|
18441
|
+
var init_findIndex = __esm(() => {
|
|
18442
|
+
init__baseFindIndex();
|
|
18443
|
+
init__baseIteratee();
|
|
18444
|
+
init_toInteger();
|
|
18445
|
+
nativeMax = Math.max;
|
|
18446
|
+
findIndex_default = findIndex;
|
|
18447
|
+
});
|
|
18448
|
+
|
|
18449
|
+
// ../../node_modules/lodash-es/find.js
|
|
18450
|
+
var find, find_default;
|
|
18451
|
+
var init_find = __esm(() => {
|
|
18452
|
+
init__createFind();
|
|
18453
|
+
init_findIndex();
|
|
18454
|
+
find = _createFind_default(findIndex_default);
|
|
18455
|
+
find_default = find;
|
|
18456
|
+
});
|
|
18457
|
+
|
|
18458
|
+
// ../../node_modules/lodash-es/_arrayEach.js
|
|
18459
|
+
function arrayEach(array, iteratee) {
|
|
18460
|
+
var index = -1, length = array == null ? 0 : array.length;
|
|
18461
|
+
while (++index < length) {
|
|
18462
|
+
if (iteratee(array[index], index, array) === false) {
|
|
18463
|
+
break;
|
|
18464
|
+
}
|
|
18465
|
+
}
|
|
18466
|
+
return array;
|
|
18467
|
+
}
|
|
18468
|
+
var _arrayEach_default;
|
|
18469
|
+
var init__arrayEach = __esm(() => {
|
|
18470
|
+
_arrayEach_default = arrayEach;
|
|
18471
|
+
});
|
|
18472
|
+
|
|
18473
|
+
// ../../node_modules/lodash-es/_createBaseFor.js
|
|
18474
|
+
function createBaseFor(fromRight) {
|
|
18475
|
+
return function(object, iteratee, keysFunc) {
|
|
18476
|
+
var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length;
|
|
18477
|
+
while (length--) {
|
|
18478
|
+
var key = props[fromRight ? length : ++index];
|
|
18479
|
+
if (iteratee(iterable[key], key, iterable) === false) {
|
|
18480
|
+
break;
|
|
18481
|
+
}
|
|
18482
|
+
}
|
|
18483
|
+
return object;
|
|
18484
|
+
};
|
|
18485
|
+
}
|
|
18486
|
+
var _createBaseFor_default;
|
|
18487
|
+
var init__createBaseFor = __esm(() => {
|
|
18488
|
+
_createBaseFor_default = createBaseFor;
|
|
18489
|
+
});
|
|
18490
|
+
|
|
18491
|
+
// ../../node_modules/lodash-es/_baseFor.js
|
|
18492
|
+
var baseFor, _baseFor_default;
|
|
18493
|
+
var init__baseFor = __esm(() => {
|
|
18494
|
+
init__createBaseFor();
|
|
18495
|
+
baseFor = _createBaseFor_default();
|
|
18496
|
+
_baseFor_default = baseFor;
|
|
18497
|
+
});
|
|
18498
|
+
|
|
18499
|
+
// ../../node_modules/lodash-es/_baseForOwn.js
|
|
18500
|
+
function baseForOwn(object, iteratee) {
|
|
18501
|
+
return object && _baseFor_default(object, iteratee, keys_default);
|
|
18502
|
+
}
|
|
18503
|
+
var _baseForOwn_default;
|
|
18504
|
+
var init__baseForOwn = __esm(() => {
|
|
18505
|
+
init__baseFor();
|
|
18506
|
+
init_keys();
|
|
18507
|
+
_baseForOwn_default = baseForOwn;
|
|
18508
|
+
});
|
|
18509
|
+
|
|
18510
|
+
// ../../node_modules/lodash-es/_createBaseEach.js
|
|
18511
|
+
function createBaseEach(eachFunc, fromRight) {
|
|
18512
|
+
return function(collection, iteratee) {
|
|
18513
|
+
if (collection == null) {
|
|
18514
|
+
return collection;
|
|
18515
|
+
}
|
|
18516
|
+
if (!isArrayLike_default(collection)) {
|
|
18517
|
+
return eachFunc(collection, iteratee);
|
|
18518
|
+
}
|
|
18519
|
+
var length = collection.length, index = fromRight ? length : -1, iterable = Object(collection);
|
|
18520
|
+
while (fromRight ? index-- : ++index < length) {
|
|
18521
|
+
if (iteratee(iterable[index], index, iterable) === false) {
|
|
18522
|
+
break;
|
|
18523
|
+
}
|
|
18524
|
+
}
|
|
18525
|
+
return collection;
|
|
18526
|
+
};
|
|
18527
|
+
}
|
|
18528
|
+
var _createBaseEach_default;
|
|
18529
|
+
var init__createBaseEach = __esm(() => {
|
|
18530
|
+
init_isArrayLike();
|
|
18531
|
+
_createBaseEach_default = createBaseEach;
|
|
18532
|
+
});
|
|
18533
|
+
|
|
18534
|
+
// ../../node_modules/lodash-es/_baseEach.js
|
|
18535
|
+
var baseEach, _baseEach_default;
|
|
18536
|
+
var init__baseEach = __esm(() => {
|
|
18537
|
+
init__baseForOwn();
|
|
18538
|
+
init__createBaseEach();
|
|
18539
|
+
baseEach = _createBaseEach_default(_baseForOwn_default);
|
|
18540
|
+
_baseEach_default = baseEach;
|
|
18541
|
+
});
|
|
18542
|
+
|
|
18543
|
+
// ../../node_modules/lodash-es/_castFunction.js
|
|
18544
|
+
function castFunction(value) {
|
|
18545
|
+
return typeof value == "function" ? value : identity_default;
|
|
18546
|
+
}
|
|
18547
|
+
var _castFunction_default;
|
|
18548
|
+
var init__castFunction = __esm(() => {
|
|
18549
|
+
init_identity();
|
|
18550
|
+
_castFunction_default = castFunction;
|
|
18551
|
+
});
|
|
18552
|
+
|
|
18553
|
+
// ../../node_modules/lodash-es/forEach.js
|
|
18554
|
+
function forEach(collection, iteratee) {
|
|
18555
|
+
var func = isArray_default(collection) ? _arrayEach_default : _baseEach_default;
|
|
18556
|
+
return func(collection, _castFunction_default(iteratee));
|
|
18557
|
+
}
|
|
18558
|
+
var forEach_default;
|
|
18559
|
+
var init_forEach = __esm(() => {
|
|
18560
|
+
init__arrayEach();
|
|
18561
|
+
init__baseEach();
|
|
18562
|
+
init__castFunction();
|
|
18563
|
+
init_isArray();
|
|
18564
|
+
forEach_default = forEach;
|
|
18565
|
+
});
|
|
18566
|
+
|
|
18567
|
+
// ../../node_modules/lodash-es/isEmpty.js
|
|
18568
|
+
function isEmpty(value) {
|
|
18569
|
+
if (value == null) {
|
|
18570
|
+
return true;
|
|
18571
|
+
}
|
|
18572
|
+
if (isArrayLike_default(value) && (isArray_default(value) || typeof value == "string" || typeof value.splice == "function" || isBuffer_default(value) || isTypedArray_default(value) || isArguments_default(value))) {
|
|
18573
|
+
return !value.length;
|
|
18574
|
+
}
|
|
18575
|
+
var tag = _getTag_default(value);
|
|
18576
|
+
if (tag == mapTag4 || tag == setTag4) {
|
|
18577
|
+
return !value.size;
|
|
18578
|
+
}
|
|
18579
|
+
if (_isPrototype_default(value)) {
|
|
18580
|
+
return !_baseKeys_default(value).length;
|
|
18581
|
+
}
|
|
18582
|
+
for (var key in value) {
|
|
18583
|
+
if (hasOwnProperty10.call(value, key)) {
|
|
18584
|
+
return false;
|
|
18585
|
+
}
|
|
18586
|
+
}
|
|
18587
|
+
return true;
|
|
18588
|
+
}
|
|
18589
|
+
var mapTag4 = "[object Map]", setTag4 = "[object Set]", objectProto13, hasOwnProperty10, isEmpty_default;
|
|
18590
|
+
var init_isEmpty = __esm(() => {
|
|
18591
|
+
init__baseKeys();
|
|
18592
|
+
init__getTag();
|
|
18593
|
+
init_isArguments();
|
|
18594
|
+
init_isArray();
|
|
18595
|
+
init_isArrayLike();
|
|
18596
|
+
init_isBuffer();
|
|
18597
|
+
init__isPrototype();
|
|
18598
|
+
init_isTypedArray();
|
|
18599
|
+
objectProto13 = Object.prototype;
|
|
18600
|
+
hasOwnProperty10 = objectProto13.hasOwnProperty;
|
|
18601
|
+
isEmpty_default = isEmpty;
|
|
18602
|
+
});
|
|
18603
|
+
|
|
18604
|
+
// ../../node_modules/lodash-es/_baseMap.js
|
|
18605
|
+
function baseMap(collection, iteratee) {
|
|
18606
|
+
var index = -1, result = isArrayLike_default(collection) ? Array(collection.length) : [];
|
|
18607
|
+
_baseEach_default(collection, function(value, key, collection2) {
|
|
18608
|
+
result[++index] = iteratee(value, key, collection2);
|
|
18609
|
+
});
|
|
18610
|
+
return result;
|
|
18611
|
+
}
|
|
18612
|
+
var _baseMap_default;
|
|
18613
|
+
var init__baseMap = __esm(() => {
|
|
18614
|
+
init__baseEach();
|
|
18615
|
+
init_isArrayLike();
|
|
18616
|
+
_baseMap_default = baseMap;
|
|
18617
|
+
});
|
|
18618
|
+
|
|
18619
|
+
// ../../node_modules/lodash-es/map.js
|
|
18620
|
+
function map(collection, iteratee) {
|
|
18621
|
+
var func = isArray_default(collection) ? _arrayMap_default : _baseMap_default;
|
|
18622
|
+
return func(collection, _baseIteratee_default(iteratee, 3));
|
|
18623
|
+
}
|
|
18624
|
+
var map_default;
|
|
18625
|
+
var init_map = __esm(() => {
|
|
18626
|
+
init__arrayMap();
|
|
18627
|
+
init__baseIteratee();
|
|
18628
|
+
init__baseMap();
|
|
18629
|
+
init_isArray();
|
|
18630
|
+
map_default = map;
|
|
18631
|
+
});
|
|
18632
|
+
|
|
18633
|
+
// ../../node_modules/lodash-es/_defineProperty.js
|
|
18634
|
+
var defineProperty, _defineProperty_default;
|
|
18635
|
+
var init__defineProperty = __esm(() => {
|
|
18636
|
+
init__getNative();
|
|
18637
|
+
defineProperty = function() {
|
|
18638
|
+
try {
|
|
18639
|
+
var func = _getNative_default(Object, "defineProperty");
|
|
18640
|
+
func({}, "", {});
|
|
18641
|
+
return func;
|
|
18642
|
+
} catch (e) {}
|
|
18643
|
+
}();
|
|
18644
|
+
_defineProperty_default = defineProperty;
|
|
18645
|
+
});
|
|
18646
|
+
|
|
18647
|
+
// ../../node_modules/lodash-es/_baseAssignValue.js
|
|
18648
|
+
function baseAssignValue(object, key, value) {
|
|
18649
|
+
if (key == "__proto__" && _defineProperty_default) {
|
|
18650
|
+
_defineProperty_default(object, key, {
|
|
18651
|
+
configurable: true,
|
|
18652
|
+
enumerable: true,
|
|
18653
|
+
value,
|
|
18654
|
+
writable: true
|
|
18655
|
+
});
|
|
18656
|
+
} else {
|
|
18657
|
+
object[key] = value;
|
|
18658
|
+
}
|
|
18659
|
+
}
|
|
18660
|
+
var _baseAssignValue_default;
|
|
18661
|
+
var init__baseAssignValue = __esm(() => {
|
|
18662
|
+
init__defineProperty();
|
|
18663
|
+
_baseAssignValue_default = baseAssignValue;
|
|
18664
|
+
});
|
|
18665
|
+
|
|
18666
|
+
// ../../node_modules/lodash-es/_assignMergeValue.js
|
|
18667
|
+
function assignMergeValue(object, key, value) {
|
|
18668
|
+
if (value !== undefined && !eq_default(object[key], value) || value === undefined && !(key in object)) {
|
|
18669
|
+
_baseAssignValue_default(object, key, value);
|
|
18670
|
+
}
|
|
18671
|
+
}
|
|
18672
|
+
var _assignMergeValue_default;
|
|
18673
|
+
var init__assignMergeValue = __esm(() => {
|
|
18674
|
+
init__baseAssignValue();
|
|
18675
|
+
init_eq();
|
|
18676
|
+
_assignMergeValue_default = assignMergeValue;
|
|
18677
|
+
});
|
|
18678
|
+
|
|
18679
|
+
// ../../node_modules/lodash-es/_cloneBuffer.js
|
|
18680
|
+
var exports__cloneBuffer = {};
|
|
18681
|
+
__export(exports__cloneBuffer, {
|
|
18682
|
+
default: () => _cloneBuffer_default
|
|
18683
|
+
});
|
|
18684
|
+
function cloneBuffer(buffer, isDeep) {
|
|
18685
|
+
if (isDeep) {
|
|
18686
|
+
return buffer.slice();
|
|
18687
|
+
}
|
|
18688
|
+
var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
|
|
18689
|
+
buffer.copy(result);
|
|
18690
|
+
return result;
|
|
18691
|
+
}
|
|
18692
|
+
var freeExports3, freeModule3, moduleExports3, Buffer3, allocUnsafe, _cloneBuffer_default;
|
|
18693
|
+
var init__cloneBuffer = __esm(() => {
|
|
18694
|
+
init__root();
|
|
18695
|
+
freeExports3 = typeof exports__cloneBuffer == "object" && exports__cloneBuffer && !exports__cloneBuffer.nodeType && exports__cloneBuffer;
|
|
18696
|
+
freeModule3 = freeExports3 && typeof module__cloneBuffer == "object" && module__cloneBuffer && !module__cloneBuffer.nodeType && module__cloneBuffer;
|
|
18697
|
+
moduleExports3 = freeModule3 && freeModule3.exports === freeExports3;
|
|
18698
|
+
Buffer3 = moduleExports3 ? _root_default.Buffer : undefined;
|
|
18699
|
+
allocUnsafe = Buffer3 ? Buffer3.allocUnsafe : undefined;
|
|
18700
|
+
_cloneBuffer_default = cloneBuffer;
|
|
18701
|
+
});
|
|
18702
|
+
|
|
18703
|
+
// ../../node_modules/lodash-es/_cloneArrayBuffer.js
|
|
18704
|
+
function cloneArrayBuffer(arrayBuffer) {
|
|
18705
|
+
var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
|
|
18706
|
+
new _Uint8Array_default(result).set(new _Uint8Array_default(arrayBuffer));
|
|
18707
|
+
return result;
|
|
18708
|
+
}
|
|
18709
|
+
var _cloneArrayBuffer_default;
|
|
18710
|
+
var init__cloneArrayBuffer = __esm(() => {
|
|
18711
|
+
init__Uint8Array();
|
|
18712
|
+
_cloneArrayBuffer_default = cloneArrayBuffer;
|
|
18713
|
+
});
|
|
18714
|
+
|
|
18715
|
+
// ../../node_modules/lodash-es/_cloneTypedArray.js
|
|
18716
|
+
function cloneTypedArray(typedArray, isDeep) {
|
|
18717
|
+
var buffer = isDeep ? _cloneArrayBuffer_default(typedArray.buffer) : typedArray.buffer;
|
|
18718
|
+
return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
|
|
18719
|
+
}
|
|
18720
|
+
var _cloneTypedArray_default;
|
|
18721
|
+
var init__cloneTypedArray = __esm(() => {
|
|
18722
|
+
init__cloneArrayBuffer();
|
|
18723
|
+
_cloneTypedArray_default = cloneTypedArray;
|
|
18724
|
+
});
|
|
18725
|
+
|
|
18726
|
+
// ../../node_modules/lodash-es/_copyArray.js
|
|
18727
|
+
function copyArray(source, array) {
|
|
18728
|
+
var index = -1, length = source.length;
|
|
18729
|
+
array || (array = Array(length));
|
|
18730
|
+
while (++index < length) {
|
|
18731
|
+
array[index] = source[index];
|
|
18732
|
+
}
|
|
18733
|
+
return array;
|
|
18734
|
+
}
|
|
18735
|
+
var _copyArray_default;
|
|
18736
|
+
var init__copyArray = __esm(() => {
|
|
18737
|
+
_copyArray_default = copyArray;
|
|
18738
|
+
});
|
|
18739
|
+
|
|
18740
|
+
// ../../node_modules/lodash-es/_baseCreate.js
|
|
18741
|
+
var objectCreate, baseCreate, _baseCreate_default;
|
|
18742
|
+
var init__baseCreate = __esm(() => {
|
|
18743
|
+
init_isObject();
|
|
18744
|
+
objectCreate = Object.create;
|
|
18745
|
+
baseCreate = function() {
|
|
18746
|
+
function object() {}
|
|
18747
|
+
return function(proto) {
|
|
18748
|
+
if (!isObject_default(proto)) {
|
|
18749
|
+
return {};
|
|
18750
|
+
}
|
|
18751
|
+
if (objectCreate) {
|
|
18752
|
+
return objectCreate(proto);
|
|
18753
|
+
}
|
|
18754
|
+
object.prototype = proto;
|
|
18755
|
+
var result = new object;
|
|
18756
|
+
object.prototype = undefined;
|
|
18757
|
+
return result;
|
|
18758
|
+
};
|
|
18759
|
+
}();
|
|
18760
|
+
_baseCreate_default = baseCreate;
|
|
18761
|
+
});
|
|
18762
|
+
|
|
18763
|
+
// ../../node_modules/lodash-es/_getPrototype.js
|
|
18764
|
+
var getPrototype, _getPrototype_default;
|
|
18765
|
+
var init__getPrototype = __esm(() => {
|
|
18766
|
+
init__overArg();
|
|
18767
|
+
getPrototype = _overArg_default(Object.getPrototypeOf, Object);
|
|
18768
|
+
_getPrototype_default = getPrototype;
|
|
18769
|
+
});
|
|
18770
|
+
|
|
18771
|
+
// ../../node_modules/lodash-es/_initCloneObject.js
|
|
18772
|
+
function initCloneObject(object) {
|
|
18773
|
+
return typeof object.constructor == "function" && !_isPrototype_default(object) ? _baseCreate_default(_getPrototype_default(object)) : {};
|
|
18774
|
+
}
|
|
18775
|
+
var _initCloneObject_default;
|
|
18776
|
+
var init__initCloneObject = __esm(() => {
|
|
18777
|
+
init__baseCreate();
|
|
18778
|
+
init__getPrototype();
|
|
18779
|
+
init__isPrototype();
|
|
18780
|
+
_initCloneObject_default = initCloneObject;
|
|
18781
|
+
});
|
|
18782
|
+
|
|
18783
|
+
// ../../node_modules/lodash-es/isArrayLikeObject.js
|
|
18784
|
+
function isArrayLikeObject(value) {
|
|
18785
|
+
return isObjectLike_default(value) && isArrayLike_default(value);
|
|
18786
|
+
}
|
|
18787
|
+
var isArrayLikeObject_default;
|
|
18788
|
+
var init_isArrayLikeObject = __esm(() => {
|
|
18789
|
+
init_isArrayLike();
|
|
18790
|
+
init_isObjectLike();
|
|
18791
|
+
isArrayLikeObject_default = isArrayLikeObject;
|
|
18792
|
+
});
|
|
18793
|
+
|
|
18794
|
+
// ../../node_modules/lodash-es/isPlainObject.js
|
|
18795
|
+
function isPlainObject2(value) {
|
|
18796
|
+
if (!isObjectLike_default(value) || _baseGetTag_default(value) != objectTag4) {
|
|
18797
|
+
return false;
|
|
18798
|
+
}
|
|
18799
|
+
var proto = _getPrototype_default(value);
|
|
18800
|
+
if (proto === null) {
|
|
18801
|
+
return true;
|
|
18802
|
+
}
|
|
18803
|
+
var Ctor = hasOwnProperty11.call(proto, "constructor") && proto.constructor;
|
|
18804
|
+
return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString3.call(Ctor) == objectCtorString;
|
|
18805
|
+
}
|
|
18806
|
+
var objectTag4 = "[object Object]", funcProto3, objectProto14, funcToString3, hasOwnProperty11, objectCtorString, isPlainObject_default;
|
|
18807
|
+
var init_isPlainObject = __esm(() => {
|
|
18808
|
+
init__baseGetTag();
|
|
18809
|
+
init__getPrototype();
|
|
18810
|
+
init_isObjectLike();
|
|
18811
|
+
funcProto3 = Function.prototype;
|
|
18812
|
+
objectProto14 = Object.prototype;
|
|
18813
|
+
funcToString3 = funcProto3.toString;
|
|
18814
|
+
hasOwnProperty11 = objectProto14.hasOwnProperty;
|
|
18815
|
+
objectCtorString = funcToString3.call(Object);
|
|
18816
|
+
isPlainObject_default = isPlainObject2;
|
|
18817
|
+
});
|
|
18818
|
+
|
|
18819
|
+
// ../../node_modules/lodash-es/_safeGet.js
|
|
18820
|
+
function safeGet(object, key) {
|
|
18821
|
+
if (key === "constructor" && typeof object[key] === "function") {
|
|
18822
|
+
return;
|
|
18823
|
+
}
|
|
18824
|
+
if (key == "__proto__") {
|
|
18825
|
+
return;
|
|
18826
|
+
}
|
|
18827
|
+
return object[key];
|
|
18828
|
+
}
|
|
18829
|
+
var _safeGet_default;
|
|
18830
|
+
var init__safeGet = __esm(() => {
|
|
18831
|
+
_safeGet_default = safeGet;
|
|
18832
|
+
});
|
|
18833
|
+
|
|
18834
|
+
// ../../node_modules/lodash-es/_assignValue.js
|
|
18835
|
+
function assignValue(object, key, value) {
|
|
18836
|
+
var objValue = object[key];
|
|
18837
|
+
if (!(hasOwnProperty12.call(object, key) && eq_default(objValue, value)) || value === undefined && !(key in object)) {
|
|
18838
|
+
_baseAssignValue_default(object, key, value);
|
|
18839
|
+
}
|
|
18840
|
+
}
|
|
18841
|
+
var objectProto15, hasOwnProperty12, _assignValue_default;
|
|
18842
|
+
var init__assignValue = __esm(() => {
|
|
18843
|
+
init__baseAssignValue();
|
|
18844
|
+
init_eq();
|
|
18845
|
+
objectProto15 = Object.prototype;
|
|
18846
|
+
hasOwnProperty12 = objectProto15.hasOwnProperty;
|
|
18847
|
+
_assignValue_default = assignValue;
|
|
18848
|
+
});
|
|
18849
|
+
|
|
18850
|
+
// ../../node_modules/lodash-es/_copyObject.js
|
|
18851
|
+
function copyObject(source, props, object, customizer) {
|
|
18852
|
+
var isNew = !object;
|
|
18853
|
+
object || (object = {});
|
|
18854
|
+
var index = -1, length = props.length;
|
|
18855
|
+
while (++index < length) {
|
|
18856
|
+
var key = props[index];
|
|
18857
|
+
var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined;
|
|
18858
|
+
if (newValue === undefined) {
|
|
18859
|
+
newValue = source[key];
|
|
18860
|
+
}
|
|
18861
|
+
if (isNew) {
|
|
18862
|
+
_baseAssignValue_default(object, key, newValue);
|
|
18863
|
+
} else {
|
|
18864
|
+
_assignValue_default(object, key, newValue);
|
|
18865
|
+
}
|
|
18866
|
+
}
|
|
18867
|
+
return object;
|
|
18868
|
+
}
|
|
18869
|
+
var _copyObject_default;
|
|
18870
|
+
var init__copyObject = __esm(() => {
|
|
18871
|
+
init__assignValue();
|
|
18872
|
+
init__baseAssignValue();
|
|
18873
|
+
_copyObject_default = copyObject;
|
|
18874
|
+
});
|
|
18875
|
+
|
|
18876
|
+
// ../../node_modules/lodash-es/_nativeKeysIn.js
|
|
18877
|
+
function nativeKeysIn(object) {
|
|
18878
|
+
var result = [];
|
|
18879
|
+
if (object != null) {
|
|
18880
|
+
for (var key in Object(object)) {
|
|
18881
|
+
result.push(key);
|
|
18882
|
+
}
|
|
18883
|
+
}
|
|
18884
|
+
return result;
|
|
18885
|
+
}
|
|
18886
|
+
var _nativeKeysIn_default;
|
|
18887
|
+
var init__nativeKeysIn = __esm(() => {
|
|
18888
|
+
_nativeKeysIn_default = nativeKeysIn;
|
|
18889
|
+
});
|
|
18890
|
+
|
|
18891
|
+
// ../../node_modules/lodash-es/_baseKeysIn.js
|
|
18892
|
+
function baseKeysIn(object) {
|
|
18893
|
+
if (!isObject_default(object)) {
|
|
18894
|
+
return _nativeKeysIn_default(object);
|
|
18895
|
+
}
|
|
18896
|
+
var isProto = _isPrototype_default(object), result = [];
|
|
18897
|
+
for (var key in object) {
|
|
18898
|
+
if (!(key == "constructor" && (isProto || !hasOwnProperty13.call(object, key)))) {
|
|
18899
|
+
result.push(key);
|
|
18900
|
+
}
|
|
18901
|
+
}
|
|
18902
|
+
return result;
|
|
18903
|
+
}
|
|
18904
|
+
var objectProto16, hasOwnProperty13, _baseKeysIn_default;
|
|
18905
|
+
var init__baseKeysIn = __esm(() => {
|
|
18906
|
+
init_isObject();
|
|
18907
|
+
init__isPrototype();
|
|
18908
|
+
init__nativeKeysIn();
|
|
18909
|
+
objectProto16 = Object.prototype;
|
|
18910
|
+
hasOwnProperty13 = objectProto16.hasOwnProperty;
|
|
18911
|
+
_baseKeysIn_default = baseKeysIn;
|
|
18912
|
+
});
|
|
18913
|
+
|
|
18914
|
+
// ../../node_modules/lodash-es/keysIn.js
|
|
18915
|
+
function keysIn(object) {
|
|
18916
|
+
return isArrayLike_default(object) ? _arrayLikeKeys_default(object, true) : _baseKeysIn_default(object);
|
|
18917
|
+
}
|
|
18918
|
+
var keysIn_default;
|
|
18919
|
+
var init_keysIn = __esm(() => {
|
|
18920
|
+
init__arrayLikeKeys();
|
|
18921
|
+
init__baseKeysIn();
|
|
18922
|
+
init_isArrayLike();
|
|
18923
|
+
keysIn_default = keysIn;
|
|
18924
|
+
});
|
|
18925
|
+
|
|
18926
|
+
// ../../node_modules/lodash-es/toPlainObject.js
|
|
18927
|
+
function toPlainObject(value) {
|
|
18928
|
+
return _copyObject_default(value, keysIn_default(value));
|
|
18929
|
+
}
|
|
18930
|
+
var toPlainObject_default;
|
|
18931
|
+
var init_toPlainObject = __esm(() => {
|
|
18932
|
+
init__copyObject();
|
|
18933
|
+
init_keysIn();
|
|
18934
|
+
toPlainObject_default = toPlainObject;
|
|
18935
|
+
});
|
|
18936
|
+
|
|
18937
|
+
// ../../node_modules/lodash-es/_baseMergeDeep.js
|
|
18938
|
+
function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
|
|
18939
|
+
var objValue = _safeGet_default(object, key), srcValue = _safeGet_default(source, key), stacked = stack.get(srcValue);
|
|
18940
|
+
if (stacked) {
|
|
18941
|
+
_assignMergeValue_default(object, key, stacked);
|
|
18942
|
+
return;
|
|
18943
|
+
}
|
|
18944
|
+
var newValue = customizer ? customizer(objValue, srcValue, key + "", object, source, stack) : undefined;
|
|
18945
|
+
var isCommon = newValue === undefined;
|
|
18946
|
+
if (isCommon) {
|
|
18947
|
+
var isArr = isArray_default(srcValue), isBuff = !isArr && isBuffer_default(srcValue), isTyped = !isArr && !isBuff && isTypedArray_default(srcValue);
|
|
18948
|
+
newValue = srcValue;
|
|
18949
|
+
if (isArr || isBuff || isTyped) {
|
|
18950
|
+
if (isArray_default(objValue)) {
|
|
18951
|
+
newValue = objValue;
|
|
18952
|
+
} else if (isArrayLikeObject_default(objValue)) {
|
|
18953
|
+
newValue = _copyArray_default(objValue);
|
|
18954
|
+
} else if (isBuff) {
|
|
18955
|
+
isCommon = false;
|
|
18956
|
+
newValue = _cloneBuffer_default(srcValue, true);
|
|
18957
|
+
} else if (isTyped) {
|
|
18958
|
+
isCommon = false;
|
|
18959
|
+
newValue = _cloneTypedArray_default(srcValue, true);
|
|
18960
|
+
} else {
|
|
18961
|
+
newValue = [];
|
|
18962
|
+
}
|
|
18963
|
+
} else if (isPlainObject_default(srcValue) || isArguments_default(srcValue)) {
|
|
18964
|
+
newValue = objValue;
|
|
18965
|
+
if (isArguments_default(objValue)) {
|
|
18966
|
+
newValue = toPlainObject_default(objValue);
|
|
18967
|
+
} else if (!isObject_default(objValue) || isFunction_default(objValue)) {
|
|
18968
|
+
newValue = _initCloneObject_default(srcValue);
|
|
18969
|
+
}
|
|
18970
|
+
} else {
|
|
18971
|
+
isCommon = false;
|
|
18972
|
+
}
|
|
18973
|
+
}
|
|
18974
|
+
if (isCommon) {
|
|
18975
|
+
stack.set(srcValue, newValue);
|
|
18976
|
+
mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
|
|
18977
|
+
stack["delete"](srcValue);
|
|
18978
|
+
}
|
|
18979
|
+
_assignMergeValue_default(object, key, newValue);
|
|
18980
|
+
}
|
|
18981
|
+
var _baseMergeDeep_default;
|
|
18982
|
+
var init__baseMergeDeep = __esm(() => {
|
|
18983
|
+
init__assignMergeValue();
|
|
18984
|
+
init__cloneBuffer();
|
|
18985
|
+
init__cloneTypedArray();
|
|
18986
|
+
init__copyArray();
|
|
18987
|
+
init__initCloneObject();
|
|
18988
|
+
init_isArguments();
|
|
18989
|
+
init_isArray();
|
|
18990
|
+
init_isArrayLikeObject();
|
|
18991
|
+
init_isBuffer();
|
|
18992
|
+
init_isFunction();
|
|
18993
|
+
init_isObject();
|
|
18994
|
+
init_isPlainObject();
|
|
18995
|
+
init_isTypedArray();
|
|
18996
|
+
init__safeGet();
|
|
18997
|
+
init_toPlainObject();
|
|
18998
|
+
_baseMergeDeep_default = baseMergeDeep;
|
|
18999
|
+
});
|
|
19000
|
+
|
|
19001
|
+
// ../../node_modules/lodash-es/_baseMerge.js
|
|
19002
|
+
function baseMerge(object, source, srcIndex, customizer, stack) {
|
|
19003
|
+
if (object === source) {
|
|
19004
|
+
return;
|
|
19005
|
+
}
|
|
19006
|
+
_baseFor_default(source, function(srcValue, key) {
|
|
19007
|
+
stack || (stack = new _Stack_default);
|
|
19008
|
+
if (isObject_default(srcValue)) {
|
|
19009
|
+
_baseMergeDeep_default(object, source, key, srcIndex, baseMerge, customizer, stack);
|
|
19010
|
+
} else {
|
|
19011
|
+
var newValue = customizer ? customizer(_safeGet_default(object, key), srcValue, key + "", object, source, stack) : undefined;
|
|
19012
|
+
if (newValue === undefined) {
|
|
19013
|
+
newValue = srcValue;
|
|
19014
|
+
}
|
|
19015
|
+
_assignMergeValue_default(object, key, newValue);
|
|
19016
|
+
}
|
|
19017
|
+
}, keysIn_default);
|
|
19018
|
+
}
|
|
19019
|
+
var _baseMerge_default;
|
|
19020
|
+
var init__baseMerge = __esm(() => {
|
|
19021
|
+
init__Stack();
|
|
19022
|
+
init__assignMergeValue();
|
|
19023
|
+
init__baseFor();
|
|
19024
|
+
init__baseMergeDeep();
|
|
19025
|
+
init_isObject();
|
|
19026
|
+
init_keysIn();
|
|
19027
|
+
init__safeGet();
|
|
19028
|
+
_baseMerge_default = baseMerge;
|
|
19029
|
+
});
|
|
19030
|
+
|
|
19031
|
+
// ../../node_modules/lodash-es/_apply.js
|
|
19032
|
+
function apply(func, thisArg, args) {
|
|
19033
|
+
switch (args.length) {
|
|
19034
|
+
case 0:
|
|
19035
|
+
return func.call(thisArg);
|
|
19036
|
+
case 1:
|
|
19037
|
+
return func.call(thisArg, args[0]);
|
|
19038
|
+
case 2:
|
|
19039
|
+
return func.call(thisArg, args[0], args[1]);
|
|
19040
|
+
case 3:
|
|
19041
|
+
return func.call(thisArg, args[0], args[1], args[2]);
|
|
19042
|
+
}
|
|
19043
|
+
return func.apply(thisArg, args);
|
|
19044
|
+
}
|
|
19045
|
+
var _apply_default;
|
|
19046
|
+
var init__apply = __esm(() => {
|
|
19047
|
+
_apply_default = apply;
|
|
19048
|
+
});
|
|
19049
|
+
|
|
19050
|
+
// ../../node_modules/lodash-es/_overRest.js
|
|
19051
|
+
function overRest(func, start, transform) {
|
|
19052
|
+
start = nativeMax2(start === undefined ? func.length - 1 : start, 0);
|
|
19053
|
+
return function() {
|
|
19054
|
+
var args = arguments, index = -1, length = nativeMax2(args.length - start, 0), array = Array(length);
|
|
19055
|
+
while (++index < length) {
|
|
19056
|
+
array[index] = args[start + index];
|
|
19057
|
+
}
|
|
19058
|
+
index = -1;
|
|
19059
|
+
var otherArgs = Array(start + 1);
|
|
19060
|
+
while (++index < start) {
|
|
19061
|
+
otherArgs[index] = args[index];
|
|
19062
|
+
}
|
|
19063
|
+
otherArgs[start] = transform(array);
|
|
19064
|
+
return _apply_default(func, this, otherArgs);
|
|
19065
|
+
};
|
|
19066
|
+
}
|
|
19067
|
+
var nativeMax2, _overRest_default;
|
|
19068
|
+
var init__overRest = __esm(() => {
|
|
19069
|
+
init__apply();
|
|
19070
|
+
nativeMax2 = Math.max;
|
|
19071
|
+
_overRest_default = overRest;
|
|
19072
|
+
});
|
|
19073
|
+
|
|
19074
|
+
// ../../node_modules/lodash-es/constant.js
|
|
19075
|
+
function constant(value) {
|
|
19076
|
+
return function() {
|
|
19077
|
+
return value;
|
|
19078
|
+
};
|
|
16209
19079
|
}
|
|
16210
|
-
|
|
16211
|
-
|
|
16212
|
-
|
|
16213
|
-
|
|
16214
|
-
|
|
16215
|
-
|
|
16216
|
-
|
|
16217
|
-
|
|
16218
|
-
|
|
16219
|
-
|
|
16220
|
-
|
|
19080
|
+
var constant_default;
|
|
19081
|
+
var init_constant = __esm(() => {
|
|
19082
|
+
constant_default = constant;
|
|
19083
|
+
});
|
|
19084
|
+
|
|
19085
|
+
// ../../node_modules/lodash-es/_baseSetToString.js
|
|
19086
|
+
var baseSetToString, _baseSetToString_default;
|
|
19087
|
+
var init__baseSetToString = __esm(() => {
|
|
19088
|
+
init_constant();
|
|
19089
|
+
init__defineProperty();
|
|
19090
|
+
init_identity();
|
|
19091
|
+
baseSetToString = !_defineProperty_default ? identity_default : function(func, string) {
|
|
19092
|
+
return _defineProperty_default(func, "toString", {
|
|
19093
|
+
configurable: true,
|
|
19094
|
+
enumerable: false,
|
|
19095
|
+
value: constant_default(string),
|
|
19096
|
+
writable: true
|
|
19097
|
+
});
|
|
19098
|
+
};
|
|
19099
|
+
_baseSetToString_default = baseSetToString;
|
|
19100
|
+
});
|
|
19101
|
+
|
|
19102
|
+
// ../../node_modules/lodash-es/_shortOut.js
|
|
19103
|
+
function shortOut(func) {
|
|
19104
|
+
var count = 0, lastCalled = 0;
|
|
19105
|
+
return function() {
|
|
19106
|
+
var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
|
|
19107
|
+
lastCalled = stamp;
|
|
19108
|
+
if (remaining > 0) {
|
|
19109
|
+
if (++count >= HOT_COUNT) {
|
|
19110
|
+
return arguments[0];
|
|
19111
|
+
}
|
|
19112
|
+
} else {
|
|
19113
|
+
count = 0;
|
|
16221
19114
|
}
|
|
16222
|
-
|
|
16223
|
-
|
|
16224
|
-
|
|
16225
|
-
|
|
16226
|
-
|
|
19115
|
+
return func.apply(undefined, arguments);
|
|
19116
|
+
};
|
|
19117
|
+
}
|
|
19118
|
+
var HOT_COUNT = 800, HOT_SPAN = 16, nativeNow, _shortOut_default;
|
|
19119
|
+
var init__shortOut = __esm(() => {
|
|
19120
|
+
nativeNow = Date.now;
|
|
19121
|
+
_shortOut_default = shortOut;
|
|
19122
|
+
});
|
|
19123
|
+
|
|
19124
|
+
// ../../node_modules/lodash-es/_setToString.js
|
|
19125
|
+
var setToString, _setToString_default;
|
|
19126
|
+
var init__setToString = __esm(() => {
|
|
19127
|
+
init__baseSetToString();
|
|
19128
|
+
init__shortOut();
|
|
19129
|
+
setToString = _shortOut_default(_baseSetToString_default);
|
|
19130
|
+
_setToString_default = setToString;
|
|
19131
|
+
});
|
|
19132
|
+
|
|
19133
|
+
// ../../node_modules/lodash-es/_baseRest.js
|
|
19134
|
+
function baseRest(func, start) {
|
|
19135
|
+
return _setToString_default(_overRest_default(func, start, identity_default), func + "");
|
|
19136
|
+
}
|
|
19137
|
+
var _baseRest_default;
|
|
19138
|
+
var init__baseRest = __esm(() => {
|
|
19139
|
+
init_identity();
|
|
19140
|
+
init__overRest();
|
|
19141
|
+
init__setToString();
|
|
19142
|
+
_baseRest_default = baseRest;
|
|
19143
|
+
});
|
|
19144
|
+
|
|
19145
|
+
// ../../node_modules/lodash-es/_isIterateeCall.js
|
|
19146
|
+
function isIterateeCall(value, index, object) {
|
|
19147
|
+
if (!isObject_default(object)) {
|
|
19148
|
+
return false;
|
|
16227
19149
|
}
|
|
16228
|
-
|
|
16229
|
-
|
|
19150
|
+
var type = typeof index;
|
|
19151
|
+
if (type == "number" ? isArrayLike_default(object) && _isIndex_default(index, object.length) : type == "string" && (index in object)) {
|
|
19152
|
+
return eq_default(object[index], value);
|
|
16230
19153
|
}
|
|
16231
|
-
|
|
16232
|
-
|
|
16233
|
-
|
|
16234
|
-
|
|
16235
|
-
|
|
16236
|
-
|
|
16237
|
-
|
|
19154
|
+
return false;
|
|
19155
|
+
}
|
|
19156
|
+
var _isIterateeCall_default;
|
|
19157
|
+
var init__isIterateeCall = __esm(() => {
|
|
19158
|
+
init_eq();
|
|
19159
|
+
init_isArrayLike();
|
|
19160
|
+
init__isIndex();
|
|
19161
|
+
init_isObject();
|
|
19162
|
+
_isIterateeCall_default = isIterateeCall;
|
|
19163
|
+
});
|
|
19164
|
+
|
|
19165
|
+
// ../../node_modules/lodash-es/_createAssigner.js
|
|
19166
|
+
function createAssigner(assigner) {
|
|
19167
|
+
return _baseRest_default(function(object, sources) {
|
|
19168
|
+
var index = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : undefined, guard = length > 2 ? sources[2] : undefined;
|
|
19169
|
+
customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : undefined;
|
|
19170
|
+
if (guard && _isIterateeCall_default(sources[0], sources[1], guard)) {
|
|
19171
|
+
customizer = length < 3 ? undefined : customizer;
|
|
19172
|
+
length = 1;
|
|
19173
|
+
}
|
|
19174
|
+
object = Object(object);
|
|
19175
|
+
while (++index < length) {
|
|
19176
|
+
var source = sources[index];
|
|
19177
|
+
if (source) {
|
|
19178
|
+
assigner(object, source, index, customizer);
|
|
19179
|
+
}
|
|
19180
|
+
}
|
|
19181
|
+
return object;
|
|
19182
|
+
});
|
|
19183
|
+
}
|
|
19184
|
+
var _createAssigner_default;
|
|
19185
|
+
var init__createAssigner = __esm(() => {
|
|
19186
|
+
init__baseRest();
|
|
19187
|
+
init__isIterateeCall();
|
|
19188
|
+
_createAssigner_default = createAssigner;
|
|
19189
|
+
});
|
|
19190
|
+
|
|
19191
|
+
// ../../node_modules/lodash-es/mergeWith.js
|
|
19192
|
+
var mergeWith, mergeWith_default;
|
|
19193
|
+
var init_mergeWith = __esm(() => {
|
|
19194
|
+
init__baseMerge();
|
|
19195
|
+
init__createAssigner();
|
|
19196
|
+
mergeWith = _createAssigner_default(function(object, source, srcIndex, customizer) {
|
|
19197
|
+
_baseMerge_default(object, source, srcIndex, customizer);
|
|
19198
|
+
});
|
|
19199
|
+
mergeWith_default = mergeWith;
|
|
19200
|
+
});
|
|
19201
|
+
|
|
19202
|
+
// ../../node_modules/lodash-es/_isFlattenable.js
|
|
19203
|
+
function isFlattenable(value) {
|
|
19204
|
+
return isArray_default(value) || isArguments_default(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
|
|
19205
|
+
}
|
|
19206
|
+
var spreadableSymbol, _isFlattenable_default;
|
|
19207
|
+
var init__isFlattenable = __esm(() => {
|
|
19208
|
+
init__Symbol();
|
|
19209
|
+
init_isArguments();
|
|
19210
|
+
init_isArray();
|
|
19211
|
+
spreadableSymbol = _Symbol_default ? _Symbol_default.isConcatSpreadable : undefined;
|
|
19212
|
+
_isFlattenable_default = isFlattenable;
|
|
19213
|
+
});
|
|
19214
|
+
|
|
19215
|
+
// ../../node_modules/lodash-es/_baseFlatten.js
|
|
19216
|
+
function baseFlatten(array, depth, predicate, isStrict, result) {
|
|
19217
|
+
var index = -1, length = array.length;
|
|
19218
|
+
predicate || (predicate = _isFlattenable_default);
|
|
19219
|
+
result || (result = []);
|
|
19220
|
+
while (++index < length) {
|
|
19221
|
+
var value = array[index];
|
|
19222
|
+
if (depth > 0 && predicate(value)) {
|
|
19223
|
+
if (depth > 1) {
|
|
19224
|
+
baseFlatten(value, depth - 1, predicate, isStrict, result);
|
|
19225
|
+
} else {
|
|
19226
|
+
_arrayPush_default(result, value);
|
|
19227
|
+
}
|
|
19228
|
+
} else if (!isStrict) {
|
|
19229
|
+
result[result.length] = value;
|
|
19230
|
+
}
|
|
19231
|
+
}
|
|
19232
|
+
return result;
|
|
19233
|
+
}
|
|
19234
|
+
var _baseFlatten_default;
|
|
19235
|
+
var init__baseFlatten = __esm(() => {
|
|
19236
|
+
init__arrayPush();
|
|
19237
|
+
init__isFlattenable();
|
|
19238
|
+
_baseFlatten_default = baseFlatten;
|
|
19239
|
+
});
|
|
19240
|
+
|
|
19241
|
+
// ../../node_modules/lodash-es/_baseSortBy.js
|
|
19242
|
+
function baseSortBy(array, comparer) {
|
|
19243
|
+
var length = array.length;
|
|
19244
|
+
array.sort(comparer);
|
|
19245
|
+
while (length--) {
|
|
19246
|
+
array[length] = array[length].value;
|
|
19247
|
+
}
|
|
19248
|
+
return array;
|
|
19249
|
+
}
|
|
19250
|
+
var _baseSortBy_default;
|
|
19251
|
+
var init__baseSortBy = __esm(() => {
|
|
19252
|
+
_baseSortBy_default = baseSortBy;
|
|
19253
|
+
});
|
|
19254
|
+
|
|
19255
|
+
// ../../node_modules/lodash-es/_compareAscending.js
|
|
19256
|
+
function compareAscending(value, other) {
|
|
19257
|
+
if (value !== other) {
|
|
19258
|
+
var valIsDefined = value !== undefined, valIsNull = value === null, valIsReflexive = value === value, valIsSymbol = isSymbol_default(value);
|
|
19259
|
+
var othIsDefined = other !== undefined, othIsNull = other === null, othIsReflexive = other === other, othIsSymbol = isSymbol_default(other);
|
|
19260
|
+
if (!othIsNull && !othIsSymbol && !valIsSymbol && value > other || valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol || valIsNull && othIsDefined && othIsReflexive || !valIsDefined && othIsReflexive || !valIsReflexive) {
|
|
19261
|
+
return 1;
|
|
19262
|
+
}
|
|
19263
|
+
if (!valIsNull && !valIsSymbol && !othIsSymbol && value < other || othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol || othIsNull && valIsDefined && valIsReflexive || !othIsDefined && valIsReflexive || !othIsReflexive) {
|
|
19264
|
+
return -1;
|
|
19265
|
+
}
|
|
19266
|
+
}
|
|
19267
|
+
return 0;
|
|
19268
|
+
}
|
|
19269
|
+
var _compareAscending_default;
|
|
19270
|
+
var init__compareAscending = __esm(() => {
|
|
19271
|
+
init_isSymbol();
|
|
19272
|
+
_compareAscending_default = compareAscending;
|
|
19273
|
+
});
|
|
19274
|
+
|
|
19275
|
+
// ../../node_modules/lodash-es/_compareMultiple.js
|
|
19276
|
+
function compareMultiple(object, other, orders) {
|
|
19277
|
+
var index = -1, objCriteria = object.criteria, othCriteria = other.criteria, length = objCriteria.length, ordersLength = orders.length;
|
|
19278
|
+
while (++index < length) {
|
|
19279
|
+
var result = _compareAscending_default(objCriteria[index], othCriteria[index]);
|
|
19280
|
+
if (result) {
|
|
19281
|
+
if (index >= ordersLength) {
|
|
19282
|
+
return result;
|
|
19283
|
+
}
|
|
19284
|
+
var order = orders[index];
|
|
19285
|
+
return result * (order == "desc" ? -1 : 1);
|
|
19286
|
+
}
|
|
19287
|
+
}
|
|
19288
|
+
return object.index - other.index;
|
|
19289
|
+
}
|
|
19290
|
+
var _compareMultiple_default;
|
|
19291
|
+
var init__compareMultiple = __esm(() => {
|
|
19292
|
+
init__compareAscending();
|
|
19293
|
+
_compareMultiple_default = compareMultiple;
|
|
19294
|
+
});
|
|
19295
|
+
|
|
19296
|
+
// ../../node_modules/lodash-es/_baseOrderBy.js
|
|
19297
|
+
function baseOrderBy(collection, iteratees, orders) {
|
|
19298
|
+
if (iteratees.length) {
|
|
19299
|
+
iteratees = _arrayMap_default(iteratees, function(iteratee) {
|
|
19300
|
+
if (isArray_default(iteratee)) {
|
|
19301
|
+
return function(value) {
|
|
19302
|
+
return _baseGet_default(value, iteratee.length === 1 ? iteratee[0] : iteratee);
|
|
19303
|
+
};
|
|
19304
|
+
}
|
|
19305
|
+
return iteratee;
|
|
19306
|
+
});
|
|
19307
|
+
} else {
|
|
19308
|
+
iteratees = [identity_default];
|
|
19309
|
+
}
|
|
19310
|
+
var index = -1;
|
|
19311
|
+
iteratees = _arrayMap_default(iteratees, _baseUnary_default(_baseIteratee_default));
|
|
19312
|
+
var result = _baseMap_default(collection, function(value, key, collection2) {
|
|
19313
|
+
var criteria = _arrayMap_default(iteratees, function(iteratee) {
|
|
19314
|
+
return iteratee(value);
|
|
19315
|
+
});
|
|
19316
|
+
return { criteria, index: ++index, value };
|
|
19317
|
+
});
|
|
19318
|
+
return _baseSortBy_default(result, function(object, other) {
|
|
19319
|
+
return _compareMultiple_default(object, other, orders);
|
|
19320
|
+
});
|
|
19321
|
+
}
|
|
19322
|
+
var _baseOrderBy_default;
|
|
19323
|
+
var init__baseOrderBy = __esm(() => {
|
|
19324
|
+
init__arrayMap();
|
|
19325
|
+
init__baseGet();
|
|
19326
|
+
init__baseIteratee();
|
|
19327
|
+
init__baseMap();
|
|
19328
|
+
init__baseSortBy();
|
|
19329
|
+
init__baseUnary();
|
|
19330
|
+
init__compareMultiple();
|
|
19331
|
+
init_identity();
|
|
19332
|
+
init_isArray();
|
|
19333
|
+
_baseOrderBy_default = baseOrderBy;
|
|
19334
|
+
});
|
|
19335
|
+
|
|
19336
|
+
// ../../node_modules/lodash-es/sortBy.js
|
|
19337
|
+
var sortBy, sortBy_default;
|
|
19338
|
+
var init_sortBy = __esm(() => {
|
|
19339
|
+
init__baseFlatten();
|
|
19340
|
+
init__baseOrderBy();
|
|
19341
|
+
init__baseRest();
|
|
19342
|
+
init__isIterateeCall();
|
|
19343
|
+
sortBy = _baseRest_default(function(collection, iteratees) {
|
|
19344
|
+
if (collection == null) {
|
|
19345
|
+
return [];
|
|
19346
|
+
}
|
|
19347
|
+
var length = iteratees.length;
|
|
19348
|
+
if (length > 1 && _isIterateeCall_default(collection, iteratees[0], iteratees[1])) {
|
|
19349
|
+
iteratees = [];
|
|
19350
|
+
} else if (length > 2 && _isIterateeCall_default(iteratees[0], iteratees[1], iteratees[2])) {
|
|
19351
|
+
iteratees = [iteratees[0]];
|
|
19352
|
+
}
|
|
19353
|
+
return _baseOrderBy_default(collection, _baseFlatten_default(iteratees, 1), []);
|
|
19354
|
+
});
|
|
19355
|
+
sortBy_default = sortBy;
|
|
19356
|
+
});
|
|
19357
|
+
|
|
19358
|
+
// ../../node_modules/lodash-es/_baseSum.js
|
|
19359
|
+
function baseSum(array, iteratee) {
|
|
19360
|
+
var result, index = -1, length = array.length;
|
|
19361
|
+
while (++index < length) {
|
|
19362
|
+
var current = iteratee(array[index]);
|
|
19363
|
+
if (current !== undefined) {
|
|
19364
|
+
result = result === undefined ? current : result + current;
|
|
19365
|
+
}
|
|
19366
|
+
}
|
|
19367
|
+
return result;
|
|
19368
|
+
}
|
|
19369
|
+
var _baseSum_default;
|
|
19370
|
+
var init__baseSum = __esm(() => {
|
|
19371
|
+
_baseSum_default = baseSum;
|
|
19372
|
+
});
|
|
19373
|
+
|
|
19374
|
+
// ../../node_modules/lodash-es/sumBy.js
|
|
19375
|
+
function sumBy(array, iteratee) {
|
|
19376
|
+
return array && array.length ? _baseSum_default(array, _baseIteratee_default(iteratee, 2)) : 0;
|
|
19377
|
+
}
|
|
19378
|
+
var sumBy_default;
|
|
19379
|
+
var init_sumBy = __esm(() => {
|
|
19380
|
+
init__baseIteratee();
|
|
19381
|
+
init__baseSum();
|
|
19382
|
+
sumBy_default = sumBy;
|
|
19383
|
+
});
|
|
19384
|
+
|
|
19385
|
+
// ../../node_modules/lodash-es/lodash.js
|
|
19386
|
+
var init_lodash = __esm(() => {
|
|
19387
|
+
init_find();
|
|
19388
|
+
init_forEach();
|
|
19389
|
+
init_get();
|
|
19390
|
+
init_isArray();
|
|
19391
|
+
init_isEmpty();
|
|
19392
|
+
init_map();
|
|
19393
|
+
init_mergeWith();
|
|
19394
|
+
init_sortBy();
|
|
19395
|
+
init_sumBy();
|
|
19396
|
+
});
|
|
19397
|
+
|
|
19398
|
+
// src/expression-engine.ts
|
|
19399
|
+
import { createHash, randomUUID } from "crypto";
|
|
19400
|
+
|
|
19401
|
+
class SafeEvaluator {
|
|
19402
|
+
context;
|
|
19403
|
+
functions;
|
|
19404
|
+
constructor(context) {
|
|
19405
|
+
this.context = context;
|
|
19406
|
+
this.functions = {
|
|
19407
|
+
...builtinFunctions,
|
|
19408
|
+
Math,
|
|
19409
|
+
Date,
|
|
19410
|
+
JSON,
|
|
19411
|
+
parseInt,
|
|
19412
|
+
parseFloat,
|
|
19413
|
+
isNaN,
|
|
19414
|
+
isFinite,
|
|
19415
|
+
encodeURIComponent,
|
|
19416
|
+
decodeURIComponent
|
|
19417
|
+
};
|
|
19418
|
+
}
|
|
19419
|
+
evaluate(expression) {
|
|
19420
|
+
try {
|
|
19421
|
+
const safeContext = {
|
|
19422
|
+
headers: this.context.headers,
|
|
19423
|
+
body: this.context.body,
|
|
19424
|
+
url: this.context.url,
|
|
19425
|
+
method: this.context.method,
|
|
19426
|
+
env: this.context.env,
|
|
19427
|
+
stream: this.context.stream,
|
|
19428
|
+
...this.functions
|
|
19429
|
+
};
|
|
19430
|
+
if (expression.includes("process.exit") || expression.includes("require(") || expression.includes("eval(") || expression.includes("Function(")) {
|
|
19431
|
+
throw new Error("Dangerous function call detected");
|
|
19432
|
+
}
|
|
19433
|
+
const func = new Function(...Object.keys(safeContext), `"use strict"; return (${expression});`);
|
|
19434
|
+
return func(...Object.values(safeContext));
|
|
19435
|
+
} catch (error) {
|
|
19436
|
+
throw new Error(`Expression evaluation failed: ${error.message}`);
|
|
19437
|
+
}
|
|
19438
|
+
}
|
|
19439
|
+
}
|
|
19440
|
+
function evaluateExpression(expression, context) {
|
|
19441
|
+
try {
|
|
19442
|
+
const evaluator = new SafeEvaluator(context);
|
|
19443
|
+
const result = evaluator.evaluate(expression);
|
|
19444
|
+
return result;
|
|
19445
|
+
} catch (error) {
|
|
19446
|
+
if (!isTestEnvironment) {
|
|
19447
|
+
logger.error({ expression, error }, "Failed to evaluate expression");
|
|
19448
|
+
}
|
|
19449
|
+
throw error;
|
|
19450
|
+
}
|
|
19451
|
+
}
|
|
19452
|
+
function processDynamicValue(value, context) {
|
|
19453
|
+
const _recursiveProcess = (currentValue) => {
|
|
19454
|
+
if (typeof currentValue === "string") {
|
|
19455
|
+
const expressionRegex = /\{\{(.+?)\}\}/g;
|
|
19456
|
+
const matches = Array.from(currentValue.matchAll(expressionRegex));
|
|
19457
|
+
if (matches.length === 0) {
|
|
19458
|
+
return currentValue;
|
|
19459
|
+
}
|
|
19460
|
+
if (matches.length === 1 && matches[0][0] === currentValue) {
|
|
19461
|
+
return evaluateExpression(matches[0][1], context);
|
|
19462
|
+
}
|
|
19463
|
+
let result = currentValue;
|
|
19464
|
+
for (const match of matches) {
|
|
19465
|
+
const [fullMatch, expression] = match;
|
|
19466
|
+
try {
|
|
19467
|
+
const evaluated = evaluateExpression(expression, context);
|
|
19468
|
+
result = result.replace(fullMatch, String(evaluated));
|
|
19469
|
+
} catch (error) {
|
|
19470
|
+
if (!isTestEnvironment) {
|
|
19471
|
+
logger.warn({ expression, error }, "Expression evaluation failed in template string");
|
|
19472
|
+
}
|
|
19473
|
+
}
|
|
19474
|
+
}
|
|
19475
|
+
return result;
|
|
19476
|
+
} else if (Array.isArray(currentValue)) {
|
|
19477
|
+
return currentValue.map((item) => _recursiveProcess(item));
|
|
19478
|
+
} else if (typeof currentValue === "object" && currentValue !== null) {
|
|
19479
|
+
const newObj = {};
|
|
19480
|
+
for (const key in currentValue) {
|
|
19481
|
+
if (Object.prototype.hasOwnProperty.call(currentValue, key)) {
|
|
19482
|
+
newObj[key] = _recursiveProcess(currentValue[key]);
|
|
19483
|
+
}
|
|
19484
|
+
}
|
|
19485
|
+
return newObj;
|
|
19486
|
+
}
|
|
19487
|
+
return currentValue;
|
|
16238
19488
|
};
|
|
19489
|
+
return _recursiveProcess(value);
|
|
16239
19490
|
}
|
|
16240
|
-
var
|
|
16241
|
-
|
|
19491
|
+
var isTestEnvironment, builtinFunctions, expressionCache;
|
|
19492
|
+
var init_expression_engine = __esm(() => {
|
|
19493
|
+
init_logger();
|
|
19494
|
+
isTestEnvironment = typeof globalThis.describe !== "undefined";
|
|
19495
|
+
builtinFunctions = {
|
|
19496
|
+
uuid: () => randomUUID(),
|
|
19497
|
+
now: () => Date.now(),
|
|
19498
|
+
randomInt: (min, max) => Math.floor(Math.random() * (max - min + 1)) + min,
|
|
19499
|
+
base64encode: (str) => Buffer.from(str).toString("base64"),
|
|
19500
|
+
base64decode: (str) => Buffer.from(str, "base64").toString(),
|
|
19501
|
+
md5: (str) => createHash("md5").update(str).digest("hex"),
|
|
19502
|
+
sha256: (str) => createHash("sha256").update(str).digest("hex"),
|
|
19503
|
+
parseJWT: (token) => {
|
|
19504
|
+
try {
|
|
19505
|
+
if (!token || typeof token !== "string") {
|
|
19506
|
+
throw new Error("Invalid token type");
|
|
19507
|
+
}
|
|
19508
|
+
const payload = token.split(".")[1];
|
|
19509
|
+
if (!payload)
|
|
19510
|
+
throw new Error("Invalid JWT format");
|
|
19511
|
+
return JSON.parse(Buffer.from(payload, "base64").toString());
|
|
19512
|
+
} catch (error) {
|
|
19513
|
+
const tokenPreview = typeof token === "string" ? token.substring(0, 20) + "..." : "invalid";
|
|
19514
|
+
if (!isTestEnvironment) {
|
|
19515
|
+
logger.warn({ token: tokenPreview, error }, "Failed to parse JWT");
|
|
19516
|
+
}
|
|
19517
|
+
return {};
|
|
19518
|
+
}
|
|
19519
|
+
},
|
|
19520
|
+
jsonParse: (str) => JSON.parse(str),
|
|
19521
|
+
jsonStringify: (obj) => JSON.stringify(obj),
|
|
19522
|
+
encrypt: (str, method = "base64") => {
|
|
19523
|
+
if (method === "base64")
|
|
19524
|
+
return Buffer.from(str).toString("base64");
|
|
19525
|
+
return str;
|
|
19526
|
+
},
|
|
19527
|
+
first: (arr) => arr?.[0],
|
|
19528
|
+
last: (arr) => arr?.[arr.length - 1],
|
|
19529
|
+
length: (obj) => obj?.length || Object.keys(obj || {}).length,
|
|
19530
|
+
keys: (obj) => Object.keys(obj || {}),
|
|
19531
|
+
values: (obj) => Object.values(obj || {}),
|
|
19532
|
+
trim: (str) => str?.trim(),
|
|
19533
|
+
toLowerCase: (str) => str?.toLowerCase(),
|
|
19534
|
+
toUpperCase: (str) => str?.toUpperCase(),
|
|
19535
|
+
split: (str, delimiter) => str?.split(delimiter) || [],
|
|
19536
|
+
replace: (str, search, replacement) => str?.replace(search, replacement),
|
|
19537
|
+
isString: (val) => typeof val === "string",
|
|
19538
|
+
isNumber: (val) => typeof val === "number",
|
|
19539
|
+
isObject: (val) => typeof val === "object" && val !== null,
|
|
19540
|
+
isArray: (val) => Array.isArray(val),
|
|
19541
|
+
deepClean: (obj, fieldsToRemove = ["$schema", "additionalProperties", "title"]) => {
|
|
19542
|
+
if (!obj || typeof obj !== "object")
|
|
19543
|
+
return obj;
|
|
19544
|
+
const clean = (current) => {
|
|
19545
|
+
if (Array.isArray(current)) {
|
|
19546
|
+
return current.map(clean);
|
|
19547
|
+
}
|
|
19548
|
+
if (current && typeof current === "object") {
|
|
19549
|
+
const cleaned = {};
|
|
19550
|
+
for (const [key, value] of Object.entries(current)) {
|
|
19551
|
+
if (fieldsToRemove.includes(key)) {
|
|
19552
|
+
continue;
|
|
19553
|
+
}
|
|
19554
|
+
cleaned[key] = clean(value);
|
|
19555
|
+
}
|
|
19556
|
+
return cleaned;
|
|
19557
|
+
}
|
|
19558
|
+
return current;
|
|
19559
|
+
};
|
|
19560
|
+
return clean(obj);
|
|
19561
|
+
}
|
|
19562
|
+
};
|
|
19563
|
+
expressionCache = new Map;
|
|
19564
|
+
});
|
|
19565
|
+
|
|
19566
|
+
// src/worker/rules/modifier.ts
|
|
19567
|
+
function deepMergeRules(base, override) {
|
|
19568
|
+
const customizer = (objValue, srcValue) => {
|
|
19569
|
+
if (isArray_default(objValue)) {
|
|
19570
|
+
return [...new Set([...objValue, ...srcValue])];
|
|
19571
|
+
}
|
|
19572
|
+
};
|
|
19573
|
+
return mergeWith_default({}, base, override, customizer);
|
|
19574
|
+
}
|
|
19575
|
+
async function applyBodyRules(body, rules, context, requestLog) {
|
|
19576
|
+
let modifiedBody = structuredClone(body);
|
|
19577
|
+
logger.debug({ request: requestLog, phase: "before", body: modifiedBody }, "Body before applying rules");
|
|
19578
|
+
if (rules) {
|
|
19579
|
+
const processAndSet = (key, value, action) => {
|
|
19580
|
+
try {
|
|
19581
|
+
const processedValue = processDynamicValue(value, context);
|
|
19582
|
+
if (processedValue !== undefined) {
|
|
19583
|
+
modifiedBody[key] = processedValue;
|
|
19584
|
+
logger.debug({ request: requestLog, body: { key, value: processedValue } }, `Applied body '${action}' rule`);
|
|
19585
|
+
} else {
|
|
19586
|
+
logger.debug({ request: requestLog, body: { key } }, `Skipped body '${action}' rule (undefined result)`);
|
|
19587
|
+
}
|
|
19588
|
+
} catch (err) {
|
|
19589
|
+
logger.error({ request: requestLog, body: { key }, err }, `Failed to process body '${action}' rule`);
|
|
19590
|
+
}
|
|
19591
|
+
};
|
|
19592
|
+
if (rules.add) {
|
|
19593
|
+
forEach_default(rules.add, (value, key) => {
|
|
19594
|
+
processAndSet(key, value, "add");
|
|
19595
|
+
});
|
|
19596
|
+
}
|
|
19597
|
+
if (rules.replace) {
|
|
19598
|
+
forEach_default(rules.replace, (value, key) => {
|
|
19599
|
+
if (key in modifiedBody || rules.add && key in rules.add) {
|
|
19600
|
+
processAndSet(key, value, "replace");
|
|
19601
|
+
}
|
|
19602
|
+
});
|
|
19603
|
+
}
|
|
19604
|
+
if (rules.default) {
|
|
19605
|
+
forEach_default(rules.default, (value, key) => {
|
|
19606
|
+
if (modifiedBody[key] === undefined) {
|
|
19607
|
+
processAndSet(key, value, "default");
|
|
19608
|
+
}
|
|
19609
|
+
});
|
|
19610
|
+
}
|
|
19611
|
+
if (rules.remove) {
|
|
19612
|
+
for (const key of rules.remove) {
|
|
19613
|
+
const wasAdded = rules.add && key in rules.add;
|
|
19614
|
+
const wasReplaced = rules.replace && key in rules.replace;
|
|
19615
|
+
if (!wasAdded && !wasReplaced) {
|
|
19616
|
+
delete modifiedBody[key];
|
|
19617
|
+
logger.debug({ request: requestLog, body: { key } }, "Removed body field");
|
|
19618
|
+
}
|
|
19619
|
+
}
|
|
19620
|
+
}
|
|
19621
|
+
}
|
|
19622
|
+
if (modifiedBody.__multi_events && Array.isArray(modifiedBody.__multi_events)) {
|
|
19623
|
+
logger.debug({ request: requestLog, eventCount: modifiedBody.__multi_events.length }, "Returning multiple events");
|
|
19624
|
+
return modifiedBody.__multi_events;
|
|
19625
|
+
}
|
|
19626
|
+
logger.debug({ request: requestLog, phase: "after", body: modifiedBody }, "Body after applying rules");
|
|
19627
|
+
return modifiedBody;
|
|
19628
|
+
}
|
|
19629
|
+
function applyQueryRules(searchParams, rules, context, requestLog) {
|
|
19630
|
+
const modified = new URLSearchParams(searchParams);
|
|
19631
|
+
if (rules) {
|
|
19632
|
+
if (rules.add) {
|
|
19633
|
+
forEach_default(rules.add, (value, key) => {
|
|
19634
|
+
const processed = processDynamicValue(value, context);
|
|
19635
|
+
if (processed !== undefined) {
|
|
19636
|
+
modified.set(key, String(processed));
|
|
19637
|
+
logger.debug({ request: requestLog, query: { key, value: processed } }, "Applied query 'add' rule");
|
|
19638
|
+
}
|
|
19639
|
+
});
|
|
19640
|
+
}
|
|
19641
|
+
if (rules.replace) {
|
|
19642
|
+
forEach_default(rules.replace, (value, key) => {
|
|
19643
|
+
if (modified.has(key) || rules.add && key in rules.add) {
|
|
19644
|
+
const processed = processDynamicValue(value, context);
|
|
19645
|
+
if (processed !== undefined) {
|
|
19646
|
+
modified.set(key, String(processed));
|
|
19647
|
+
logger.debug({ request: requestLog, query: { key, value: processed } }, "Applied query 'replace' rule");
|
|
19648
|
+
}
|
|
19649
|
+
}
|
|
19650
|
+
});
|
|
19651
|
+
}
|
|
19652
|
+
if (rules.default) {
|
|
19653
|
+
forEach_default(rules.default, (value, key) => {
|
|
19654
|
+
if (!modified.has(key)) {
|
|
19655
|
+
const processed = processDynamicValue(value, context);
|
|
19656
|
+
if (processed !== undefined) {
|
|
19657
|
+
modified.set(key, String(processed));
|
|
19658
|
+
logger.debug({ request: requestLog, query: { key, value: processed } }, "Applied query 'default' rule");
|
|
19659
|
+
}
|
|
19660
|
+
}
|
|
19661
|
+
});
|
|
19662
|
+
}
|
|
19663
|
+
if (rules.remove) {
|
|
19664
|
+
for (const key of rules.remove) {
|
|
19665
|
+
const wasAdded = rules.add && key in rules.add;
|
|
19666
|
+
const wasReplaced = rules.replace && key in rules.replace;
|
|
19667
|
+
if (!wasAdded && !wasReplaced) {
|
|
19668
|
+
modified.delete(key);
|
|
19669
|
+
logger.debug({ request: requestLog, query: { key } }, "Removed query parameter");
|
|
19670
|
+
}
|
|
19671
|
+
}
|
|
19672
|
+
}
|
|
19673
|
+
}
|
|
19674
|
+
return modified;
|
|
19675
|
+
}
|
|
19676
|
+
var init_modifier = __esm(() => {
|
|
19677
|
+
init_lodash();
|
|
19678
|
+
init_logger();
|
|
19679
|
+
init_expression_engine();
|
|
19680
|
+
});
|
|
19681
|
+
|
|
19682
|
+
// src/utils/endpoint-resolver.ts
|
|
19683
|
+
function pluginName(plugin) {
|
|
19684
|
+
return typeof plugin === "string" ? plugin : plugin.name;
|
|
19685
|
+
}
|
|
19686
|
+
function mergePluginArrays(basePlugins, overridePlugins) {
|
|
19687
|
+
if (basePlugins === undefined && overridePlugins === undefined) {
|
|
19688
|
+
return;
|
|
19689
|
+
}
|
|
19690
|
+
const merged = [...basePlugins ?? []];
|
|
19691
|
+
const indexByName = new Map;
|
|
19692
|
+
for (const [index, plugin] of merged.entries()) {
|
|
19693
|
+
indexByName.set(pluginName(plugin), index);
|
|
19694
|
+
}
|
|
19695
|
+
for (const plugin of overridePlugins ?? []) {
|
|
19696
|
+
const name = pluginName(plugin);
|
|
19697
|
+
const existingIndex = indexByName.get(name);
|
|
19698
|
+
if (existingIndex === undefined) {
|
|
19699
|
+
indexByName.set(name, merged.length);
|
|
19700
|
+
merged.push(plugin);
|
|
19701
|
+
} else {
|
|
19702
|
+
merged[existingIndex] = plugin;
|
|
19703
|
+
}
|
|
19704
|
+
}
|
|
19705
|
+
return merged;
|
|
19706
|
+
}
|
|
19707
|
+
function extractModificationRules(endpoint) {
|
|
19708
|
+
const rules = {};
|
|
19709
|
+
if (endpoint.headers !== undefined) {
|
|
19710
|
+
rules.headers = endpoint.headers;
|
|
19711
|
+
}
|
|
19712
|
+
if (endpoint.body !== undefined) {
|
|
19713
|
+
rules.body = endpoint.body;
|
|
19714
|
+
}
|
|
19715
|
+
if (endpoint.query !== undefined) {
|
|
19716
|
+
rules.query = endpoint.query;
|
|
19717
|
+
}
|
|
19718
|
+
return rules;
|
|
19719
|
+
}
|
|
19720
|
+
function applyModificationRules(endpoint, rules) {
|
|
19721
|
+
const merged = { ...endpoint };
|
|
19722
|
+
if (rules.headers !== undefined) {
|
|
19723
|
+
merged.headers = rules.headers;
|
|
19724
|
+
} else {
|
|
19725
|
+
delete merged.headers;
|
|
19726
|
+
}
|
|
19727
|
+
if (rules.body !== undefined) {
|
|
19728
|
+
merged.body = rules.body;
|
|
19729
|
+
} else {
|
|
19730
|
+
delete merged.body;
|
|
19731
|
+
}
|
|
19732
|
+
if (rules.query !== undefined) {
|
|
19733
|
+
merged.query = rules.query;
|
|
19734
|
+
} else {
|
|
19735
|
+
delete merged.query;
|
|
19736
|
+
}
|
|
19737
|
+
return merged;
|
|
19738
|
+
}
|
|
19739
|
+
function deepMergeEndpoint(base, override) {
|
|
19740
|
+
const plugins = mergePluginArrays(base.plugins, override.plugins);
|
|
19741
|
+
const rules = deepMergeRules(extractModificationRules(base), extractModificationRules(override));
|
|
19742
|
+
const merged = applyModificationRules({ ...base, ...override }, rules);
|
|
19743
|
+
if (plugins !== undefined) {
|
|
19744
|
+
merged.plugins = plugins;
|
|
19745
|
+
} else {
|
|
19746
|
+
delete merged.plugins;
|
|
19747
|
+
}
|
|
19748
|
+
return merged;
|
|
19749
|
+
}
|
|
19750
|
+
function resolveEffectiveRouteEndpoints(route, services) {
|
|
19751
|
+
const service = route.service ? services?.find((candidate) => candidate.name === route.service) : undefined;
|
|
19752
|
+
if (!service) {
|
|
19753
|
+
return route.endpoints ?? [];
|
|
19754
|
+
}
|
|
19755
|
+
const merged = [...service.endpoints];
|
|
19756
|
+
for (const endpoint of route.endpoints ?? []) {
|
|
19757
|
+
const existingIndex = merged.findIndex((candidate) => candidate.target === endpoint.target);
|
|
19758
|
+
if (existingIndex >= 0) {
|
|
19759
|
+
merged[existingIndex] = deepMergeEndpoint(merged[existingIndex], endpoint);
|
|
19760
|
+
} else {
|
|
19761
|
+
merged.push(endpoint);
|
|
19762
|
+
}
|
|
19763
|
+
}
|
|
19764
|
+
return merged;
|
|
19765
|
+
}
|
|
19766
|
+
function resolveRouteService(config, route) {
|
|
19767
|
+
return route.service ? config.services?.find((service) => service.name === route.service) : undefined;
|
|
19768
|
+
}
|
|
19769
|
+
var init_endpoint_resolver = __esm(() => {
|
|
19770
|
+
init_modifier();
|
|
16242
19771
|
});
|
|
16243
19772
|
|
|
16244
19773
|
// src/config.ts
|
|
@@ -16251,105 +19780,100 @@ function ensurePositiveNumber(value, field, context) {
|
|
|
16251
19780
|
}
|
|
16252
19781
|
return value;
|
|
16253
19782
|
}
|
|
16254
|
-
function normalizeRouteConfig(route) {
|
|
19783
|
+
function normalizeRouteConfig(route, services) {
|
|
16255
19784
|
route.timeouts ??= {};
|
|
16256
|
-
route
|
|
16257
|
-
|
|
16258
|
-
|
|
16259
|
-
|
|
19785
|
+
const endpoints = resolveEffectiveRouteEndpoints(route, services);
|
|
19786
|
+
route.endpoints = endpoints;
|
|
19787
|
+
for (const endpoint of endpoints) {
|
|
19788
|
+
if (endpoint.weight === undefined) {
|
|
19789
|
+
endpoint.weight = 100;
|
|
16260
19790
|
}
|
|
16261
|
-
if (
|
|
16262
|
-
|
|
19791
|
+
if (endpoint.priority === undefined) {
|
|
19792
|
+
endpoint.priority = 1;
|
|
16263
19793
|
}
|
|
16264
19794
|
}
|
|
16265
19795
|
return route;
|
|
16266
19796
|
}
|
|
16267
|
-
function validateStickySession(
|
|
16268
|
-
if (
|
|
19797
|
+
function validateStickySession(service) {
|
|
19798
|
+
if (service.sticky_session === undefined) {
|
|
16269
19799
|
return;
|
|
16270
19800
|
}
|
|
16271
|
-
if (typeof
|
|
16272
|
-
logger.error(`Invalid
|
|
19801
|
+
if (typeof service.sticky_session !== "object" || service.sticky_session === null || Array.isArray(service.sticky_session)) {
|
|
19802
|
+
logger.error(`Invalid sticky_session config in service "${service.name}". sticky_session must be an object.`);
|
|
16273
19803
|
process.exit(1);
|
|
16274
19804
|
}
|
|
16275
|
-
if (
|
|
16276
|
-
logger.error(`Invalid
|
|
19805
|
+
if (service.sticky_session.enabled !== undefined && typeof service.sticky_session.enabled !== "boolean") {
|
|
19806
|
+
logger.error(`Invalid sticky_session.enabled in service "${service.name}". sticky_session.enabled must be a boolean.`);
|
|
16277
19807
|
process.exit(1);
|
|
16278
19808
|
}
|
|
16279
|
-
if (
|
|
16280
|
-
logger.error(`Invalid
|
|
19809
|
+
if (service.sticky_session.key_expression !== undefined && typeof service.sticky_session.key_expression !== "string") {
|
|
19810
|
+
logger.error(`Invalid sticky_session.key_expression in service "${service.name}". sticky_session.key_expression must be a string.`);
|
|
16281
19811
|
process.exit(1);
|
|
16282
19812
|
}
|
|
16283
19813
|
}
|
|
16284
|
-
function validateFailoverConfig(
|
|
16285
|
-
const failover =
|
|
19814
|
+
function validateFailoverConfig(service) {
|
|
19815
|
+
const failover = service.failover;
|
|
16286
19816
|
if (!failover) {
|
|
16287
19817
|
return;
|
|
16288
19818
|
}
|
|
16289
19819
|
if (typeof failover.enabled !== "boolean") {
|
|
16290
|
-
logger.error(`Invalid failover.enabled in
|
|
19820
|
+
logger.error(`Invalid failover.enabled in service "${service.name}". failover.enabled must be a boolean.`);
|
|
16291
19821
|
process.exit(1);
|
|
16292
19822
|
}
|
|
16293
|
-
if (
|
|
16294
|
-
logger.warn(`
|
|
16295
|
-
}
|
|
16296
|
-
if (route.timeouts?.connectMs !== undefined) {
|
|
16297
|
-
ensurePositiveNumber(route.timeouts.connectMs, "timeouts.connectMs", `route "${route.path}"`);
|
|
16298
|
-
}
|
|
16299
|
-
if (route.timeouts?.requestMs !== undefined) {
|
|
16300
|
-
ensurePositiveNumber(route.timeouts.requestMs, "timeouts.requestMs", `route "${route.path}"`);
|
|
19823
|
+
if (service.endpoints.length < 2 && failover.enabled) {
|
|
19824
|
+
logger.warn(`Service "${service.name}" has failover enabled but less than 2 endpoints. Failover will not be active.`);
|
|
16301
19825
|
}
|
|
16302
|
-
if (failover.recovery?.
|
|
16303
|
-
ensurePositiveNumber(failover.recovery.
|
|
19826
|
+
if (failover.recovery?.probe_interval_ms !== undefined) {
|
|
19827
|
+
ensurePositiveNumber(failover.recovery.probe_interval_ms, "failover.recovery.probe_interval_ms", `service "${service.name}"`);
|
|
16304
19828
|
}
|
|
16305
|
-
if (failover.recovery?.
|
|
16306
|
-
ensurePositiveNumber(failover.recovery.
|
|
19829
|
+
if (failover.recovery?.probe_timeout_ms !== undefined) {
|
|
19830
|
+
ensurePositiveNumber(failover.recovery.probe_timeout_ms, "failover.recovery.probe_timeout_ms", `service "${service.name}"`);
|
|
16307
19831
|
}
|
|
16308
|
-
if (failover.
|
|
16309
|
-
ensurePositiveNumber(failover.
|
|
19832
|
+
if (failover.passive_health?.consecutive_failures !== undefined) {
|
|
19833
|
+
ensurePositiveNumber(failover.passive_health.consecutive_failures, "failover.passive_health.consecutive_failures", `service "${service.name}"`);
|
|
16310
19834
|
}
|
|
16311
|
-
if (failover.
|
|
16312
|
-
ensurePositiveNumber(failover.
|
|
19835
|
+
if (failover.passive_health?.healthy_successes !== undefined) {
|
|
19836
|
+
ensurePositiveNumber(failover.passive_health.healthy_successes, "failover.passive_health.healthy_successes", `service "${service.name}"`);
|
|
16313
19837
|
}
|
|
16314
|
-
if (failover.
|
|
16315
|
-
ensurePositiveNumber(failover.
|
|
19838
|
+
if (failover.passive_health?.auto_disable_threshold !== undefined) {
|
|
19839
|
+
ensurePositiveNumber(failover.passive_health.auto_disable_threshold, "failover.passive_health.auto_disable_threshold", `service "${service.name}"`);
|
|
16316
19840
|
}
|
|
16317
|
-
if (failover.
|
|
16318
|
-
logger.error(`Invalid failover.
|
|
19841
|
+
if (failover.passive_health?.auto_enable_on_active_health_check !== undefined && typeof failover.passive_health.auto_enable_on_active_health_check !== "boolean") {
|
|
19842
|
+
logger.error(`Invalid failover.passive_health.auto_enable_on_active_health_check in service "${service.name}". It must be a boolean.`);
|
|
16319
19843
|
process.exit(1);
|
|
16320
19844
|
}
|
|
16321
|
-
if (failover.
|
|
16322
|
-
if (typeof failover.
|
|
16323
|
-
logger.error(`Invalid failover.
|
|
19845
|
+
if (failover.slow_start) {
|
|
19846
|
+
if (typeof failover.slow_start.enabled !== "boolean") {
|
|
19847
|
+
logger.error(`Invalid failover.slow_start.enabled in service "${service.name}". It must be a boolean.`);
|
|
16324
19848
|
process.exit(1);
|
|
16325
19849
|
}
|
|
16326
|
-
if (failover.
|
|
16327
|
-
ensurePositiveNumber(failover.
|
|
19850
|
+
if (failover.slow_start.duration_ms !== undefined) {
|
|
19851
|
+
ensurePositiveNumber(failover.slow_start.duration_ms, "failover.slow_start.duration_ms", `service "${service.name}"`);
|
|
16328
19852
|
}
|
|
16329
|
-
if (failover.
|
|
16330
|
-
const factor = failover.
|
|
19853
|
+
if (failover.slow_start.initial_weight_factor !== undefined) {
|
|
19854
|
+
const factor = failover.slow_start.initial_weight_factor;
|
|
16331
19855
|
if (typeof factor !== "number" || Number.isNaN(factor) || factor <= 0 || factor > 1) {
|
|
16332
|
-
logger.error(`failover.
|
|
19856
|
+
logger.error(`failover.slow_start.initial_weight_factor in service "${service.name}" must be between 0 and 1.`);
|
|
16333
19857
|
process.exit(1);
|
|
16334
19858
|
}
|
|
16335
19859
|
}
|
|
16336
19860
|
}
|
|
16337
|
-
if (failover.
|
|
16338
|
-
if (typeof failover.
|
|
16339
|
-
logger.error(`Invalid failover.
|
|
19861
|
+
if (failover.health_check) {
|
|
19862
|
+
if (typeof failover.health_check.enabled !== "boolean") {
|
|
19863
|
+
logger.error(`Invalid failover.health_check.enabled in service "${service.name}". It must be a boolean.`);
|
|
16340
19864
|
process.exit(1);
|
|
16341
19865
|
}
|
|
16342
|
-
if (failover.
|
|
16343
|
-
ensurePositiveNumber(failover.
|
|
19866
|
+
if (failover.health_check.interval_ms !== undefined) {
|
|
19867
|
+
ensurePositiveNumber(failover.health_check.interval_ms, "failover.health_check.interval_ms", `service "${service.name}"`);
|
|
16344
19868
|
}
|
|
16345
|
-
if (failover.
|
|
16346
|
-
ensurePositiveNumber(failover.
|
|
19869
|
+
if (failover.health_check.timeout_ms !== undefined) {
|
|
19870
|
+
ensurePositiveNumber(failover.health_check.timeout_ms, "failover.health_check.timeout_ms", `service "${service.name}"`);
|
|
16347
19871
|
}
|
|
16348
|
-
if (failover.
|
|
16349
|
-
ensurePositiveNumber(failover.
|
|
19872
|
+
if (failover.health_check.unhealthy_threshold !== undefined) {
|
|
19873
|
+
ensurePositiveNumber(failover.health_check.unhealthy_threshold, "failover.health_check.unhealthy_threshold", `service "${service.name}"`);
|
|
16350
19874
|
}
|
|
16351
|
-
if (failover.
|
|
16352
|
-
ensurePositiveNumber(failover.
|
|
19875
|
+
if (failover.health_check.healthy_threshold !== undefined) {
|
|
19876
|
+
ensurePositiveNumber(failover.health_check.healthy_threshold, "failover.health_check.healthy_threshold", `service "${service.name}"`);
|
|
16353
19877
|
}
|
|
16354
19878
|
}
|
|
16355
19879
|
}
|
|
@@ -16377,44 +19901,92 @@ function validateAuthConfig(authConfig, context) {
|
|
|
16377
19901
|
}
|
|
16378
19902
|
logger.debug(`Auth config validated successfully for ${context}`);
|
|
16379
19903
|
}
|
|
19904
|
+
function validateServices(services) {
|
|
19905
|
+
const names = new Set;
|
|
19906
|
+
for (const service of services) {
|
|
19907
|
+
if (!service.name || typeof service.name !== "string") {
|
|
19908
|
+
logger.error('Each service must have a non-empty "name" string.');
|
|
19909
|
+
process.exit(1);
|
|
19910
|
+
}
|
|
19911
|
+
if (names.has(service.name)) {
|
|
19912
|
+
logger.error(`Duplicate service name: "${service.name}". Service names must be unique.`);
|
|
19913
|
+
process.exit(1);
|
|
19914
|
+
}
|
|
19915
|
+
names.add(service.name);
|
|
19916
|
+
if (!service.endpoints || !Array.isArray(service.endpoints) || service.endpoints.length === 0) {
|
|
19917
|
+
logger.error(`Service "${service.name}" must have a non-empty "endpoints" array.`);
|
|
19918
|
+
process.exit(1);
|
|
19919
|
+
}
|
|
19920
|
+
for (const endpoint of service.endpoints) {
|
|
19921
|
+
if (typeof endpoint.target !== "string") {
|
|
19922
|
+
logger.error(`Invalid endpoint in service "${service.name}". Each endpoint must have a string "target".`);
|
|
19923
|
+
process.exit(1);
|
|
19924
|
+
}
|
|
19925
|
+
}
|
|
19926
|
+
validateStickySession(service);
|
|
19927
|
+
validateFailoverConfig(service);
|
|
19928
|
+
}
|
|
19929
|
+
}
|
|
16380
19930
|
function validateAndNormalizeConfig(config) {
|
|
16381
19931
|
if (!config.routes || !Array.isArray(config.routes)) {
|
|
16382
19932
|
logger.error('Error: "routes" is not defined or not an array in config.json.');
|
|
16383
19933
|
process.exit(1);
|
|
16384
19934
|
}
|
|
19935
|
+
if (config.services && Array.isArray(config.services)) {
|
|
19936
|
+
validateServices(config.services);
|
|
19937
|
+
}
|
|
16385
19938
|
if (config.auth) {
|
|
16386
19939
|
validateAuthConfig(config.auth, "global");
|
|
16387
19940
|
}
|
|
16388
19941
|
for (const route of config.routes) {
|
|
16389
|
-
|
|
16390
|
-
|
|
19942
|
+
const hasEndpoints = route.endpoints && route.endpoints.length > 0;
|
|
19943
|
+
const hasServiceRef = !!route.service;
|
|
19944
|
+
const hasDirectResponse = !!route.direct_response?.enabled;
|
|
19945
|
+
const hasRedirect = !!route.redirect?.enabled;
|
|
19946
|
+
const hasResponseRules = !!route.response_rules?.some((rule) => rule.enabled);
|
|
19947
|
+
if (!hasEndpoints && !hasServiceRef && !hasDirectResponse && !hasRedirect && !hasResponseRules) {
|
|
19948
|
+
logger.error(`Route for path "${route.path}" must have "endpoints", "service", "response_rules", "direct_response", or "redirect" defined.`);
|
|
16391
19949
|
process.exit(1);
|
|
16392
19950
|
}
|
|
19951
|
+
if (hasServiceRef) {
|
|
19952
|
+
const svc = config.services?.find((s) => s.name === route.service);
|
|
19953
|
+
if (!svc) {
|
|
19954
|
+
logger.error(`Route "${route.path}" references unknown service "${route.service}".`);
|
|
19955
|
+
process.exit(1);
|
|
19956
|
+
}
|
|
19957
|
+
}
|
|
16393
19958
|
if (route.auth) {
|
|
16394
19959
|
validateAuthConfig(route.auth, `route "${route.path}"`);
|
|
16395
19960
|
}
|
|
16396
|
-
|
|
16397
|
-
|
|
16398
|
-
|
|
16399
|
-
|
|
16400
|
-
|
|
16401
|
-
|
|
16402
|
-
|
|
16403
|
-
|
|
16404
|
-
|
|
16405
|
-
|
|
16406
|
-
|
|
16407
|
-
|
|
19961
|
+
normalizeRouteConfig(route, config.services);
|
|
19962
|
+
if (route.timeouts?.connect_ms !== undefined) {
|
|
19963
|
+
ensurePositiveNumber(route.timeouts.connect_ms, "timeouts.connect_ms", `route "${route.path}"`);
|
|
19964
|
+
}
|
|
19965
|
+
if (route.timeouts?.request_ms !== undefined) {
|
|
19966
|
+
ensurePositiveNumber(route.timeouts.request_ms, "timeouts.request_ms", `route "${route.path}"`);
|
|
19967
|
+
}
|
|
19968
|
+
const endpoints = resolveEffectiveRouteEndpoints(route, config.services);
|
|
19969
|
+
if (endpoints.length > 0) {
|
|
19970
|
+
let total_weight = 0;
|
|
19971
|
+
for (const endpoint of endpoints) {
|
|
19972
|
+
if (typeof endpoint.target !== "string") {
|
|
19973
|
+
logger.error(`Invalid endpoint in route for path "${route.path}". Each endpoint must have a string "target".`);
|
|
19974
|
+
process.exit(1);
|
|
19975
|
+
}
|
|
19976
|
+
if (typeof endpoint.weight !== "number" || endpoint.weight <= 0) {
|
|
19977
|
+
logger.error(`Invalid weight in route for path "${route.path}". Weight must be a positive number.`);
|
|
19978
|
+
process.exit(1);
|
|
19979
|
+
}
|
|
19980
|
+
if (typeof endpoint.priority !== "number" || endpoint.priority <= 0) {
|
|
19981
|
+
logger.error(`Invalid priority in route for path "${route.path}". Priority must be a positive number.`);
|
|
19982
|
+
process.exit(1);
|
|
19983
|
+
}
|
|
19984
|
+
total_weight += endpoint.weight;
|
|
16408
19985
|
}
|
|
16409
|
-
if (
|
|
16410
|
-
logger.error(`
|
|
19986
|
+
if (total_weight === 0) {
|
|
19987
|
+
logger.error(`Total weight for endpoints in route "${route.path}" cannot be zero.`);
|
|
16411
19988
|
process.exit(1);
|
|
16412
19989
|
}
|
|
16413
|
-
totalWeight += upstream.weight;
|
|
16414
|
-
}
|
|
16415
|
-
if (totalWeight === 0) {
|
|
16416
|
-
logger.error(`Total weight for upstreams in route "${route.path}" cannot be zero.`);
|
|
16417
|
-
process.exit(1);
|
|
16418
19990
|
}
|
|
16419
19991
|
}
|
|
16420
19992
|
return config;
|
|
@@ -16431,7 +20003,7 @@ function preloadGlobalConfig() {
|
|
|
16431
20003
|
const config = migrateConfigToLatest(rawConfig).config;
|
|
16432
20004
|
const configMapping = [
|
|
16433
20005
|
{
|
|
16434
|
-
jsonKey: "
|
|
20006
|
+
jsonKey: "log_level",
|
|
16435
20007
|
envKey: "LOG_LEVEL",
|
|
16436
20008
|
default: "info",
|
|
16437
20009
|
validate: (value) => ["trace", "debug", "info", "warn", "error", "fatal"].includes(value.toLowerCase())
|
|
@@ -16455,7 +20027,7 @@ function preloadGlobalConfig() {
|
|
|
16455
20027
|
}
|
|
16456
20028
|
},
|
|
16457
20029
|
{
|
|
16458
|
-
jsonKey: "
|
|
20030
|
+
jsonKey: "body_parser_limit",
|
|
16459
20031
|
envKey: "BODY_PARSER_LIMIT",
|
|
16460
20032
|
default: "50mb"
|
|
16461
20033
|
}
|
|
@@ -16486,7 +20058,7 @@ async function loadConfig(configPath) {
|
|
|
16486
20058
|
if (!fs6.existsSync(configFilePath)) {
|
|
16487
20059
|
logger.info(`Config file not found at ${configFilePath}, creating empty configuration`);
|
|
16488
20060
|
const minimalConfig = {
|
|
16489
|
-
|
|
20061
|
+
config_version: 4,
|
|
16490
20062
|
routes: []
|
|
16491
20063
|
};
|
|
16492
20064
|
fs6.writeFileSync(configFilePath, JSON.stringify(minimalConfig, null, 2), "utf-8");
|
|
@@ -16503,7 +20075,8 @@ async function loadConfig(configPath) {
|
|
|
16503
20075
|
changeCount: migrated.changes.length
|
|
16504
20076
|
}, "Config migrated to latest version in memory");
|
|
16505
20077
|
}
|
|
16506
|
-
|
|
20078
|
+
const adapted = LegacyCompatAdapter.adaptConfig(migrated.config);
|
|
20079
|
+
return validateAndNormalizeConfig(adapted);
|
|
16507
20080
|
} catch (error) {
|
|
16508
20081
|
logger.fatal({ error }, "Failed to load or parse config.json. Please ensure it exists and is valid JSON.");
|
|
16509
20082
|
process.exit(1);
|
|
@@ -16512,6 +20085,7 @@ async function loadConfig(configPath) {
|
|
|
16512
20085
|
var init_config = __esm(() => {
|
|
16513
20086
|
init_logger();
|
|
16514
20087
|
init_migrate_config();
|
|
20088
|
+
init_endpoint_resolver();
|
|
16515
20089
|
});
|
|
16516
20090
|
|
|
16517
20091
|
// src/plugin-storage-cleanup.ts
|
|
@@ -16680,7 +20254,7 @@ var init_plugin_storage_cleanup = __esm(() => {
|
|
|
16680
20254
|
// src/plugin-permissions.ts
|
|
16681
20255
|
class PluginPermissionManager {
|
|
16682
20256
|
permissions = new Map;
|
|
16683
|
-
registerPlugin(
|
|
20257
|
+
registerPlugin(pluginName2, metadata) {
|
|
16684
20258
|
const permissions = new Set;
|
|
16685
20259
|
permissions.add("storage" /* STORAGE */);
|
|
16686
20260
|
if (metadata.permissions && Array.isArray(metadata.permissions)) {
|
|
@@ -16728,25 +20302,25 @@ class PluginPermissionManager {
|
|
|
16728
20302
|
permissions.add("ui:forms" /* UI_FORMS */);
|
|
16729
20303
|
permissions.add("ui:modals" /* UI_MODALS */);
|
|
16730
20304
|
}
|
|
16731
|
-
this.permissions.set(
|
|
16732
|
-
logger.debug({ pluginName, permissions: Array.from(permissions) }, "Registered plugin permissions");
|
|
20305
|
+
this.permissions.set(pluginName2, permissions);
|
|
20306
|
+
logger.debug({ pluginName: pluginName2, permissions: Array.from(permissions) }, "Registered plugin permissions");
|
|
16733
20307
|
}
|
|
16734
|
-
hasPermission(
|
|
16735
|
-
const perms = this.permissions.get(
|
|
20308
|
+
hasPermission(pluginName2, permission) {
|
|
20309
|
+
const perms = this.permissions.get(pluginName2);
|
|
16736
20310
|
if (!perms) {
|
|
16737
|
-
logger.warn({ pluginName, permission }, "Plugin not registered in permission manager");
|
|
20311
|
+
logger.warn({ pluginName: pluginName2, permission }, "Plugin not registered in permission manager");
|
|
16738
20312
|
return false;
|
|
16739
20313
|
}
|
|
16740
20314
|
return perms.has(permission);
|
|
16741
20315
|
}
|
|
16742
|
-
hasPermissions(
|
|
16743
|
-
return requiredPermissions.every((perm) => this.hasPermission(
|
|
20316
|
+
hasPermissions(pluginName2, requiredPermissions) {
|
|
20317
|
+
return requiredPermissions.every((perm) => this.hasPermission(pluginName2, perm));
|
|
16744
20318
|
}
|
|
16745
|
-
getPermissions(
|
|
16746
|
-
return this.permissions.get(
|
|
20319
|
+
getPermissions(pluginName2) {
|
|
20320
|
+
return this.permissions.get(pluginName2) || new Set;
|
|
16747
20321
|
}
|
|
16748
|
-
getSandboxAttributes(
|
|
16749
|
-
const perms = this.permissions.get(
|
|
20322
|
+
getSandboxAttributes(pluginName2) {
|
|
20323
|
+
const perms = this.permissions.get(pluginName2);
|
|
16750
20324
|
if (!perms) {
|
|
16751
20325
|
return "allow-scripts";
|
|
16752
20326
|
}
|
|
@@ -16762,8 +20336,8 @@ class PluginPermissionManager {
|
|
|
16762
20336
|
}
|
|
16763
20337
|
return Array.from(sandboxAttrs).join(" ");
|
|
16764
20338
|
}
|
|
16765
|
-
getCSP(
|
|
16766
|
-
const perms = this.permissions.get(
|
|
20339
|
+
getCSP(pluginName2) {
|
|
20340
|
+
const perms = this.permissions.get(pluginName2);
|
|
16767
20341
|
if (!perms) {
|
|
16768
20342
|
return "default-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'";
|
|
16769
20343
|
}
|
|
@@ -16783,7 +20357,7 @@ class PluginPermissionManager {
|
|
|
16783
20357
|
cspDirectives.push("base-uri 'self'");
|
|
16784
20358
|
return cspDirectives.join("; ");
|
|
16785
20359
|
}
|
|
16786
|
-
canAccessAPI(
|
|
20360
|
+
canAccessAPI(pluginName2, apiPath) {
|
|
16787
20361
|
const apiPermissionMap = {
|
|
16788
20362
|
"/api/plugins": "api:plugins" /* API_PLUGINS */,
|
|
16789
20363
|
"/api/routes": "api:routes" /* API_ROUTES */,
|
|
@@ -16791,14 +20365,14 @@ class PluginPermissionManager {
|
|
|
16791
20365
|
};
|
|
16792
20366
|
for (const [prefix, permission] of Object.entries(apiPermissionMap)) {
|
|
16793
20367
|
if (apiPath.startsWith(prefix)) {
|
|
16794
|
-
return this.hasPermission(
|
|
20368
|
+
return this.hasPermission(pluginName2, permission);
|
|
16795
20369
|
}
|
|
16796
20370
|
}
|
|
16797
20371
|
return true;
|
|
16798
20372
|
}
|
|
16799
|
-
unregisterPlugin(
|
|
16800
|
-
this.permissions.delete(
|
|
16801
|
-
logger.debug({ pluginName }, "Unregistered plugin permissions");
|
|
20373
|
+
unregisterPlugin(pluginName2) {
|
|
20374
|
+
this.permissions.delete(pluginName2);
|
|
20375
|
+
logger.debug({ pluginName: pluginName2 }, "Unregistered plugin permissions");
|
|
16802
20376
|
}
|
|
16803
20377
|
clear() {
|
|
16804
20378
|
this.permissions.clear();
|